Fork me on GitHub

随笔分类 -  JVM

摘要:1. 前言 上文介绍了HotSpot编译和调试的方法,而这篇文章将迈出正式调试的第一步——调试HotSpot的启动过程。 学习启动过程可以帮助我们了解程序的入口,并对虚拟机的运行有个整体的把握,方便日后深入学习具体的一些模块。 2. 整体感知启动过程 整体的感知启动过程可以在启动时添加_JAVA_L 阅读全文
posted @ 2021-01-07 20:14 insaneXs 阅读(1030) 评论(0) 推荐(0)
摘要:前文 JVM对许多Java程序员是一个黑盒子,经常需要与它打交道,但是又搞不清内部的原理。 我出于以下几个目的决定对JVM内部做一些学习: 之前对虚拟机的了解停留在理论层面上,通过学习,做到知其然,知其所以然 工作中可能涉及JNI的一些调试,JNI接口的C++端离不开JVM相关的结构和函数 在了解虚 阅读全文
posted @ 2020-12-21 12:24 insaneXs 阅读(2047) 评论(0) 推荐(1)
摘要:事情是这样的,之前我封装了一个ModbusTCP通信的库(见Github,BUG已修复)。但是最近其他同事在用这个库做开发的时候,发生了OOM的问题: 16:15:17.972 ERROR 26403 [pool-6-thread-1] c.lanxincn.wcs.hxb.detector.PLC 阅读全文
posted @ 2020-08-08 22:59 insaneXs 阅读(606) 评论(0) 推荐(0)
摘要:二刷《深入理解Java虚拟机》的时候,发现看类文件结构这章依旧云里雾里。因为类文件中的结构实在太多了,尤其在涉及表的时候,经常会出现表中嵌套表的情况。 有协议学习经验的同学一定知道最快了解一种协议的方法就是参照规则自己将协议解析一次。众所周知类文件中存的也是字节(所以class文件也叫字节码文件), 阅读全文
posted @ 2020-07-14 19:35 insaneXs 阅读(428) 评论(0) 推荐(0)
摘要:结论 为了加深印象,先把结论放在文章开头。 ++ Java中只有值传递 ++。 形参与实参 在理解Java的值传递 实参Argument 实际参数,主调用函数传递给调用函数的参数 形参Parameter 形式参数,并非实际存在的变量,只在函数定义的函数内部使用。在调用函数时,实参将会给形参赋值,从而 阅读全文
posted @ 2019-12-07 15:14 insaneXs 阅读(868) 评论(1) 推荐(1)
摘要:贴出原文连接:重磅!Java 内存管理白皮书,读完它,java 内存管理的问题完全 NO Problem! 读了一遍,对并行的垃圾回收还不是很理解,先mark,消化消化再学习。 文章说的一些JVM设置的参数其实我们在项目开发中多少都有遇见。像设置新生代,永久代堆的大小等。读完这篇文章,对这些参数有了 阅读全文
posted @ 2017-04-25 14:21 insaneXs 阅读(251) 评论(0) 推荐(0)