JVM
文章平均质量分 67
孙小程
一个有追求的码农不应该满足于达到日常工作CRUD的要求,很多技术你还不知道自己不知道,只有学了才知道对自己有没有用
展开
-
常用JVM参数
-Xmx:最大堆内存;如:-Xmx1024m-Xms:初始堆内存,建议与最大堆内存设置为一样,避免动态扩展;如:-Xms1024m原创 2020-04-18 09:20:29 · 436 阅读 · 0 评论 -
常见JVM指令一览
字节码指令是基于栈的,很多从源码无法解释的问题都可以从字节码层面解释,以下为常见的字节码指令,供自己和大家参考栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将...原创 2020-03-21 22:12:42 · 720 阅读 · 0 评论 -
JVM运行时数据区(基于JDK8,结合字节码以及自己的理解)
JVM和并发和Java中两个高级主题,今天来聊下JVM组成中的一部分,也是跟我们日常工作联系最紧密的JVM运行时数据区。先来个JVM整体的结构图:我们编写的源文件经过编译器(如Javac编译器,Java虚拟机也是跨平台的,其他语言如JRuby等其他语言可以由自己语言的编译器进行源码到字节码的编译)编译为存储字节码的Class文件后,后续的工作就由Java虚拟机接管了。类加载子系统把描述类的数...原创 2020-03-14 22:45:13 · 545 阅读 · 0 评论 -
Java中init和clinit方法是什么
Java中和是什么在具体描述这两个方法之前,先来看看小伙伴们实际可能遇到这两个方法的场景:先说下方法,当我们DEBUG静态代码块时。比如下面一道题:问会输出多少?具体输出多少小伙伴可以自行试验。我们关注的是当我们DEBUG到11行代码时,DEBUG窗口下会是这样:标红的位置就是方法。我们也可以把代码稍作调整,在staic代码块中抛出一个运行时异常,看下异常信息的堆栈,截图如下:从...原创 2020-03-06 22:00:57 · 1380 阅读 · 0 评论