• JVM 内存区域大小参数设置

    时间:2024-03-30 11:27:47

    JVM 内存区域大小参数设置 需要提前了解的知识点:JVM内存模型JVM垃圾回收算法下图是JVM内存区域划分的逻辑图JVM内存区域逻辑图从图中我们大概了解JVM相关的内存区域。JVM内存包括区域Heap(堆区)New Generation(新生代)EdenSurvivor FromSurvivor ...

  • JVM(一)——内存结构-一. 前言

    时间:2024-03-29 13:36:14

    1、什么是 JVM? 1)定义: Java Virtual Machine - java 程序的运行环境(java 二进制字节码的运行环境)2)好处: 一次编写,到处运行自动内存管理,垃圾回收功能数组下标越界检查多态3)比较: jvm jre jdk的关系如下图 2、学习 JVM 有什么用 ? 面...

  • java如何修改java.library.path并且不重启jvm也能生效

    时间:2024-03-28 22:18:34

    先说一下需求吧,目前在用JCEF实现java程序桌面版包装,源码中需要加载编译好的几个dll文件,而这些文件的路径必然是根据程序安装的路径而变化的,这就需要在程序运行的时候,去动态修改java.library.path来实现dll文件的加载最开始的时候,我想到了System.setProperty(...

  • Java多线程学习笔记——从Java JVM对多线程数据同步的一些理解

    时间:2024-03-28 09:57:47

       我们知道在多线程编程中,我们很大的一部分内容是为了解决线程间的资源同步问题和线程间共同协作解决问题。线程间的同步,通俗我们理解为僧多粥少,在粥有限情况下,我们怎么去防止大家有秩序的喝到粥,不至于哄抢都没得喝。线程讲协作,我们可以理解为我们在医院看病的时候,我们要先挂号,才能看病。现在医院有很多...

  • 使用HeapHero分析JVM-OOM日志

    时间:2024-03-28 09:27:47

    首先我们在IDE里设置JVM的参数1 首先配置好堆的最小值和最大值。暂且先设置100M吧。-Xms100m-Xmx100m 2 再配置OOM时自动生成日志以及日志路径。-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=D://temp.hprofOK,前...

  • 堆内存占用很小 但是 JVM 频繁full gc 问题排查

    时间:2024-03-28 08:59:53

    最近碰到一个头疼的Full gc 问题,系统运行缓慢,但是使用 jstat -gcutil pid工具一看,堆内存占用不到10%,为啥会这样?查看JVM配置如下 :-Xms8G -Xmx8G -XX:NewRatio=4 XX:MaxPermSize=512m -Djava.awt.headless...

  • 解决jvm GC过于频繁的问题

    时间:2024-03-28 08:59:29

    JVM配置是这样的: jre1.8, 堆的最大空间是3G,线程执行栈的大小是256K,新生代的大小是1G,老年代的大小是2G.如下图: 结果在日志发现了这个错误:Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded这个错误...

  • Java-JVM指令

    时间:2024-03-28 07:54:14

    JVM指令 1. 栈和局部变量操作 1.1 将常量压入栈的指令aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将int类型常量1压入栈 iconst_2 将int类型常量2压入栈 icon...

  • java jvm学习笔记二(类装载器的体系结构)

    时间:2024-03-27 20:06:13

    欢迎装载请说明出处:http://blog.csdn.net/yfqnihao                 在了解java虚拟机的类装载器之前,有一个概念我们是必须先知道的,就是java的沙箱,什么是java的沙箱,java的沙箱总体上经历了这么一个过程,从简单的java1.0的基础沙箱到jav...

  • 深入理解java虚拟机学习笔记(一)JVM内存模型

    时间:2024-03-27 19:04:09

    上周末搬家后,家里的宽带一直没弄好,跟电信客服反映了N遍了终于约了个师傅明天早上来迁移宽带,可以结束一个多星期没网的痛苦日子了。这段时间也是各种忙,都一个星期没更新博客了,再不写之前那种状态和激情都要慢慢褪去了,总觉得心里慌的一逼,这怎么行呢?!趁明天周末,在公司电脑上记录下这周的一些学习内容。近期...

  • jdk11中自定义java类在jvm是如何被查找、加载

    时间:2024-03-27 12:20:12

    yym带你了解jvm源码,openjdk11源码,java类jvm加载原理 jdk11中java类在jvm是如何被1查找、2加载 以下说明的是MiDept类是如何被java classloader  和  jvm加载步骤 上源代码 public static void main(String[] a...

  • java之jvm学习笔记十三(jvm基本结构)

    时间:2024-03-27 07:33:06

    java之jvm学习笔记十三(jvm基本结构)这一节,主要来学习jvm的基本结构,也就是概述。说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成图形,所以只要你有耐心,仔细,认真,并发挥你的想象力,这一章之后你会充满自信。当然,不是说看完本章,就...

  • JVM中的堆和栈到底存储了什么?

    时间:2024-03-26 14:22:27

    以下文章来自:https://www.jianshu.com/p/8a89fb6d839c,这篇文章涉及多方面知识,所以我在有些地方插入了一些更加深入的文章(方法和函数区别、指针变量、修改引用的值 与 修改引用、函数参数:形参和实参的区别)JVM数据区先上一张Java虚拟机运行时数据区中堆、栈以及方...

  • Idea中将Java程序导成exe,在没有装JVM的机器上运行

    时间:2024-03-25 22:11:52

    文章目录一、将Java程序导成jar包二、将jar包转为exe文件一、将Java程序导成jar包点击File—>Project Structure,点击Artifacts,Add一个JAR进入下图页面后,选择程序的Main Class为了要把程序所依赖的jar包全部包含进去,选择“copy t...

  • JVM terminated. Exit code=13

    时间:2024-03-25 21:23:06

    linux 下安装完成eclipse启动,报错JVM terminated. Exit code=13/usr/java/jdk1.8.0_161/bin/java-Dosgi.requiredJavaVersion=1.8[email protected]/eclipse-workspace-XX...

  • 【jvm】young gc full gc

    时间:2024-03-25 09:16:31

    几个触发老年代FULL GC的时机 1、老年代可用内存小于新生代全部对象的大小,如果没开启空间担保参数,会直接触发Full GC,所以一般空间担保参数都会打开。 2、老年代可用内存小于历次新生代GC后进入老年代的平均对象大小,此时会提前Full GC;但是"-XX:HandlePromotion...

  • 微服务项目之JVM Thread线程数飙升

    时间:2024-03-24 09:35:36

    查找步骤如下:1.找到使用的jdk,在下面找到bin目录,之后双击bin目录下jvisualvm.exe2.启动本地项目按照上图就可以监控线程数变化如果项目部署在远程服务器上,那么则需要添加远程监控选中远程->右键添加远程主机->输入远程服务器的ip地址->选中远程主机后右键添加J...

  • 一篇笔记整理JVM工作原理

    时间:2024-03-23 21:01:25

    首先要了解的数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,l...

  • Java语言与JVM中的Lambda表达式全解

    时间:2024-03-23 20:40:05

    Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法。Lambda表达式,这个名字由该项目的专家组选定,描述了一种新的函数式编程结构,这个即将出现在Java...

  • jvm提供的远程调试 简单使用

    时间:2024-03-23 09:49:15

    JVM自带远程调试功能 JVM远程调试,其实是两个虚拟机之间,通过socket通信,达到远程调试的目的; 前提 确保本地和远程的网络是开通的; 本地操作 远程操作 在启动命令参数中 把上面的内容复制进去 ...