Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗? 可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC算法 以及年轻代和老年代各自特点等等 1) JVM内存划分: ① 方法区 (线程共享) 常量 静态变量 JIT(即时编译器)编译后代码也在方 ...
分类:
编程语言 时间:
2018-07-09 14:12:30
阅读次数:
162
饱经长郡中学高三的磨难之苦后,终于从高三狗变身成年人啦QAQ 美好的暑假开始辣,终于搞完这可啪的托福考试了... 辣么,退役老年选手要开始恢复OI实力啦QAQ 这样以后去SJTU的时候不会被虐得太惨... 先从基本的板子开始复习好了! 日常刷几道题找找手感吧,然后月底也许会在codeforces上打 ...
分类:
其他好文 时间:
2018-07-08 18:04:16
阅读次数:
127
堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor ...
分类:
编程语言 时间:
2018-07-06 17:43:18
阅读次数:
152
内存模型 《深入理解java虚拟机》 堆 包括新生代和老年代,不包括元数据区 在Minor GC时会将新生代中还存活着的对象复制进一个Survivor中,然后对Eden和另一个Survivor进行清理。所以,平常可用的新生代大小为Eden的大小+一个Survivor的大小 S0=S1 分配担保机制: ...
分类:
其他好文 时间:
2018-06-30 12:55:04
阅读次数:
175
我退坑很久了,这篇文章不是因为刷OJ而写的总结,毕竟菜鸡老年人, 23333 之前我学网络流看的是算法书和别人的博客然后就开始套板子,而这次因为考试不得已把课本上的定理都看了一遍,瞬间对最大流算法更加清楚了。 1.定义 在学习网络流算法前要了解的一些知识。 1.对于一个有向的网络$G=(N, A, ...
分类:
编程语言 时间:
2018-06-30 00:20:56
阅读次数:
201
类加载统计: 编译统计: 垃圾回收统计: 堆内存统计: 新生代垃圾回收统计: 新生代内存统计: 老年代垃圾回收统计: 老年代内存统计: 元数据空间统计: 总结垃圾回收统计: JVM编译方法统计: ...
分类:
Web程序 时间:
2018-06-28 19:20:54
阅读次数:
343
synchronized与Lock的区别synchronizedsynchronized是JVM中的关键字,加锁和释放锁都是通过JVM自动完成。说到这个点,就需要说明一下class和其instance在JVM的存储情况。class存储在持久层,并且会存储锁的信息。object实例存储在新生代或者老年代,同样其也存储了该实例对象的锁信息。class类锁publicclassUser{publicst
分类:
其他好文 时间:
2018-06-25 16:45:18
阅读次数:
143
总览 本文会介绍垃圾回收的以下几个方面。 为什么要垃圾回收 在哪里回收 哪些对象需要回收 怎么回收 HotSpotJVM中有哪些具体的回收器可以直接用。 在开始讲垃圾回收之前,先通过一张图快速回忆一下运行时内存 为什么需要垃圾回收 因为程序在运行的过程中,对象实例,变量会占据越来越多的内存,如果不及 ...
分类:
其他好文 时间:
2018-06-21 00:15:10
阅读次数:
245
这里概要介绍一下JVM在启动后,作为操作系统的一个进程的基本结构,以及从操作系统角度看,JVM如何管理它从操作系统里申请来的内存的,也就是JVM的内存结构或者叫JVM内存模型。 1、JVM的基本结构 JVM启动后,对操作系统来说,JVM是一个的进程,这个进程的基本结构如上图所示。它包括:类加载器子系 ...
分类:
其他好文 时间:
2018-06-14 18:09:45
阅读次数:
169