随笔分类 -  Java

java的标记算法
摘要:1、三色标记法 (1)基本算法:要找出存活对象,根据可达性分析,从GC Roots开始进行遍历访问,可达的则为存活对象。 (2)三色:我们把遍历对象图过程中遇到的对象,按“是否访问过”这个条件标记成以下三种颜色 1)白色:尚未访问过。 2)黑色:本对象已访问过,而且本对象 引用到 的其他对象 也全部 阅读全文

posted @ 2020-10-14 18:21 hdc520 阅读(398) 评论(0) 推荐(0) 编辑

java1.8的新特性
摘要:一、lambda表达式与函数式接口 (1)lambda表达式:lambda表达式本质上是一段匿名内部类即接口使用匿名方式创建对象,也可以是一段可以传递的代码 //匿名内部类 Comparator<Integer> cpt = new Comparator<Integer>() { @Override 阅读全文

posted @ 2020-09-11 10:37 hdc520 阅读(319) 评论(0) 推荐(0) 编辑

类加载器与双亲委派模型
摘要:1、类加载过程 Class 文件需要加载到虚拟机中之后才能运行和使用,系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 2、类加载器 1、BootstrapClassLoader(启动类加载器) :负责加载 %JAVA_HOME%/lib 阅读全文

posted @ 2020-09-04 21:11 hdc520 阅读(170) 评论(0) 推荐(0) 编辑

java定位常见性能
摘要:(1)CPU占满 1、使用top查看CPU占满的进程 2、通过执行top -Hp 32805 查看Java线程情况 3、执行 printf '%x' 32826 获取16进制的线程id,用于dump信息查询,结果为 803a。最后我们执行jstack 32805 |grep -A 20 803a 来 阅读全文

posted @ 2020-09-04 20:54 hdc520 阅读(151) 评论(0) 推荐(0) 编辑

Java反射
摘要:(1)反射机制:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。 反射就是把java类中的各种成分映射成一个个的Java对象,例如:一个类有:成员变量、方 阅读全文

posted @ 2020-09-04 20:37 hdc520 阅读(211) 评论(0) 推荐(0) 编辑

java死锁程序
摘要:(1)死锁案例 /** * 一个简单的死锁类 * main方法中启动两个线程,分别调用methodA和methodB方法 * methodA方法首先获取到a对象的锁,睡眠1秒钟 * 此时methodB方法执行获取到b对象的锁,睡眠1秒 * 此时methodA需要去获取b对象的锁才能继续执行,但是b锁 阅读全文

posted @ 2020-04-30 20:31 hdc520 阅读(215) 评论(0) 推荐(0) 编辑

Java中Comparable与Comparator的区别
摘要:1、Comparator Comparator是比较接口,我们如果需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口),那么我们就可以建立一个“该类的比较器”来进行排序,(n1,n2) => n1<n2 return 1 降序;n1==n2 return 1 原序 数组如 阅读全文

posted @ 2020-03-31 21:44 hdc520 阅读(214) 评论(0) 推荐(0) 编辑

Java之多线程讲解
摘要:1、线程的创建 (1)继承Thread类创建线程类,代码如下: //1、定义一个继承Thread类的子类,并重写该类的run()方法; //2、创建Thread子类的实例,即创建了线程对象; //3、调用该线程对象的start()方法启动线程。 class SomeThead extends Thr 阅读全文

posted @ 2020-03-29 17:17 hdc520 阅读(287) 评论(0) 推荐(0) 编辑

代码运行实例
摘要:1、return与finally的执行顺序 public class Main { public static void main(String[] args) { System.out.print(fun1()); } public static String fun1() { try { Sys 阅读全文

posted @ 2020-03-26 16:02 hdc520 阅读(242) 评论(0) 推荐(0) 编辑

JVM之垃圾收集与内存分配策略
摘要:1、垃圾收集器处理的事情:哪些内存需要回收,什么时候需要回收,如何回收。 (1)Java内存运行时的各个部分区域:程序计数器,Java虚拟机栈,本地方法栈,Java堆,方法区。 (2)垃圾收集器不需要考虑的内存区域:程序计数器,虚拟机栈,本地方法栈这三个内存区域随线程而生,随线程而亡;栈中的栈帧随方 阅读全文

posted @ 2020-03-21 16:41 hdc520 阅读(172) 评论(0) 推荐(0) 编辑

java序列化
摘要:参考链接: https://blog.csdn.net/xlgen157387/article/details/79840134?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant 阅读全文

posted @ 2020-03-18 12:07 hdc520 阅读(158) 评论(0) 推荐(0) 编辑

设计模式之观察者模式
摘要:对于观察者模式而言,肯定有观察者和被观察者之分。比如在一个目录下建立一个文件,这时系统会通知目录管理器增加目录,并通知磁盘减少空间,在这里,文件就是观察者,目录管理器和磁盘就是被观察者。 观察者模式(Observer),区别于发布-订阅模式(Publish/Subscribe),定义对象间一种一对多 阅读全文

posted @ 2020-03-13 11:37 hdc520 阅读(139) 评论(0) 推荐(0) 编辑

设计模式之工厂模式
摘要:参考链接:https://www.cnblogs.com/yssjun/p/11102162.html 三个工厂模式的区别:根据产品是具体产品还是具体工厂可以分为简单工厂模式和工厂方法模式;根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。 一、简单工厂模式 简单的对不同类对象的创建进行了一层薄薄 阅读全文

posted @ 2020-03-13 10:59 hdc520 阅读(162) 评论(0) 推荐(0) 编辑

设计模式中的6大准则
摘要:一、里氏替换原则 我们知道Java的三大特性:封装,继承,多态。Java 继承有很多优点,是减少重复代码的可靠手段。但是继承同时存在一些缺点: 类的耦合性增加了。比如父类更改之后子类也同时需要更改 降低代码灵活性。因为继承时,父类会对子类有约束性我们使用里氏替换原则,可以减少继承带来的问题。 定义: 阅读全文

posted @ 2020-03-12 21:40 hdc520 阅读(522) 评论(0) 推荐(0) 编辑

设计模式之单例模式
摘要:1、定义:保证每个类仅有一个实例,并给外部提供一个访问它的全局访问点。 (1)设计思路:如果一个类能够被创建多个实例,那么这个类的构造方法肯定是公开的。若把创建实例对象的权限收回来,让类自身负责创建实例,然后由类本身来提供外部访问这个类的实例的方法,就实现了单例模式。 (2)实现单例模式的方法,懒汉 阅读全文

posted @ 2020-03-12 20:44 hdc520 阅读(142) 评论(0) 推荐(0) 编辑

java中list和map详解
摘要:一、List和Set以及Map 1、List , Set, Map都是接口,前两个继承至Collection接口(Collection接口下还有个Queue接口,有PriorityQueue类),Map为独立接口, (1)List下有ArrayList,Vector,LinkedList (2)Se 阅读全文

posted @ 2019-12-24 16:19 hdc520 阅读(19394) 评论(1) 推荐(8) 编辑

java中基础知识
摘要:1、面向对象和面向过程的区别? (1)面向过程:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了; 1)优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;Linux/Unix等一般采用面向过程开发,性能是最重要的因素 阅读全文

posted @ 2019-12-18 16:57 hdc520 阅读(299) 评论(0) 推荐(0) 编辑

Java中的String、StringBuffer、StringBuilder区别以及string的不变性
摘要:1、String、StringBuffer、StringBuilder的区别 String是Java中基础类型,是immutable类(不可变)的典型实现,利用string进行拼接是会产生过多无用对象。 StringBuffer就是为解决大量拼接字符串时产生很多中间对象问题而提供的一个类,提供app 阅读全文

posted @ 2019-07-10 22:14 hdc520 阅读(436) 评论(0) 推荐(0) 编辑

导航