首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java虚拟机
订阅
多变小生
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
深入理解 Java 反射和动态代理
反射(Reflection)是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。 通过反射机制,可以在运行时访问 Java 对象的属性,方法,构造方法等。 开发通用框架 - 反射最重要的用途就是开发各种通用框架。很…
论JVM爆炸的几种姿势及自救方法
如今不管是在面试还是在我们的工作中,OOM总是不断的出现在我们的视野中,所以我们有必要去了解一下导致OOM的原因以及一些基本的调整方法,大家可以通过下面的事例来了解一下什么样的代码会导致OOM,帮助我们以后在工作中能够通过异常信息来判断是JVM里面哪个区域出现了问题。 先介绍一…
Java 虚拟机总结给面试的你(下)
本篇博客主要针对Java虚拟机的晚期编译优化,Java内存模型与线程,线程安全与锁优化进行总结,其余部分总结请点击Java虚拟总结上篇 ,Java虚拟机总结中篇。 即时编译器JIT的作用就是热点代码转换为平台相关的机器码,并进行优化,它并不是一个虚拟机所必须的部分,只能说有它是…
JVM内存模型
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 线程私有,它的生命周期与线程相同。 可以看做是当前线程所执…
JVM面试问题系列:JVM 配置常用参数和常用 GC 调优策略
如上表所示,目前主要有串行、并行和并发三种,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种。并行和并发 GC 的策略通过 UseParallelGC 和 UseConcMarkSweepGC 来指定,还有一些细节的配置参数用来配置策略的执行方式。例如:X…
JVM类加载过程
在Java语言里,编译时并不进行链接工作,类型的加载、链接和初始化工作都是在Java虚拟机执行过程中进行的。在Java程序启动时,Java虚拟机通过加载指定的类,然后调用该类的main方法而启动。在JVM启动过程中,外部class字节码文件会经过一系列的过程转化为JVM中执行的…
浅析Java程序的执行过程
通过两种方式来检测java程序执行过程,手写方式和编译器方式。 1. 用notepad++手写一个java程序,并保存为JavaRunProcess.java。 2. 用javac.exe将刚保存的JavaRunProcess.java文件编译成JavaRunProcess.c…
浅析 Java 虚拟机结构与机制
本文旨在给所有希望了解 JVM(Java Virtual Machine)的同学一个概念性的入门,主要介绍了 JVM 的组成部分以及它们内部工作的机制和原理。当然本文只是一个简单的入门,不会涉及过多繁杂的参数和配置,感兴趣的同学可以做更深入的研究,在研究 JVM 的过程中会发现,其实 JVM 本身就是一个计算机体系结构,很多原理和我们平时的硬件、微机原理、操作系统都有十分相似的地方,所以学习 JVM 本身也是加深自我对计算机结构认识的一个很好的途径。
一次 JVM FullGC 的排查过程及解决方案!
也就是 FullGC 触发的原因是因为Metaspace大小达到了GC阈值。在监控系统里面看了一下Metaspace的大小变化趋势,如下图所示: 按照以往的经验,Metaspace在系统稳定运行一段时间后占用空间应该比较稳定才对,但是从上图来看,Metaspace显然是呈现大幅…
理解Java内存模型
最近重新学习一遍《深入学习Java虚拟机》,把之前Java内存模型中模糊的知识重新梳理一遍,这篇文章主要介绍模型产生的问题背景,解决的问题,处理思路,相关实现规则,环环相扣,希望读者看完这篇文章后能对Java内存模型体系产生一个相对清晰的理解,知其然而知其所以然。 在介绍Jav…