随笔分类 -  jvm

摘要:1、什么是类加载 类加载其实是在硬盘上查找通过io读入字节码文件(class文件)并加载到jvm方法区,在加载过程中会在堆内存中生成一个代表这个类的java.lang.Class对象,Class对象封装了类在方法区内的数据结构,并且提供了访问方法区内部数据结构的接口。 加载.calss文件的方式: 阅读全文
posted @ 2022-03-13 01:10 huyang0726 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1、功能 jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。 2、位置 jstat 命令位于$JAVA_HOME/bin目录下 3、用法 命令的格式如下: jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] 参数解 阅读全文
posted @ 2022-02-28 23:04 huyang0726 阅读(896) 评论(0) 推荐(1) 编辑
摘要:1、功能 jinfo 是jdk自带的命令,用来查看正在运行的java应用程序的扩展参数,包括java System属性和jvm命令行参数; 也可以动态修改正在运行的jvm一些参数,当系统崩溃时jinfo可以从core文件里面知道崩溃的java应用程序的配置信息 2、位置 jinfo 命令位于$JAV 阅读全文
posted @ 2022-02-27 23:26 huyang0726 阅读(369) 评论(0) 推荐(0) 编辑
摘要:1、功能 jstack 是jvm自带的java线程堆栈跟踪工具,用于打印指定java进程的id、core file、远程调试服务的java堆栈信息 jstack命令用于生成虚拟机当前时刻的线程快照。 线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么 阅读全文
posted @ 2022-02-27 22:22 huyang0726 阅读(1258) 评论(0) 推荐(0) 编辑
摘要:1、功能 jmap 主要用于打印指定java进程的堆内存信息。可以使用jmap生成Heap Dump,查看堆内存对象示例的统计信息、查看ClassLoader的信息 2、位置 jmap 命令位于$JAVA_HOME/bin目录下 3、jmap 的用法 参数: option 选项参数 pid 需要打印 阅读全文
posted @ 2022-02-27 21:48 huyang0726 阅读(1875) 评论(0) 推荐(0) 编辑
摘要:1、功能 jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前用户的所有java进程pid的命令 如下; 2、位置 jps 命令位于$JAVA_HOME/bin目录下 3、jps 用法 没有添加参数的时候,默认列出vm的标识符号 阅读全文
posted @ 2022-02-22 22:58 huyang0726 阅读(1030) 评论(0) 推荐(0) 编辑
摘要:1、JVM中执行字节码new指令时: 1.1、分配内存 分配策略有两种方式:(1)指针碰撞 当JVM内存区域是连续的规整的,所有用过的内存都放在一边,空闲的内存都放在另外一边,中间放着 指针作为分界点的指示器,再分配内存的时候,只需将指针移动对象大小的距离就可以 (2)空闲列表,当JVM内存区域不是 阅读全文
posted @ 2019-11-25 23:38 huyang0726 阅读(377) 评论(0) 推荐(0) 编辑
摘要:1、jvm分类 1.1.Hotspot VM 是之前使用最广泛的Java虚拟机, 1.2.JRockit VM 是BEA 开发的一款虚拟机是 号称 "运行最快的java虚拟机"、 1.3.J9 VM 是IBM开发的一款虚拟机 1.4.Dalvik Vm 是Google 开发的一款移动端虚拟机 1.5 阅读全文
posted @ 2019-11-24 18:36 huyang0726 阅读(130) 评论(0) 推荐(0) 编辑
摘要:1. JDK概念和体系结构图、目录结构 1.1 概念 JDK(Java Development Toolkit) 包含java运行环境(JRE)和开发工具(编辑器,调试器,javadoc)。 JDK编译器javac.exe 会将.java 文件编译成字节码(.class)文件,字节码文件可以在任何平 阅读全文
posted @ 2019-06-02 19:28 huyang0726 阅读(916) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示