摘要:
参考博客1:http://www.cnblogs.com/exe19/p/5359885.html参考博客2:http://www.jianshu.com/p/87bff5cc8d8c 1 . 线程池的体系结构 2 .线程池的使用 3 . ThreadPoolExecutor类 构造方法 publi 阅读全文
摘要:
1 . wait() 方法使当前执行代码的线程进行等待,将当前线程置入"预执行队列",并且在wait()方法所在处停止执行,直到接到通知或者中断。 在调用wait之前,线程必须获得该对象的对象级别锁,即只能在同步方法或者同步代码块中才能调用wait方法。 调用wait()方法后当前线程自动释放锁。在 阅读全文
摘要:
1 . 多个线程访问多个对象JVM会创建多个锁。2 . 静态方法是以类为单位进行同步的——对于同一个类中的所有静态方法,在同一时间内,只允许有一个线程执行其中的一个静态方法,其余想要进入这些方法的线程都必须挂起等待。非静态方法是以对象为单位进行同步的。3 .假设现有两个线程A和B,一个object对 阅读全文
摘要:
一 . 在java中有以下三种方法可以停止正在运行的线程: 1 . 使用退出标志使线程正常退出,也就是当run方法完成后线程终止2 . 使用stop() 方法强行终止线程,但是不推荐这么做,因为stop()方法和suspend()及resume()方法一样是不安全的,使用它们可能产生不可预料的结果3 阅读全文
摘要:
StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上StringBuilder类更高,但是在多线程环境中则应该使用StringBuffer,String类是final的,所有改变S 阅读全文
摘要:
1.JVM管理的内存包含下图所示的几个运行时数据区域,其中方法区和堆为线程共享的数据区域,程序计数器,虚拟机栈以及本地方法栈为线程私有的数据区域。 程序计数器:可以看做是当前线程所执行的字节码的行号指示器,告诉字节码解释器该读取哪条指令 虚拟机栈:生命周期和线程相同,每个方法在执行的同时都会创建一个 阅读全文
摘要:
一 . 类加载机制 类加载机制是指.class文件加载到jvm并形成Class对象的机制。之后应用可对Class对象进行实例化并调用。类加载机制可在运行时动态加载外部的类,还可以达到类隔离的效果。 类从而加载到虚拟机中开始,整个过程分为下图七个阶段,其中验证,准备,解析统称为解析。图中加载,验证,准 阅读全文
摘要:
参考博客: 深入理解mybatis原理: http://blog.csdn.net/luanlouis/article/details/40422941 一 . JDBC的工作流程: 加载数据库的驱动程序->创建数据连接对象->创建Statement对象->执行SQL语句->处理返回结果集->关闭数 阅读全文
摘要:
一 .IOC的概念 : IOC (Inversion of Control) 即控制反转,首先我们要搞清楚什么被反转了。java程序中的业务逻辑大都需要多个对象来协作完成,通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作。这样一来对象间的 阅读全文
摘要:
1 . AOP的概念:AOP(Aspect Oriented Programming),即面向切面编程,它是对OOP(Object Oriented Programming)的补充和完善.OOP引入封装、继承和多态等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公 阅读全文
摘要:
一 . IO 1 . io流根据处理数据类型的不同分为字节流(InputStream和OutputStream)和字符流(Reader和Writer);根据数据流向的不同分为输入流(InputStream和Reader)和输出流(OutputStream和Writer)。 2 . 字节流和字符流的区 阅读全文