摘要: volatile:只保证共享资源的可见性的,任何修改都写在主存,所有线程马上就能看到,适用于新值不依赖于旧值的情形。synchronized:保证可操作的原子性一致性和可见性。volatile和synchronized的区别: volatile仅仅使变量在值发生改变时能尽快地让其他线程知道,并不能... 阅读全文
posted @ 2015-11-14 23:49 RexWei 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 一、内存分配的策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允... 阅读全文
posted @ 2015-11-14 23:21 RexWei 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一.static关键字的用途 可以在没有创建对象的情况下来进行(方法/变量)调用。也就是,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。 1,static修饰方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以... 阅读全文
posted @ 2015-11-14 23:16 RexWei 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1,Executor、ExecutorService和ScheduledExecutorService,它们都是接口,它们的关系是ScheduledExecutorService继承ExecutorService而ExecutorService 又继承Executor。这些只要点开源码就能看得到... 阅读全文
posted @ 2015-11-14 00:30 RexWei 阅读(557) 评论(0) 推荐(0) 编辑