随笔分类 -  Java Basic

摘要:面向对象的思想 隔离变化 面向对象相比于面向过程能将变化带来的影响减到最小。 各负其责 面向对象更强调每个对象的职责。需求变化引起的新增类型不应影响原来类型的实现,即各司其职。 面向对象8大设计原则 依赖倒置原则(DIP) (稳定的)高层模块不应该依赖于(变化的)低层模块,两者都应该依赖于(稳定的) 阅读全文
posted @ 2021-04-05 14:39 HickeyZhang 阅读(90) 评论(0) 推荐(0)
摘要:import java.util.Comparator; import java.util.TreeSet; /** TreeSet中添加的数据必须是相同类的对象,没有(按照定义的判断逻辑上)相等的元素。 并且,对象必须实现Comparable接口,重写compareTo()方法 >自然排序 或者在 阅读全文
posted @ 2021-03-06 15:42 HickeyZhang 阅读(92) 评论(0) 推荐(0)
摘要:/** 为保证向Set中添加的对象其所在的类必须要重写hashCode和equals方法: 重写的原则:hashCode和equals尽量保持一致性: 两个相同的对象equals()返回true时,那么两个对象的hashCode()必须返回相同的哈希值 同一对象多次调用hashCode()应返回相同 阅读全文
posted @ 2021-03-06 15:27 HickeyZhang 阅读(72) 评论(0) 推荐(0)
摘要:import java.util.HashSet; import java.util.Set; /** Set存储特点:数据无序、不可重复 Set接口的实现类: HashSet:Set接口的主要实现类,线程不安全,可以存储null值。 LinkedHashSet:作为HashSet的子类,遍历内部数 阅读全文
posted @ 2021-03-06 15:16 HickeyZhang 阅读(99) 评论(0) 推荐(0)
摘要:import java.util.LinkedList; import java.util.List; /** LinkedList底层采用双向链表存储。 除了实现List接口的方法外 LinkedList还提供了许多和首尾相关的方法,这些方法实现Deque接口中方法。 linkList.getFi 阅读全文
posted @ 2021-03-06 14:39 HickeyZhang 阅读(88) 评论(0) 推荐(0)
摘要:import java.util.ArrayList; import java.util.List; /** ArrayList源码分析: JDK7下: List list = new ArrayList();创建一个长度为10的Object[]数组, 若此次添加导致容量不够,调用grow()扩容, 阅读全文
posted @ 2021-03-06 14:25 HickeyZhang 阅读(74) 评论(0) 推荐(0)
摘要:import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** List是动态数组,替换原有的数组 实现类: ArrayList(List接口的主要实现类) LinkedList Vector(L 阅读全文
posted @ 2021-03-06 00:38 HickeyZhang 阅读(77) 评论(0) 推荐(0)
摘要:/** jdk5.0新增了foreach,用来遍历集合、数组 foreach内部调用的还是迭代器 */ public class TestForeach { public static void main(String[] args) { int[] arr = new int[]{1,2,3,4} 阅读全文
posted @ 2021-03-06 00:02 HickeyZhang 阅读(79) 评论(0) 推荐(0)
摘要:import java.util.*; /** * 数组存储数据的特点: * ①一旦初始化,大小确定 * ②一旦定义,存储的类型确定且相同。 * 数组存储的弊端: * ①大小无法改变。 * ②方法较少,插入、删除元素不便且效率较低。 * ③数据有序、可重复,对于无序、不可重复的无法满足要求。 * ④ 阅读全文
posted @ 2021-03-05 23:43 HickeyZhang 阅读(145) 评论(0) 推荐(0)
摘要:0.预备知识 函数式接口:只包含一个抽象方法的接口。 内部类:静态、成员内部类 局部内部类 匿名内部类 1.代码 1 /** 2 * 函数式编程: 3 * lambda表达式前提: 4 * 必须是函数式接口。 5 */ 6 //1.定义一个函数接口 7 interface GetFx{ 8 void 阅读全文
posted @ 2021-02-19 18:34 HickeyZhang 阅读(93) 评论(0) 推荐(0)
摘要:0.静态代理 静态代理的实现比较简单,代理类通过实现与目标对象相同的接口,并在类中维护代理对象。通过构造器塞入目标对象,赋值给代理对象,进而执行代理对象实现的接口方法,并实现前拦截,后拦截等所需的业务功能。 1.应用场景: 某对情侣要结婚了,但忙于毕业设计,只能将结婚相关准备和后续事宜交予结婚筹划公 阅读全文
posted @ 2021-02-19 18:05 HickeyZhang 阅读(112) 评论(0) 推荐(0)
摘要:0.线程简介: 程序:指令和数据的集合,是静态的概念。 进程:一个运行的程序可以理解为为一个进程,是程序的一个动态的概念,如运行中的WPS、360、QQ等。 线程:一个进程中可以有多个线程,如在流氓软件360中,你可以同时清理垃圾、扫描病毒、开机优化等,又如在Edge浏览器中LSP可以边浏览Porn 阅读全文
posted @ 2021-02-19 17:13 HickeyZhang 阅读(183) 评论(0) 推荐(0)