摘要: 现在虚拟机一般使用的内存回收策略就是分代收集,就是判断对象的年龄并加以内存分配。但是有时候新生代对象存活率较高,导致有大对象分配时内存不足,虚拟机也会采用担保机制是大对象进入老年代。 阅读全文
posted @ 2019-12-20 12:12 步步为营ing 阅读(1380) 评论(0) 推荐(0)
摘要: java虚拟机在进行内存回收时会在对象所处的时期不同而采用不同的垃圾回收算法,这里记录一下几种算法的实现与思想。 标记 清除算法 这是一个基本的算法,这个算法出现之后的算法都是由他改良而来。标志 清除算法有两个阶段,分别是标志和清除。 首先标志出所有需要回收的对象,在标志完成后统一回收所有被标志的对 阅读全文
posted @ 2019-12-16 22:25 步步为营ing 阅读(86) 评论(0) 推荐(0)
摘要: 这一章介绍了插入排序,如何使用循环不变式证明算法的正确性,伪代码的编写。后附自己做的练习题^-^ 阅读全文
posted @ 2019-12-12 16:31 步步为营ing 阅读(684) 评论(0) 推荐(0)
摘要: 多态的定义 指允许不同类的对象对同一消息做出不同的响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式。 多态的优点 可替换性 可扩充性 接口性 灵活性 简化性 多态三要素 继承 重写 父亲的引用指向子类的引用 多态性的实现 1. 绑定:将一个方法的调用与主体联系起来。 2. 前期绑定:在 阅读全文
posted @ 2019-12-10 19:54 步步为营ing 阅读(142) 评论(0) 推荐(0)
摘要: 那些内存需要回收 内存回收是对运行时内存区域的内存回收,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区 阅读全文
posted @ 2019-12-10 16:15 步步为营ing 阅读(252) 评论(0) 推荐(0)
摘要: 本文总结了String为什么是不可变序列的几个因素,以及String进行比较的问题,还有StringBuilder,StringBuffer,String的异同以及效率问题 阅读全文
posted @ 2019-12-08 15:10 步步为营ing 阅读(254) 评论(0) 推荐(0)
摘要: 自增自减注意事项,运算符匹配的贪心策略,&与&&的区别 阅读全文
posted @ 2019-12-07 20:11 步步为营ing 阅读(156) 评论(0) 推荐(0)
摘要: java是一门面向对象的语言,我们无时无刻不在创建对象和使用对象,那么java虚拟机是如何创建对象的?又是如何访问对象的?java对象中究竟存储了什么运行时所必需的数据?在学习了java虚拟机数据的存储区域后,再来探究一下对象是如何产生的? 阅读全文
posted @ 2019-12-02 13:14 步步为营ing 阅读(285) 评论(0) 推荐(0)
摘要: java是一种强类型语言,这就意味着必须为每一个声明变量声明一种类型。在java中,一共有8种数据类型,其中4种整型,2种浮点类型,1种字符类型和一种表示真值的boolean类型。那么这些数据类型你真的正真了解过吗? 阅读全文
posted @ 2019-12-01 12:05 步步为营ing 阅读(264) 评论(0) 推荐(0)
摘要: 相对于c,c++。程序设计时,java并不需要手动释放或者创建内存用于存放程序,这的确使得java开发变得容易和轻松,一旦有一天出现了内存泄漏或者内存溢出的问题,如果不了解JVM虚拟机是怎么使用内存的,这将会变成一个棘手的问题 阅读全文
posted @ 2019-11-29 12:26 步步为营ing 阅读(329) 评论(0) 推荐(0)