摘要: 一. final用于声明属性,方法,和类,表示属性不可变,方法不可覆盖,类不能继承 finally是异常处理中必须执行的代码 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法 供垃圾收集时的其他资源的回收,所有的类都可以重写这个方法.例如做关闭流,关闭文件, 阅读全文
posted @ 2017-03-04 23:46 我_会飞的鱼 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 一.自旋锁和自适应自旋锁 自旋锁:不让线程挂起,(需要一个以上的处理器)让其短时间(可以设定,超时则挂起线程)执行一个忙循环, 自适应自旋锁:不固定等待时间,由虚拟机自行判断是否挂起(类似人工智能) 二.锁消除 编译器运行时,消除实现同步被检测到不可能存在共享数据竞争的锁消除,(其实是大部分消除ja 阅读全文
posted @ 2017-03-04 00:34 我_会飞的鱼 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一.java中共享数据分为以下5类 1.不可变,即被final修饰如java.lang.String类的对象就是不可变对象,调用replace()等方法,都不会影响原来的值,只会返回一个新的字符串对象,Long等包装类型也是不可变 2.绝对线程安全.javaAPI中标注是线程安全的类,大多不是绝对安 阅读全文
posted @ 2017-03-04 00:16 我_会飞的鱼 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 一.作用: 1. 保证被volatitle修饰的变量对所有的线程是可见的,即当一个线程修改了这个变量 新值对其他线程来说是可以立即得知的,但运算非原子操作,不能保证并发下的安全性 (即i=i++当读出i的值是最新的,但+的过程中i的值被其他线程改变了) 普通变量的值在线程传递需要通过主内存来完成(即 阅读全文
posted @ 2017-03-03 22:38 我_会飞的鱼 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 1.内存分配: a.优先在新生代Eden区分配.Eden区没有足够的空间时,虚拟机发起一次Minor GC. (Major GC 是清理永久代。Minor GC 会清理年轻代的内存,Full GC 是清理整个堆空间—包括年轻代和永久代) b.大对象(需要大量连续内存空间的Java对象)直接进入老年代 阅读全文
posted @ 2017-03-03 21:39 我_会飞的鱼 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1.java虚拟机运行时数据区 a.程序计数器: 是当前线程所执行的字节码的行号指示器.如果是执行虚拟机字节码,则记录的是指令的地址 如果执行的是Native方法,计数器为空(Undefined). 计数器是线程私有的 b.java虚拟机栈: 线程私有的 生命周期和线程相同,每个方法执行的时候会创建 阅读全文
posted @ 2017-03-03 13:17 我_会飞的鱼 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 1.同步和锁 java中每个对象都有一个内置锁,程序执行非静态的synchronized同步方法时,自动获得执行该方法的对象有关的锁. 一个对象只有一个锁,当一个线程获得锁,其他线程不能进入该对象上的synchronized方法或代码块.直到锁被释放. 线程可以有多个锁,例如,一个对象的同步方法中调 阅读全文
posted @ 2017-03-02 23:54 我_会飞的鱼 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1.简介 1.CopyOnWrite是程序优化的策略,当共享的内容需要修改时,复制出去一份进行修改,然后将原来的引用指向修改完的 2.java并发包(java.util.concurrent)中CopyOnWriteArrayList和CopyOnWriteArraySet实现了这个并发容器 3.好 阅读全文
posted @ 2017-03-02 00:49 我_会飞的鱼 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 1.LinkedHashSet:继承于HashSet,基于LinkedHashMap来实现.底层是LinkedHashMap实现 Set接口的一个实现.和HashSet的区别,LinkedHashSet维护一个双重链接列表,定义了迭代顺序可为插入顺序,或者是访问顺序. 2.只有四个构造方法 指定初始 阅读全文
posted @ 2017-02-27 23:39 我_会飞的鱼 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 1.LinkedHashMap 是HashMap的一个子类.是Map接口的哈希表和链表的实现.是有序的HashMap 维护着一个双重链接列表,不是同步的. 可以按插入顺序的链表和访问顺序的链表.默认是按插入顺序排序 2.成员变量: 重新定义了HashMap中的Entry,除了保存当前对象的引用外,还 阅读全文
posted @ 2017-02-27 23:22 我_会飞的鱼 阅读(182) 评论(0) 推荐(0) 编辑