为什么要学习Java对象头 学习Java对象头主要是为了解synchronized底层原理,synchronized锁升级过程,Java并发编程等。 JAVA对象头 由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这 ...
分类:
编程语言 时间:
2020-11-11 15:48:11
阅读次数:
7
  引用计数法 原理:对象中添加一个引用计数器。被引用则累计。则计数器中数值大于0,则代表仍然被引用,不能被回收。 缺点:不能解决循环引用的情况。 (2) 可达性分析法 原理:从一些 ...
分类:
其他好文 时间:
2020-11-10 10:27:32
阅读次数:
8
输入与输出 将数据读入到虚拟机中==>输入 将数据从内部到外部存储起来或显示出来(如输出到控制台)==>输出 IO概念 在传输数据的时候,需要一个流(对象)的概念。而流简单而言就是内存与存储设备之间传输数据的通道,管道 JVM(虚拟机) 磁盘上的文件作为数据源。 流< 文件 虚拟机 将磁盘上的文件传 ...
分类:
编程语言 时间:
2020-11-08 17:17:06
阅读次数:
22
我们知道C/C++语言中有断言的功能(assert)。在Java SE 1.4版本以后也增加了断言的特性。 断言是为了方便调试程序,并不是发布程序的组成部分。理解这一点是很关键的。 默认情况下,JVM是关闭断言的。因此如果想使用断言调试程序,需要手动打开断言功能。在命令行模式下运行Java程序时可增 ...
分类:
编程语言 时间:
2020-11-07 17:47:05
阅读次数:
23
进程信息jpsjps -l 输出应用程序main.class的完整package名或者应用程序jar文件完整路径名jps -v 输出传递给JVM的参数 查看正在运行的java程序的扩展参数jinfo 16439 线程信息 jstack 更多https://www.cnblogs.com/duanxz ...
分类:
其他好文 时间:
2020-11-07 17:45:11
阅读次数:
22
TechRoad 1. Architecture <Java Application architecture> modular, Spring context config <EIS> technology decision, base eis-platform-brms <MS PPP> cha ...
分类:
其他好文 时间:
2020-11-07 16:51:15
阅读次数:
24
一. 现象 前段时间公司线上环境的一个Java应用因为OOM的异常报警,导致整个服务不可用被拉出集群,本地模拟重现的现象如下: 当时的解决方案是增加metaspace的容量:-XX:MaxMetaspaceSize=500m,从原来默认的256m改为500m,虽然没有再出现oom,但这个只是临时解决 ...
分类:
Web程序 时间:
2020-11-07 15:33:27
阅读次数:
22
1. 异常的概念 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将 受影响. 在程序中的意思就是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据。 要打开的文 ...
分类:
编程语言 时间:
2020-11-06 02:38:57
阅读次数:
21