JVM
、JCoding
自己不进步,谁也帮不了你。
展开
-
java堆、栈、堆栈的区别
1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收转载 2017-09-26 11:54:13 · 1193 阅读 · 0 评论 -
本地方法栈及native方法
最近开始看《深入理解Java虚拟机》,确实是本宝书。看到虚拟机栈和本地方法栈的区别的时候有点疑惑,因为本地方法栈为虚拟机的Native方法服务。以下转载一篇关于native方法的介绍:http://blog.csdn.net/wike163/article/details/6635321————————————分 割 线——————————今天花了两个小时把一份关于什么是Nat转载 2017-09-26 11:20:06 · 3376 阅读 · 0 评论 -
Java虚拟机的内存结构
我们都知道虚拟机的内存划分了多个区域,并不是一张大饼。那么为什么要划分为多块区域呢,直接搞一块区域,所有用到内存的地方都往这块区域里扔不就行了,岂不痛快。是的,如果不进行区域划分,扔的时候确实痛快,可用的时候再去找怎么办呢,这就引入了第一个问题,分类管理,类似于衣柜,系统磁盘等等,为了方便查找,我们会进行分区分类。另外如果不进行分区,内存用尽了怎么办呢?这里就引入了内存划分的第二个原因,就是为了方转载 2017-09-26 16:14:16 · 228 阅读 · 0 评论 -
浅析java内存模型--JMM(Java Memory Model)
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要在多线程之间互转载 2017-11-16 17:02:36 · 144 阅读 · 0 评论 -
新生代Eden与两个Survivor区的解释
文章出处:http://ifeve.com/jvm-yong-generation/转自: http://ifeve.com/jvm-yong-generation/聊聊JVM的年轻代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的转载 2017-11-17 09:47:32 · 304 阅读 · 0 评论 -
JProfiler远程监控Linux JVM
转自:https://www.cnblogs.com/beginner-boy/p/8072926.html第一步:下载软件官网地址:https://www.ej-technologies.com/download/jprofiler/files,下载一个linux服务端,一个windows客户端 GUI界面第二步:安装1、下载好后把tar包上传的linux服务器,解压。(/us...转载 2019-03-12 16:12:05 · 561 阅读 · 0 评论