排序:
默认
按更新时间
按访问量

JVM学习笔记——线程安全与锁优化

线程安全定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。java语言中的线程安全讨论线程安全有一个前提,即多个线程之间存在共享数据访问。按...

2017-03-20 19:37:25

阅读数:405

评论数:0

JVM学习笔记——java内存模型与线程(2)

Java与线程并发不一定要依赖多线程(如PHP中很常见的多进程并发),但是在Java里面谈论并发,大多数都与线程脱不开关系。线程的实现线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、 文件I/O等),又可以独立调度(线程...

2017-03-17 21:14:54

阅读数:416

评论数:0

JVM学习笔记——java内存模型与线程(1)

概述多任务处理出现的重要原因是计算机的运算速度与存储及通信子系统的速度差距太大,大量的时间花费在磁盘I/O,数据库访问或者数据库访问上。除了充分利用计算机处理器的能力外,一个服务端同时对多个客户端提供服务则是另一个更具体的并发应用场景,对于计算量相同的,程序并发协调的越有条不紊,效率自然就高,反之...

2017-03-17 20:44:13

阅读数:497

评论数:0

JVM学习笔记——垃圾收集器与内存分配策略(2)

垃圾收集器java虚拟机规范中并没有对垃圾收集器如何实现有任何规定,因此,不同的厂商,不同版本的虚拟机所提供的垃圾收集器可能会有很大差别,这里只讨论基于JDK1.7之后的HotSpot虚拟机。这个虚拟机包括的收集器如下图所示: 上图展示了7种不同的垃圾收集器,如果两个垃圾收集器中存在连线,就...

2017-03-14 18:29:09

阅读数:154

评论数:0

JVM学习笔记——垃圾收集器与内存分配策略(1)

概述上一篇文章介绍了java运行时内存的各个区域,其中虚拟机栈,程序计数器,本地方法栈三个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出有条不紊的执行着出栈与入栈的操作,每一个栈帧分配多少内存基本是类结构确定下来就已知的。因此,这几个区域的内存回收都具有确定性,在这几个区域不必过多的考...

2017-03-11 14:21:28

阅读数:263

评论数:0

JVM学习笔记——Java内存区域与内存溢出异常

运行时数据区域其中,其中Method Area 和 Heap 是线程共享的 ,VM Stack,Native Method Stack 和Program Counter Register 是非线程共享的。JVM初始运行的时候都会分配好 Method Area(方法区) 和Heap(堆) ,而...

2017-03-08 16:06:57

阅读数:323

评论数:0

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