java 线程安全 Lock详解

 java.util.concurrent.locks   对于线程安全我们前面使用了synchronized关键字,对于线程的协作我们使用Object.wait()和Object.notify()。在JDK1.5中java为我们提供了L...

java 线程安全 synchronized详解

一、线程安全问题: 并发编程的原则:设计并发编程的目的是为了使程序获得更高的执行效率,但绝不能出现数据一致性(数据准确)问题,如果并发程序连最基本的执行结果准确性都无法保证,那并发编程就没有任何意义。 为什么会出现数据不正确:   如...

java 线程的终止与线程中断详解

关于线程终止:  1、一般来讲线程在执行完毕后就会进入死亡状态,那该线程自然就终止了。  2、一些服务端的程序,可能在业务上需要,常驻系统。它本身是一个无穷的循环,用于提供服务。那对于这种线程我们该如何结束它呢。  一、线程的终止&n...

java 线程协作 wait(等待)与 notiy(通知)详解

一.wait()、notify()和notifyAll() 为了更好的支持多线程之间的协作,JDK提供了三个重要的本地方法 //调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的锁. public f...

java 线程协作 yield()详解

yield():方法的定义 调用yield方法会让当前线程交出CPU权限,让CPU去执行其他的线程。 但是yield不能控制具体的交出CPU的时间,另外,yield方法只能让拥有相同优先级的线程有获取CPU执行时间的机会 (Yield告诉...

java 线程协作 join()详解

  在实际开发中我们往往会遇到这样的情况一个线程的执行需要依赖另一个线程执行后的结果。即主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程的处理结果,...

java 线程之executors线程池详解

一、线程池的作用   平时的业务中,如果要使用多线程,那么我们会在业务开始前创建线程,业务结束后,销毁线程。但是对于业务来说,线程的创建和销毁是与业务本身无关的,只关心线程所执行的任务。因此希望把尽可能多的cpu用在执行任务上面,而不是用...

spring 学习详解

一、spring框架介绍  Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spr...

XML 基础详解

XML的定义:可扩展的标记语言。XML中并没有预定义标签,他的一切标记需要用户自定义。 XML的作用:传输/存储数据,而非显示数据。 XML 是独立于软件和硬件的信息传输工具。 XML的意义:     &...

web应用程序性能优化详解

  web应用程序基本上都是在浏览器地址栏输入一段网站,然后进入,最后浏览器显示你想要的东西。 这就是用户所能体会到的东西。那作为程序员我们看到了什么呢? 一次HTTP 请求主要的流程是:  1、DNS服务器解析域...