java虚拟机
文章平均质量分 80
LallanaLee
这个作者很懒,什么都没留下…
展开
-
centos7安装Docker详细步骤
一、安装前必读在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可。注意:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo1.查看当前的内核版本uname -r我这里是3.10 ,满足条件。2.使用 root 权限更新 yum 包(生产环境中此步操作需慎重,看自己情况,学习的话随便搞)yum -y update这个命令不是必须执行的,看个人情况,.转载 2022-03-11 08:38:52 · 974 阅读 · 0 评论 -
jvm调优
调优的目的:减少full GC的执行时间和执行次数jvm调优的基本原则:JVM调优是一个手段,但并不一定所有问题都可以通过JVM进行调优解决,因此,在进行JVM调优时,我们要遵循一些原则:大多数的Java应用不需要进行JVM优化; 大多数导致GC问题的原因是代码层面的问题导致的(代码层面); 上线之前,应先考虑将机器的JVM参数设置到最优; 减少创建对象的数量(代码层面); 减少使用全局变量和大对象(代码层面); 优先架构调优和代码调优,JVM优化是不得已的手段(代码、架构层面原创 2021-06-25 10:22:41 · 727 阅读 · 0 评论 -
JVM垃圾回收
java拥有垃圾收集机制,优点:自动内存管理,无需开发人员手动参与内存的分配与回收,这样降低内存泄漏和内存溢出的风险,将程序员从繁重的内存管理中释放出来,可以更专心地专注于业务开发。关于垃圾收集有三个经典问题:哪些内存需要回收? 什么时候回收? 如何回收?什么是垃圾?垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序的结束,被保留的空间无法被其它对象使用,甚至可能导致内存溢出。原创 2021-03-03 23:17:33 · 145 阅读 · 1 评论 -
JVM内存模型
程序在执行之前先要把java代码转换成字节码(class文件),jvm首先需要把字节码通过类加载器(ClassLoader)把文件加载到内存中运行时数据区(Runtime Data Area),而字节码文件是jvm的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器执行引擎(Execution Engine)将字节码翻译成底层系统指令再交由CPU去执行,而这个过程中需要调用其他语言的接口本地库接口(Native Interface)来实现整个程序的功能,这就是这4个...原创 2021-02-26 21:18:20 · 73 阅读 · 0 评论 -
java类加载机制
类加载过程类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。其中类加载过程包括加载、验证、准备、解析和初始化五个阶段。加载阶段:类加载器负责根据一个类的全限定名来读取此类的二进制字节流到JVM内部,并存储在运行时内存区的方法区,然后将其转换为一个与目标类型对应的java.lang.Class对象实例。这个Class对象在日后就会作为方法区中该类的各种数据的访问入口。加载阶段由类加载器负责。链接阶段:链接阶段要做的是将加原创 2021-02-26 16:52:50 · 58 阅读 · 0 评论 -
java虚拟机
虚拟机的概念所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。大名鼎鼎的Visual Box,Mware就属于系统虚拟机,它们完全是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台。 程序虚拟机的典型代表就是Java虚拟机,它专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称为Java字节码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供原创 2021-02-26 10:56:44 · 102 阅读 · 0 评论