随笔分类 - JVM
jvm
摘要:基础命令 help——查看命令帮助信息 cat——打印文件内容,和linux里的cat命令类似 echo–打印参数,和linux里的echo命令类似 grep——匹配查找,和linux里的grep命令类似 tee——复制标准输入到标准输出和指定的文件,和linux里的tee命令类似 pwd——返回当
阅读全文
摘要:Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上
阅读全文
摘要:占个位置,暂时没时间深入,后续再补上
阅读全文
摘要:java内存模型(Java Memory Model,JMM)是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同的平台上都能达到内存访问的一致性。可以避免像c++等直接使用物理硬件和操作系统的内存模型在不同操作系统和硬
阅读全文
摘要:占个位置,暂时没时间深入,后续再补上
阅读全文
摘要:占个位置,暂时没时间深入,后续再补上
阅读全文
摘要:在Class文件格式与执行引擎这部分中,用户的程序能直接影响的内容并不太多,Class文件以何种格式存储,类型何时加载、如何连接,以及虚拟机如何执行字节码指令等都是由虚拟机直接控制的行为,用户程序无法对其进行改变。能通过程序进行操作的,主要是字节码生成与类加载器这两部分的功能 1. 案例分析 1.1
阅读全文
摘要:1.概述 在不同的虚拟机实现里面,执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择 2..运行时栈帧结构 栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(Virt
阅读全文
摘要:类加载的过程(加载、验证、准备、解析、初始化);类加载器(启动类加载器,扩展类加载器,应用程序类加载器,自定义类加载器);双亲委派模型; 1.虚拟机的类加载机制: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型 2.类的
阅读全文
摘要:抽空写个简单程序,然后一步步解析下,如: https://www.bilibili.com/video/BV1xJ41167VH
阅读全文
摘要:一.class类文件的结构 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。 根据Java虚拟机规范的规定,Class文件格式采用一种类
阅读全文
摘要:没有实际环境操作,感觉还是空泛。。。。。。先梳理理论知识,后续再作补充!
阅读全文
摘要:JDK的命令行工具(jps:虚拟机进程状况工具,jstat:虚拟机统计信息监视工具,jinfo:Java配置信息工具,jmap:Java内存映像工具,jhat:虚拟机堆转储快照分析工具,jstack:Java堆栈跟踪工具);可视化工具(JConsole,VisualVM) 一. JDK的命令行工具
阅读全文
摘要:堆划分;Minor GC和Full GC的区别;内存分配与回收策略(对象优先在Eden分配,大对象直接进入老年代,长期存活的对象将进入老年代,动态对象年龄判定,空间分配担保策略); 前言: 对象的内存分配,从大方向讲就是在堆上分配,对象主要分配在新生代的Eden区上,当然分配的规则并不是固定的,其细
阅读全文
摘要:JVM(HotSpot) 7种垃圾收集器的特点及使用场景(Serial收集器,ParNew收集器,Parallel Scavenge(并行回收)收集器,Serial Old 收集器,Parallel Old 收集器,CMS收集器,G1收集器);理解GC日志;垃圾收集器的参数总结; 7. JVM(Ho
阅读全文
摘要:判定对象是否可以被回收;可作为GC Roots的对象包括;java引用分类;判断一个常量是否是“无用的类”;垃圾收集算法(标记-清除算法,复制算法,标记-整理算法,分代收集算法);HotSpot的算法实现; 1 判定对象是否可以被回收 1.1 引用计数算法 给对象中添加一个引用计时器,每当有一个地方
阅读全文
摘要:JVM运行时数据区域;HostSpot虚拟机对象创建(java堆给对象分配内存的方式,解决对象内存分配的线程安全方案,对象内存布局,对象的访问定位,异常实例); 1.JVM运行时数据区域: 方法区(Method Area) -- 运行时常量池 堆(Heap) Java虚拟机栈(Java Virtua
阅读全文
摘要:java技术体系;java发展史;Java虚拟机的发展史; 1.java技术体系: java card : java小程序 java me: 移动终端(手机,PDA) java se : 桌面级应用 java ee : 企业级应用 2.java发展史 1995年5月23日,Java语言诞生 1996
阅读全文
浙公网安备 33010602011771号