JavaGC垃圾回收几乎是面试必问的JVM问题之一,本篇文章带领大家了解JavaGC的底层原理,图文并茂,突破学习及面试瓶颈。楔子-JVM内存结构补充JVM中堆的结构图图中展示了堆中三个区域:Eden、FromSurvivor、ToSurvivor。从图中可以也可以看到它们的大小比例,准确来说是:8:1:1。为什么要这样设计呢,本篇文章后续会给出解答,还是根据垃圾回收的具体情况来设计的。还记得在设
分类:
编程语言 时间:
2019-11-04 17:29:56
阅读次数:
86
不是一篇按照一二三来介绍的东西,随着关注点写到哪里。 Java即时编译一直没怎么明白,以前努力去想清楚,不过总结的内容还是有些不怎么能成原因。现在考虑到的是,可能主要就是为了发布快。每次重新编译的话修改大项目都要花很长时间等待,然后再验证是否可用。或许已经布在服务器上的项目也可以很快吸收新的类文件。 ...
分类:
编程语言 时间:
2019-11-04 11:35:32
阅读次数:
83
强引用 : 只要引用存在,垃圾回收器永远不会回收 Object obj= new Object(); Object 对象对后面 new Object的一个强引用, 只有当obj这个被释放之后,对象才会被释放掉, 这也是我们经常所用到的编码形式. 软引用: 非必须引用,内存溢出之前进行回收,可以通过以 ...
分类:
编程语言 时间:
2019-11-03 18:23:30
阅读次数:
71
概述RocketMQ存储中主要用到以下知识点:mmap 文件映射内存池异步刷盘consumeQueue同时本节将介绍各个重要的类,本篇文章将介绍 mmap 文件映射的相关方法和内存池相关知识点,刷盘和 consumeQueue 相关知识点在下篇介绍。MappedFilemappedFile 对应着底... ...
分类:
其他好文 时间:
2019-11-03 14:36:20
阅读次数:
92
二叉排序树 引入 基本性质: 二叉排序树(又叫二叉搜索、查找树) 1. 若左子树不空,则左子树上所有结点的值均 小于 它的根结点的值; 2. 若右子树不空,则右子树上所有结点的值均 大于 它的根结点的值; 3. 左、右子树也分别为二叉排序树。 4. 不允许有键值相同结点。 二分查找与二叉排序树 ? ...
分类:
编程语言 时间:
2019-11-03 01:05:13
阅读次数:
65
前言 除此之外, Redis 的对象系统还实现了基于引用计数技术的内存回收机制: 当程序不再使用某个对象的时候, 这个对象所占用的内存就会被自动释放; 另外, Redis 还通过引用计数技术实现了对象共享机制, 这一机制可以在适当的条件下, 通过让多个数据库键共享同一个对象来节约内存。 对象的类型与 ...
分类:
其他好文 时间:
2019-11-02 18:25:22
阅读次数:
79
编程语言 从低级到高级的发展的过程 1、机器语言 计算机是基于电工作的。(基于高、低电平 1010010101011) 如果用机器语言表现一个字符的意思需要多段代码的行。但是计算机读取的快。 所以机器语言的 优点:执行速度够快 缺点:开发效率非常低 2、汇编语言 汇编语言的属性,汇编语言通过英文字符 ...
分类:
编程语言 时间:
2019-11-01 20:20:50
阅读次数:
108
nginx7层调度方式 使用upstream模块定义集群名称和节点地址 定义在server字段之外httpd字段之内 upstream staticweb { server 172.17.0.2; #也可以指定weight=2 指定权(默认为轮询算法rr) server 172.17.0.3; } ...
分类:
其他好文 时间:
2019-11-01 18:36:39
阅读次数:
894
JVM概述 JVM(Java Virtual Machine)就是Java虚拟机的简称,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机 ...
分类:
其他好文 时间:
2019-11-01 18:04:02
阅读次数:
101
我们的程序默认会有两个线程,一个是主线程,一个是负责垃圾回收的线程。如果代码不使用多线程,就只有主线程这一条干道。1.在主线程中调用Thread.Sleep(1000),表示主线程阻塞自己1秒。2.在主线程中使用子线程调用Join()方法,表示子线程告诉主线程你需要阻塞一会,直到我完成任务。两者虽然 ...