摘要: 设计模式它是一种代码编程长期发展的经验和解决某种问题的通用的思想,并且中所周知的一套代码方法和理念。也是我们编写程序的基石。我日常写代码就好比建造房子一样,首先我们需要搭建好架子。然后根据这个架子慢慢的将整个大厦建起来。同样的,我们在编写程序的时候,也需要遵循一定的原则和框架,这样我们写出来的程序才 阅读全文
posted @ 2019-11-17 02:37 rainple 阅读(918) 评论(0) 推荐(0) 编辑
摘要: public final class Integer extends Number implements Comparable<Integer> Integer 由final修饰了,所以该类不能够被继承,同时 Integer 继承了Number类,因此可以将Integer转换成 int 、doubl 阅读全文
posted @ 2019-06-17 15:51 rainple 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 一、前言 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。经过多年的发展,目前的计算机仍然只能识别0和1,但是由于近10年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机器码(Native Code)已 阅读全文
posted @ 2019-05-31 18:41 rainple 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 前言 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同的版本的虚拟机所提供的垃圾收集器都有可能会有很大的区别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 相关 阅读全文
posted @ 2019-05-08 23:20 rainple 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 由于垃圾收集算法的实现涉及大量的程序细节,而且每个平台的虚拟机操作内存的方法又各不相同,因此博客中不过多的讨论算法的实现,只是介绍几种算法的思想以及发展。 相关阅读: 1、深入理解java虚拟机之java内存区域 2、深入理解java虚拟机之对象真的死了吗 1、标记-清除算法 标记清除算法分为“标记 阅读全文
posted @ 2019-05-07 16:41 rainple 阅读(2990) 评论(0) 推荐(1) 编辑
摘要: Java一个重要的优势就是通过垃圾管理器GC (Garbage Collection)自动管理和回收内存,程序员无需通过调用方法来释放内存。也因此很好多的程序员可能会认为Java程序不会出现内存泄漏的问题,这种想法是不对的,当我们对内存使用不当的时候仍然可能会出现内存泄漏,并且问题相对与c++来说更 阅读全文
posted @ 2019-04-29 17:45 rainple 阅读(594) 评论(0) 推荐(0) 编辑
摘要: java虚拟机在执行java程序的时候会把它所管理的内存分为多个不同的区域,每个区域都有不同的作用,以及由各自的生命周期,有些随着虚拟机进行的启动而存在,有些区域则依赖于用户线程的启动或结束而建立或销毁等。在《java虚拟机规范(Java SE7版)》中规定,java内存分为以下一种,如图所示: 1 阅读全文
posted @ 2019-04-26 16:19 rainple 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 对于Java初学者而言,可能会对这两个比较方法比较模糊,有的人可能会觉得两个的方法使用起来结果是一样的等。如果你有这样的想法,我建议你来看看这边博客,让你充分了解这两个比较的异同,以及他们底层是如何比较的等。阅读这篇文章之前,我希望你是对Integer和String这两个类是有所了解的,否则可以参考 阅读全文
posted @ 2019-04-24 17:26 rainple 阅读(392) 评论(0) 推荐(1) 编辑
摘要: ConcurrentHashMap这个类在java.lang.current包中,这个包中的类都是线程安全的。ConcurrentHashMap底层存储数据的结构与1.8的HashMap是一样的,都是数组+链表(或红黑树)的结构。在日常的开发中,我们最长用到的键值对存储结构的是HashMap,但是我们知道,这个类是非线程安全的,在高并发的场景下,在进行put操作的时候有可能进入死循环从而使服务器的cpu使用率达到100%;sun公司因此也给出了与之对应的线程安全的类。在jdk1.5以前,使用的是HashTable,这个类为了保证线程安全,在每个类中都添加了synchronized关键字,而想而知在高并发的情景下相率是非常低下的。为了解决HashTable效率低下的问题,官网在jdk1.5后推出了ConcurrentHashMap来替代饱受诟病的HashTable。 阅读全文
posted @ 2019-04-21 23:49 rainple 阅读(1284) 评论(0) 推荐(0) 编辑
摘要: 首先,在阅读文章之前,我希望读者对二叉树有一定的了解,因为红黑树的本质就是一颗二叉树。所以本篇博客中不在将二叉树的增删查的基本操作了,需要了解的同学可以到我之前写的一篇关于二叉树基本操作的博客:https://www.cnblogs.com/rainple/p/9970760.html; 有随机数节 阅读全文
posted @ 2018-12-11 14:50 rainple 阅读(2186) 评论(0) 推荐(0) 编辑