Java
文章平均质量分 91
>进阶的程序员>
一个处于探索期的程序员。
展开
-
java虚拟机JVM--java虚拟机垃圾的回收机制详解
前言java语言的一个很大的特点,就是JVM可以自动回收垃圾,从而回收内存。这也是它相对于c的一个优势。 由此引出我们的思考: 1.JVM如何判断这个对象是不是垃圾的? 2.JVM是如何回收垃圾的? 3.JVM什么时候调用GC回收? 4.JVM的内存如何分配最高效? 我们一个一个问题的看,先看第一个问题。一、JVM是如何判断这个对象到底是不是垃圾的这里主要有两个算法去解决这个问题:1.引用计数法;原创 2018-04-16 23:09:45 · 802 阅读 · 1 评论 -
java虚拟机JVM--java虚拟机的内存管理(新生代、老年代)
前言 在上一篇博客中,还遗留了一个问题:JVM的内存如何分配最高效?换一种说法就是:JVM的内存是如何的分配以及回收的?通过前面两篇博客的铺垫:java虚拟机JVM–java虚拟机的结构, java虚拟机JVM–java虚拟机垃圾的回收机制详解, 本篇将从JVM的内存如何分配的以及内存是如何回收的 角度来介绍java虚拟机的内存管理,来回答这一个遗留下的的问题。 再贴一下JVM内存结构图: ...原创 2018-04-17 23:36:07 · 2791 阅读 · 3 评论 -
java虚拟机JVM--由Volatile关键字引出的java内存模型
前言 本文是由volatile关键字引出的一场血案。。。 首先,我们要知道,volatile关键字的作用是什么: 1.保持可见性:保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的; 2.禁止进行指令的重排序:volatile关键字能确保变量在线程中的操作不会被重排序而是按照代码中规定的顺序进行访问; 3.并不能保证原子性; 由此,...原创 2018-04-22 16:49:44 · 304 阅读 · 1 评论 -
java虚拟机JVM--java类加载器和类加载机制
类加载器 java类加载器 JVM提供了以下3种系统的类加载器: 启动类加载器(Bootstrap ClassLoader):最顶层的类加载器,启动类加载器主要加载的是JVM自身需要的类,这个类加载使用C++语言实现的,是虚拟机自身的一部分,它负责将 /lib路径下的核心类库或-Xbootclasspath参数指定的路径下的jar包加载到内存中,注意必由于虚拟机是按照文件名识别加载jar...原创 2018-05-04 23:07:20 · 369 阅读 · 0 评论 -
练习题合集
public class StringExercises { public static void main(String[] args) { test6(); } //1.编写程序将 “jdk” 全部变为大写,并输出到屏幕, //截取子串”DK” 并输出到屏幕 public static void test1() { String s = "jdk"; s = s....原创 2018-08-27 21:56:43 · 562 阅读 · 0 评论 -
java虚拟机JVM--java虚拟机的结构
学Java的朋友, 相信都听过一句话:java语言是跨平台的。那java是怎么跨平台的呢, 靠的就是JVM(Java Virtual Machine)java虚拟机。java编译以后会生成class字节码文件, 然后字节码文件运行在JVM上, 然后JVM就把class字节码文件转成机器指令, 可以在不同的平台上运行了。 这里要注意的是, 跨平台的是java语言, 而不是JVM,不同平台上JVM的...原创 2018-04-15 22:29:50 · 568 阅读 · 0 评论