网站首页 站内搜索

搜索结果

查询Tags标签: jvm,共有 1794条记录
  • Thread.start() ,它是怎么让线程启动的呢?

    作者:小傅哥博客:https://bugstack.cnGithub:https://github.com/fuzhengwei/CodeGuide/wiki沉淀、分享、成长,让自己和他人都能有所收获!😄一、前言有句话:正因为你优秀,所以难以卓越!刚开始听这句话还在上学,既不卓越、也不优秀,甚至可能还有点笨!但突然从…

    2020/11/26 14:24:49 人评论 次浏览
  • Java中9种常见的CMS GC问题分析与解决

    1. 写在前面| 本文主要针对 Hotspot VM 中“CMS + ParNew”组合的一些使用场景进行总结。重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省略较多,另外本文专业术语较多,有一定的阅读门槛,如未介绍清楚,还请自行查阅相关材料。| 总字数 2 万左右(…

    2020/11/14 5:25:39 人评论 次浏览
  • 打工人,从 JMM 透析 volatile 与 synchronized 原理

    在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM?与 JVM 内存结构有什么区别?「码哥字节」…

    2020/11/6 14:03:45 人评论 次浏览
  • JVM字节码指令集概述

    字节码指令集概述Java字节码对于虚拟机,就好比汇编语言对于计算机,属于基本执行指令。Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。由于Java虚拟机…

    2020/10/28 14:03:59 人评论 次浏览
  • JVM字节码文件概述

    字节码文件概述字节码文件的跨平台性Java语言:跨平台的语言当Java源代码成功编译字节码后,如果想在不同的平台上面运行,则无需再次编译这个优势目前来说已经不再吸引人,因为Python、PHP、Ruby、Lisp等有强大的解释器跨平台已经快成为一门语言的必选特性Java虚拟机:跨…

    2020/10/25 14:03:50 人评论 次浏览
  • jvm类加载器,类加载机制详解,看这一篇就够了

    前言今天我们来讲讲jvm里类加载的过程,我们写了那么多类,却不知道类的加载过程,岂不是很尴尬。jvm的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由jvm的具体实现指定的。[来自官方规范]jvm组成结构之一就是类…

    2020/10/23 14:04:02 人评论 次浏览
  • 连肝三个通宵,JVM77道高频面试题详细分析,就这?

    1、java 中会存在内存泄漏吗,请简单描述。 会。自己实现堆载的数据结构时有可能会出现内存泄露。 2、64 位 JVM 中,int 的长度是多数? Java 中,int 类型变量的长度是一个固定值,与平台无关,都是 32 位。意思就是说,在 32 位 和 64 位 的 Java 虚拟机中,int 类型的…

    2020/10/23 8:03:47 人评论 次浏览
  • 【JVM系列4】new Object()到底占用几个字节,看完这篇就彻底明白了

    前言上一篇我们分析了Java虚拟机方法执行流程及方法重载和方法重写原理,并分析了方法的调用过程及原理,Java虚拟机栈是线程私有的,没有数据安全问题,而堆相比较于Java虚拟机栈而言更为复杂,因为堆是所有线程共享的一块内存空间,会出现线程安全性问题,而垃圾回收也主…

    2020/9/26 5:04:01 人评论 次浏览
  • 【JVM系列5】深入分析Java垃圾收集算法和常用垃圾收集器

    前言上一篇我们介绍了对象在堆内的内存布局已经占用空间的大小,同时分析了堆内可以分为Young区和Old区,而且Young区可以分为Eden区和Survivor区,Survivor区又拆分成了两个大小一样的区S0和S1区域,其实这么拆分的理由和GC是密切相关的,那么这一篇文章就让我们深入了解…

    2020/9/26 5:03:59 人评论 次浏览
  • 【JVM系列3】方法重载和方法重写原理分析,看完这篇终于彻底搞懂了

    前言JVM执行字节码指令是基于栈的架构,就是说所有的操作数都必须先入栈,然后再根据需要出栈进行操作计算,再把结果进行入栈,这个流程和基于寄存器的架构是有本质区别的,而基于寄存器架构来实现,在不同的机器上可能会无法做到完全兼容,这也是Java会选择基于栈的设计…

    2020/9/24 5:03:53 人评论 次浏览
  • 关于JVM模式对并发结果的影响

    起因昨天听了下关于并发相关的分享,自己就下来写了小demo,想要测试一下,demo如下import java.util.concurrent.TimeUnit; public class ThreadTest {public static void main(String[] args) throws InterruptedException {Test1 t = new Test1();Thread th = new Thre…

    2020/9/24 5:03:50 人评论 次浏览
  • 【JVM系列1】深入分析Java虚拟机堆和栈及OutOfMemory异常产生原因

    前言JVM系列文章如无特殊说明,一些特性均是基于Hot Spot虚拟机和JDK1.8版本讲述。下面这张图我想对于每个学习Java的人来说再熟悉不过了,这就是整个JDK的关系图:从上图我们可以看到,Java Virtual Machine位于最底层,所有的Java应用都是基于JVM来运行的,所以学习JVM对…

    2020/9/23 5:03:50 人评论 次浏览
  • JVM学习笔记之栈区

    JVM学习笔记之栈区 本文主要内容: 栈是什么?栈帧又是什么?在JVM中,main方法调用say方法后,是怎么运行的?本文将详细讲解栈。希望大家学了之后,对栈有更深的了解。 心法:在JVM中,栈管运行,堆管存储。 栈数据结构特点:先进后出。生活中常见的case就是弹夹。最后一…

    2020/9/21 8:03:42 人评论 次浏览
  • 记一次堆外内存泄漏排查过程

    本文涉及以下内容开启NMT查看JVM内存使用情况通过pmap命令查看进程物理内存使用情况smaps查看进程内存地址gdb命令dump内存块背景最近收到运维反馈,说有项目的一个节点的RSS已经是Xmx的两倍多了,因为是ECS机器所以项目可以一直运行,幸亏机器内存充足,不然就可能影响到…

    2020/9/13 5:03:45 人评论 次浏览
  • JVM垃圾回收概述

    JVM类加载概述JVM运行时数据区概述概述垃圾收集机制是 Java 的招牌能力,极大的提高了开发效率。如今,垃圾收集几乎成为了现代语言的标配,即使经过了如此长时间的发展,Java 的垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景都对垃圾收集提出了新…

    2020/9/9 5:04:05 人评论 次浏览
扫一扫关注最新编程教程