Java中为什么要使用泛型?

         泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行...

2017-08-23 14:56:36

阅读数 435

评论数 0

JVM线程安全与锁优化

线程安全与锁优化 Java中线程安全 对共享数据的操作 1.        不可变: 不可变的对象一定是线程安全的。如String类。 2.        绝对线程安全 3.        相对线程安全 4.        线程兼容 5.        线程对立 线程安全的实现方法 1.     ...

2017-08-23 11:40:40

阅读数 157

评论数 0

Java内存模型与线程的实现

硬件的效率与一致性 基于高速缓存的存储交互很好的解决了处理器和内存的速度矛盾,但是也为计算机系统带来了更高的复杂度,因为引入了一个新问题:缓存一致性。在多处理器系统中,每个处理器都有自己的高速缓存,而他们又共享同一主内存(Main Memory),如上图所示。当多个处理器的运算任务都涉及到主内存中...

2017-08-23 11:38:07

阅读数 57

评论数 0

JVM类文件结构

本文是基于周志明的《深入理解Java虚拟机》 Class类文件结构   Class文件     1).是一组以8字节为基础单位的二进制流,  &...

2017-08-23 11:35:18

阅读数 64

评论数 0

JVM垃圾回收算法与内存管理策略

3.2对象已死吗?3.2.1 引用计数法给对象添加一个引用计数器,每当有一个地方引用它的地方,计数器值+1;当引用失效,计数器值就减1;任何时候计数器为0,对象就不可能再被引用了。 它很难解决对象之间相互循环引用的问题。 3.2.2 可达性分析算法这个算法的基本思路就是通过一系列的称为“GC ...

2017-08-23 11:31:16

阅读数 110

评论数 0

[深入理解JVM] Java对象的创建、内存布局、访问定位

对象的创建 一个简单的创建对象语句Clazz instance = new Clazz();包含的主要过程包括了类加载检查、对象分配内存、并发处理、内存空间初始化、对象设置、执行ini方法等。 主要流程如下: 1. 类加载检查 JVM遇到一条new指令时,首先检查这个指令的参数是否能在...

2017-08-18 16:37:07

阅读数 76

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭