标签:内存模型

Java

JVM内存模型系列(堆、方法区以及对象和GC)

23

Harries 发布于 2020-07-26

上文已经介绍了JVM内存模型中线程私有的部分(虚拟机栈、本地方发栈、程序计数器),那么本篇文章就来探讨下JVM中线程共享的区域:堆、方法区 方法区 方法区是JVM规范中定义的一个逻辑内存,在JDK1.8以前对方法区的实现叫做“永久代”,然而在JDK1.8以后讲“永久代”废弃,改为...

阅读(455)评论(0)赞 (0)

Java

超硬核Java工程师秋招回忆录+面经汇总,为了拿BAT的研发offer我都做了那些准备?

1

小丁 发布于 2020-07-26

秋招总结 写在最前 我写过很多篇秋招总结,这篇文章应该是最后一篇总结,当然也是最完整,最详细的一篇总结。秋招是我人生中一段宝贵的经历,不仅是我研究生生涯交出的一份答卷,也是未来职业生涯的开端。仅以此文,献给自己,以及各位在求职路上的,或者是已经经历过校招的朋友们。不忘初心,方得始...

阅读(47)评论(0)赞 (0)

Java

Java垃圾回收详解

14

Harries 发布于 2020-07-25

1.GC介绍 什么是垃圾回收(GC)? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。 在 Java 虚拟机的语境下, 垃圾 指的是死亡的对象所占据的堆空间。 Java 虚拟机中的垃圾回收器采用 可达性分析 来探索所有存活的对象。它从一系...

阅读(64)评论(0)赞 (0)

Java

JVM系列-读懂 GC 日志

4

xiaoli.wang 发布于 2020-07-25

Java 生态发展到今天,JVM (Java Virtual Machine)的价值可能已经超过了 Java 语言本身。 而 GC (垃圾回收)机制也是 JVM 的核心之一,在程序运行的过程中,GC 的过程会以日志的形式记录下来,看懂 GC 日志是研究 GC 机制的基础,GC日志...

阅读(56)评论(0)赞 (0)

Java

JVM-运行时数据区—方法区

9

xiaoli.wang 发布于 2020-07-25

在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。例如:BEA JRockit/IBM J9中不存在永久代的概念。 现在看来,当年使...

阅读(38)评论(0)赞 (0)

Java

面试官:那些连JVM都说不清楚的Android开发,直接淘汰……

6

邓龙华 发布于 2020-07-25

每增长一岁,就增长一份迷茫,对于未来的规划,当然还是想去大厂,拿着高薪,漂亮的福利,如果有一天实在待腻了也有相当不错的技术背景。对于一个具备独立开发能力,有带团队经验的技术人来说,想去大厂应该是没问题的,但每次大厂的面试都会无情的打脸。 很多人还实在想不通为什么大厂的面试官都面那...

阅读(29)评论(0)赞 (0)

Java

不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过

xubiao.zhuang 发布于 2020-07-24

什么是线程安全? 当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题。 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题,但是做读操作...

阅读(45)评论(0)赞 (0)

Java

解读 Java 内存模型

6

yeseng 发布于 2020-07-23

伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。 Java内存模型(Java Memory Model)定义了Java的线程在访问内存时会发生什么。这里针对以下几个要点进行解析: 重排序 可见性 synchronized volitile fi...

阅读(41)评论(0)赞 (0)

Java

Java虚拟机#1——Java内存模型

Harries 发布于 2020-07-23

前言 在昨天我回答了一个关于Java虚拟机的问题,顺带复习了一边Java虚拟机,就打算写一篇关于内存模型的文章巩固记忆。在Java中,内存溢出异常不想C/C++那样频繁,但是一旦出现却难解决的多,需要丰厚的Java虚拟机方面的知识。身为一个Java程序员,是有必要在这方面多做积累...

阅读(77)评论(0)赞 (0)

Java

Java运行时数据区总结

hellas 发布于 2020-07-19

此内存区域是唯一一个在《Java虚拟机规范》中没有任何规定任何OutOfMemoryError情况的区域 Java虚拟机栈 Java方法执行的线程内存模型。 特性 线程私有。即每个线程都拥有一个独立的Java虚拟机栈,各个线程之间的Java虚拟机栈互不影响。 运行细节 每个方法被...

阅读(54)评论(0)赞 (0)

Java

重大事故!线上系统频繁卡死,凶手竟然是 Full GC ?

4

xirruiqiang 发布于 2020-07-19

通常来说,一个系统在上线之前应该经过多轮的调试,在测试服务器上稳定的运行过一段时间。我们知道 Full GC 会导致 Stop The World 情况的出现,严重影响性能,所以一个性能良好的 JVM,应该几天才会发生一次 Full GC,或者最多一天几次而已。 但是昨天晚上突然...

阅读(69)评论(0)赞 (0)

Java

Jvm知识点

5

xiaoli.he 发布于 2020-07-19

就算你躺在沙发上三天不起,拉不开窗帘,因为决定不了穿哪双袜子哭个没完,我也不会停止爱你. 前言 面试的时候 必问JVM ,淦!咱们准备好好复习吧,加油!奇怪的知识又增加了呐. 1. JVM内存模型 根据JVM规范,JVM 内存共分为虚拟机栈,堆,方法区,程序计数器,本地方法栈五个...

阅读(40)评论(0)赞 (0)

Java

java架构之路(多线程)JMM和volatile关键字

4

刘莉莉 发布于 2020-07-17

说到JMM大家一定很陌生,被我们所熟知的一定是jvm虚拟机,而我们今天讲的JMM和JVM虚拟机没有半毛钱关系,千万不要把JMM的任何事情联想到JVM,把JMM当做一个完全新的事物去理解和认识。 我们先看一下计算机的理论模型,也是冯诺依曼计算机模型,先来张图。 其实我们更关注与计算...

阅读(32)评论(0)赞 (0)

Java

【017期】JavaSE面试题(十七):JVM之内存模型

2

邓龙华 发布于 2020-07-17

开篇介绍 大家好,我是 Java最全面试题库 的提裤姐,今天这篇是面试系列的第十七篇,主要总结了JavaSE中 JVM 相关面试题,这篇是JVM系列的第一篇,主要讲解 JVM的内存模型 ,第二篇主要讲解垃圾回收。在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做...

阅读(47)评论(0)赞 (0)

Java

全网最全!这份深入讲解jdk和jvm原理的笔记,刷新了我对JVM的认知

19

尖兵 发布于 2020-07-17

前言 前两天和朋友探讨技术的时候有聊到JVM和JDK这一块,聊到这里两个人就像高山流水遇知音那是根本停不下来,事后我想着趁现在印象还比较深刻就把这些东西整理起来分享给大家来帮助更多的人吧。话不多说,满满的干货都整理在下面了! JVM探究 jvm的位置 jvm的体系结构 堆里面有垃...

阅读(48)评论(0)赞 (0)

Java

全靠平时准备这些,临时面试字节跳动,也能斩获48K+15薪offer

12

songhua.gao 发布于 2020-07-16

前言 不知道最近的各位,或者说从19年底开始,大家有没有发现一个问题,阿里,字节这样的公司天天招人,每天都有内部人员找上门来内推,或者猎头主动推荐,好像非常缺人的样子,但是真的自己去面试了,却发现并不是那么容易。这不,正好有一个很偶然的机会,跟阿里和字节的人员聊了一下,发现并不是...

阅读(64)评论(0)赞 (0)

Java

不好意思,你可能连new对象实际在做什么都不知道!

3

songhua.gao 发布于 2020-07-15

目录 JVM 遇到了 new 对象之后做了什么? 举个栗子 new Person() 从虚拟机内存推导String面试高频题答案 ❝ 对象的创建,内存布局以及访问定位,推导String必问面试题答案 ❞ JVM 遇到了 new 对象之后做了什么? package com.kuai...

阅读(42)评论(0)赞 (0)

Java

深入理解JVM(③)再谈线程安全

1

likai 发布于 2020-07-15

前言 我们在编写程序的时候,一般是有个顺序的,就是先实现再优化,并不是所有的牛P程序都是一次就写出来的,肯定都是不断的优化完善来持续实现的。因此我们在考虑实现高并发程序的时候,要先保证并发的正确性,然后在此基础上来实现高效。所以 线程安全 是高并发程序首先需要保证的。 线程安全定...

阅读(34)评论(0)赞 (0)