• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

标签:jvm

java

Java虚拟机与垃圾回收知识点梳理(二)

Java虚拟机与垃圾回收知识点梳理(二)
垃圾收集算法 如何判断一个对象是不是垃圾 引用计数法 可达性分析算法 哪些对象可以作为GC Roots Java中的对象引用分类 判定对象是否可真正回收的细节 垃圾收集算法 分代收集理论(重要) 标记-清除算法 标记-复制算法(复制算法,不适用老年代) 优化的半区复制分代策略(Appel式回收) HotSpot对Appel式回……继续阅读 »

java

JVM之JVM架构

JVM之JVM架构
JVM架构组成主要包括以下四个部分: ClassLoader(类加载器):根据特定的格式,加载字节码.class文件到内存。 ExecutionEngine(解释器):对命令(字节码)进行解析。 NativeInterface(本地接口):结合不同语言的原生库为java所有,调用其他语言的库。 RuntimeDataArea:java内存空间结构模型。 由此……继续阅读 »

java

使用jvisualVm监控本地和远程的jvm

使用jvisualVm监控本地和远程的jvm
jvisualVm是jdk自带的可视化监控工具,功能很强大,可安装各种扩展插件。本篇不打算讲解如果使用详细的功能,只讲在windows环境怎么监控本地和远端(一般是无界面的linux系统)的java进程。 1、在远程机器上添加权限策略文件      在服务器{JAVA_HOME}/bin目录建立文件:jstatd.al……继续阅读 »

java

cglib动态生成class文件以及方法区溢出

cglib动态生成class文件以及方法区溢出
https://blog.csdn.net/likaiwalkman/article/details/50635114 cglib被hibernate用来动态生成po的字节码。CGLIB的底层是java字节码操作框架ASM。 今天简单看下cglib的用法。cglib的Enhancer说起来神奇,用起来一页纸不到就讲完了。它的原理就是用Enhancer生成……继续阅读 »

java

堆外内存与堆内内存详解

堆外内存与堆内内存详解
堆外内存一直是Java业务开发人员难以企及的隐藏领域,究竟他是干什么的,以及如何更好的使用呢?那就请跟着我进入这个世界吧。 一、什么是堆外内存 1、堆内内存(on-heap memory)回顾堆外内存和堆内内存是相对的二个概念,其中堆内内存是我们平常工作中接触比较多的,我们在jvm参数中只要使用-Xms,-Xmx等参数就可以设置堆的大小和最大值,理解jv……继续阅读 »

java

java堆、栈、堆栈,常量池的区别,史上最全总结

java堆、栈、堆栈,常量池的区别,史上最全总结
先说一下栈和堆栈,我们听老一辈的程序员一般都会说堆栈,其实栈就是堆栈的意思,连着叫只是由于历史的原因。博主04年学数据结构的时候,书上都是说的堆栈,FILO(先进后出),也经常拿堆栈和队列,FIFO(先进先出)这两种数据结构拿来作比较。 系统中的堆、栈 和 数据结构堆、栈 系统中的堆、栈和数据结构堆、栈不是一个概念。可以说系统中的堆、栈是真实的内存物理区,数……继续阅读 »

java

面试必问 Java类加载机制和类加载器

面试必问 Java类加载机制和类加载器
文章目录 1. 类加载机制 2. 类加载的过程 2.1 装载(Load) 2.2 链接(Link) 2.3 初始化 3. clinit方法 4. 类加载器 5. 双亲委派模型 1. 类加载机制 所谓类加载机制就是JVM虚拟机把Class文件加载到内存,并对数据进行校验,转换解析和初始化,形成虚拟机可以直接使用的Java类型,即Java.……继续阅读 »

java

JVM性能调优实践——JVM篇

JVM性能调优实践——JVM篇
前言 在遇到实际性能问题时,除了关注系统性能指标。还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。关于性能指标分析可以参考前一篇JVM性能调优实践——性能指标分析。 JVM的调优和故障处理可以使用JDK的几个常用命令工具。因为本文是基于Docker容器内部的Springboot服务。需要调整一下docker……继续阅读 »