首页
学习
活动
专区
工具
TVP
发布

程序员奇点

公众号:程序员奇点,欢迎关注
专栏作者
284
文章
439738
阅读量
35
订阅数
如何监控和诊断堆外内存使用
JVM 还有个 Thread Local Allocation Buffer (TLAB)的概念。JVM 为每个线程分配一个私有的缓存区域,多个线程分配内存时,为避免操作同一个地址,会需要使用加锁机制,进而影响分配速度。TLAB 分配仍然在堆上,是分配在Eden 区域内的。
王小明_HIT
2020-09-24
2.1K0
并发的本质是什么?
进程是分配资源的基本单位,线程是调度的基本单位。每个线程有一组寄存器,堆栈,一个程序计数器。
王小明_HIT
2020-08-27
1.1K0
操作系统与 CPU 是怎么执行线程的?
经常提到 6 核 12 线程,4 核 8 线程是什么意思?一核会定义处理一个线程,但是为提高效率,经常会将物理虚拟成逻辑处理单元,让一个物理核为2个虚拟核,每个核两个线程。
王小明_HIT
2020-08-18
1.4K0
什么时候触发GC
所谓大对象,是指需要大量连续内存空间的java对象,例如很长的数组,此种对象会直接进入老年代,而老年代虽然有很大的剩余空间,但是无法找到足够大的连续空间来分配给当前对象,此种情况就会触发JVM进行Full GC。
王小明_HIT
2020-08-13
3.8K0
如何阅读JVM 源码
JDK中JVM(安装在本地C:\Program Files\Java\jdk1.8.0_121\jre\bin\server下jvm.dll)本身并不开源,只能找来openJDK来看(说是和JDK相似度很高)
王小明_HIT
2020-06-16
1.9K0
强引用,软引用,弱引用,幻象引用有什么区别?
不同的引用类型,主要体现的是对象的不同的可达性(reachable)状态和对垃圾收集的影响。
王小明_HIT
2020-05-25
4.1K0
synchronized 底层如何实现?什么是锁升级、降级?
synchronized 代码块是由一对 monitorenter/monitorexit 指令实现的,Monitor 对象是同步的基本实现单元。
王小明_HIT
2020-05-08
1.4K0
GC 日志分析
GC 日志分析 首先,如果需要查看 GC 日志,需要在 jvm 参数中加入如下参数 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:d:/GClogs/tomcat6-gc.log GC 日志 2016-11-23T11:01:27.738+0800: 0.150: [GC [PSYoungGen: 331K->288K(5952K)] 331K->288K(19648K), 0.0006495 secs] [Times: user=0.00 sys=
王小明_HIT
2020-05-08
1.2K0
JVM 优化思路
Full GC 的成本远高于 Mirror GC 因此某些情况下,尽量让对象进入新生代,虽然大部分情况下,JVM 会尝试在 Eden 区分配对象,但是由于空间紧张,新生代的数据会提前进入老年代。因此最大限度的避免新对象直接进入老年代。
王小明_HIT
2020-04-07
1K0
JVM 基础知识
JVM 是可运行 Java 中假想的计算机,就是在真实的计算机上模拟计算机功能,包括一套字节指令,一套寄存器,一个栈,一个垃圾回收,堆,一个存储区域,JVM 是运行在操作系统之上,它与硬件没有直接的交互。
王小明_HIT
2020-02-17
5220
【深入理解Java原理】 JVM 内存区域
Java 内存区域分成,堆,方法区,虚拟机栈,本地方法栈,程序计数器 (直接内存不是JVM内存的一部分但是有时候会导致OutOFMemory)
王小明_HIT
2019-08-23
3690
Java虚拟机--运行时数据区与内存溢出
存放的数据是JVM加载的类信息,常量,静态变量和编译器编译后的代码等,这里要注意的是JDK1.8之后已经将这个方法区删除了,使用元空间,metaspace代替了,理由有如下:
王小明_HIT
2019-08-13
4610
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档