jvm
文章平均质量分 80
Java架构闲谈
这个作者很懒,什么都没留下…
展开
-
你应该这样理解JVM内存管理
在进行Java程序设计时,一般不涉及内存的分配和内存回收的相关代码,此处引用一句话: Java和C++之间存在一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外的人想进去,墙里面的人想出来 ,个人从这两句话中,捕获到了 两个点 。获取java资料 加群:874811168 java的自动内存管理机制,极大的节省了开发人员的精力,避免了易错且复杂的内存管理设计,相对于手动的内存管理这是极大的飞跃。 ...原创 2018-09-18 17:39:48 · 162 阅读 · 0 评论 -
揭开java内存模型的神秘面纱
java并发采用的是共享内存模型,线程之间的通信对程序员来说是透明的,内存可见性问题很容易困扰着java程序员,今天我们就来揭开java内存模型的神秘面纱。 在揭开面纱之前,我们需要认识几个基础概念:内存屏障(memory Barriers),指令重排序,happens-before规则,as-if-serial语义。 什么是 Memory Barrier(内存屏障)? 内存屏障,又称内存栅栏,是...原创 2018-09-19 21:45:10 · 137 阅读 · 0 评论 -
这样看java内存模型其实很简单
java内存模型,简称JMM(Java Memory Model), 个人对于JMM理解是:JVM屏蔽了操作系统对于物理内存访问的复杂性,目的从软件设计角度呈现出的一种内存访问的逻辑视图 。也就是JMM是JVM为软件工程师提供的一系列内存访问的逻辑规则,理解并合理使用这些规则就能正确访问内存,至于底层和物理内存直接交互动作已经被透明化了,无须关心。下图是JMM内存模型视图,是内存访问规则的基础。 ...原创 2018-09-21 14:48:52 · 247 阅读 · 0 评论 -
JVM自定义类加载器加载指定classPath下的所有class及jar
一、JVM中的类加载器类型 从Java虚拟机的角度讲,只有两种不同的类加载器:启动类加载器和其他类加载器。 1.启动类加载器(Boostrap ClassLoader):这个是由c++实现的,主要负责JAVA_HOME/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作。 2.其他类加载器:由java实现,可以在方法区找到其Class对象。这里又...原创 2018-10-04 22:05:13 · 6020 阅读 · 0 评论 -
关于JVM的逃逸分析
何谓“逃逸”? 我们都知道Java中的对象默认是分配到堆上的,垃圾回收机制也会回收堆中不再使用的对象,但在此之前需要筛选可回收的对象,因此会造成,回收对象还有整理内存,都比较耗时间,开销也是非常之大。而此也是Java语言被疯狂吐槽的一地方,就是Java不支持栈上分配对象。而在我们日常开发中,内存,时间都是相当的宝贵,如何优化成为在开发中一个不可或缺的环节。 逃逸分析(Escape Analysis...原创 2018-10-07 21:14:26 · 1649 阅读 · 0 评论