Wang
Clay
JVM Clay
    欢迎来到唐僧洗头艹飘柔的博客!

性能监控与故障处理工具

性能监控与故障处理工具
JVM监控工具的作用 对jvm运行期间的内部情况进行监控,比如:对jvm参数、CPU、内存、堆等信息的查看 辅助进行性能调优 辅助解决应用运行时的一些问题,比如:OutOfMemoryError、内存泄露、线程死锁、锁争用、Java进程消耗CPU过高等等 命令行工具 jps jps(JVM Process Status Tool) : 主要用来输出JV……继续阅读 »

odliken 1年前 (2022-09-14) 178浏览 0评论 1个赞

Java高效并发

Java高效并发
Java内存模型 概述 JCP定义了一种Java内存模型,以前是在JVM规范中,后来独立出来成为JSR-133 ( Java内存模型和线程规范修订) 内存模型:在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象(怎样和内存进行交互,怎样读写内存) Java内存模型主要关注JVM中把变量值存储到内存和从内存中取出变量值这样的底层细节 所有变……继续阅读 »

odliken 1年前 (2022-09-14) 173浏览 0评论 1个赞

垃圾回收基础知识

垃圾回收基础知识
垃圾回收概述 什么是垃圾:简单说就是内存中已经不再被使用到的内存空间就是垃圾 引用计数法 给对象添加一个引用计数器,有访问就加1,引用失效就减1 (优点:实现简单、效率高;缺点:不能解决对象之间循环引用的问题) 根搜索算法 从根( GC Roots )节点向下搜索对象节点,搜索走过的路经称为引用链,当一-个对象到根之间没有连通的话,则该对象不可用 ……继续阅读 »

odliken 1年前 (2022-09-13) 217浏览 0评论 1个赞

字节码执行引擎

字节码执行引擎
概述 JVM的字节码执行引擎,功能基本就是输入字节码文件,然后对字节码进行解析并处理,最后输出执行的结果 实现方式可能有通过解释器直接解释执行字节码,或者是通过即时编译器产生本地代码,也就是编译执行,当然也可能两者皆有 栈帧概述 栈帧是用于支持JVM进行方法调用和方法执行的数据结构 栈帧随着方法调用而创建, 随着方法结束而销毁 栈帧里面存储了方法的局部……继续阅读 »

odliken 1年前 (2022-09-13) 228浏览 0评论 1个赞

JVM的简化架构

JVM的简化架构
运行时数据区 包括:PC寄存器(程序计数器)、Java虚拟机栈、Java堆、方法区、运行时常量池、本地方法栈等 PC寄存器 PC ( Program Counter )寄存器说明: 每个线程拥有一-个PC寄存器,是线程私有的,用来存储指向下一条指令的地址 在创建线程的时候,创建相应的PC寄存器 执行本地方法时, PC寄存器的值为undefined ……继续阅读 »

odliken 1年前 (2022-09-12) 166浏览 0评论 1个赞

JVM类加载、连接和初始化

JVM类加载、连接和初始化
概述 类从被加载到JVM开始,到卸载出内存,整个生命周期如图 加载:查找并加载类文件的二进制数据 连接:就是将已经读入内存的类的二进制数据合并到JVM运行时环境中去,包含如下几个步骤: 验证:确保被加载类的正确性 准备:为类的静态变量分配内存,并初始化它们 解析:把常量池中的符号引|用转换成直接弓|用 初始化:为类的静态变了赋初始值 JVM类加载……继续阅读 »

odliken 1年前 (2022-09-12) 178浏览 0评论 1个赞

认识JVM规范

认识JVM规范
JVM规范作用 Java虚拟机规范为不同的硬件平台提供了一 种编译Java技术代码的规范 该规范使Java软件独立于平台,因为编译是针对作为虚拟机的"一般机器"而做 这个“一般机器”可用软件模拟并运行于各种现存的计算机系统,也可用硬件来实现 虚拟机是Java平台无关的保障 JVM规范定义的主要内容 字节码指令集(相当于中央处理CP……继续阅读 »

odliken 1年前 (2022-09-11) 218浏览 0评论 1个赞

JVM简介

JVM简介
JVM概述 JVM : Java Virtual Machine ,也就是Java虚拟机 所谓虚拟机是指:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统 JVM是通过软件来模拟Java字节码的指令集, 是Java程序的运行环境 JVM主要功能 通过ClassLoader寻找和装载class文件 解释字节码成为指令并执行,……继续阅读 »

odliken 1年前 (2022-09-11) 224浏览 0评论 1个赞

JVM垃圾回收

JVM垃圾回收
QA 什么场景下该使用什么垃圾回收策略? 在对内存要求苛刻的场景:想办法提高对象的回收效率,多回收掉一些对象,腾出更多内存 在CPU使用率高的情况下:降低高并发时垃圾回收的频率,让SPJ更多地去执行你的业务而不是垃圾回收 垃圾回收发生在哪些区域? 堆:回收创建的对象 方法区:回收废弃的常量以及不需要使用的类 对象在什么时候能够被回收? 引用计数法……继续阅读 »

odliken 1年前 (2022-08-03) 315浏览 0评论 2个赞