![](https://img-blog.csdnimg.cn/20200225222108795.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java核心
力求简洁生动的覆盖所有java核心内容
明日江郎
技术立身
展开
-
技.艺.道:HashMap源码分析
提要:put(K key, V value) hash(Object key) putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) resize() get(Object key) getNode(int hash, Object key) remove() removeNode(int hash, Object key, Object value, boolean matchValue, boo...原创 2020-05-25 17:15:48 · 148 阅读 · 0 评论 -
技.艺.道:红黑树的结构及相关操作(三种遍历、两种旋转等等)
一、结构介绍1、树特性:整棵树只能有一个树根,节点间不可交叉和成环。2、二叉树特点:在树的基础上,每个节点上最多有两个子节点3、二叉搜索树特点:在二叉树的基础上,有序。即在每棵子树中,均有:左子节点的值<根节点的值<右子节点的值。4.自平衡二叉查找树特点:在二叉搜索树的基础上,自平衡。即在当有新的节点加入或旧的节点删除时,会通过一些节点的旋转,自动调节树的结构,使树保持平衡的结构,以保持较高的查询效率。5.、红黑树原创 2020-05-25 16:47:20 · 1547 阅读 · 0 评论 -
技.艺.道:认识GC垃圾回收机制
一、什么是垃圾二、谁来清理三、在哪清理原创 2020-04-26 17:32:50 · 226 阅读 · 0 评论 -
技.艺.道:认识JVM
一、JVM是什么JVM全名叫“Java Virtual Machine”,中文名叫“爪哇虚拟机”,是java和java系(如Scala、Kotlin)语言实现平台无关性的关键角色。牛逼但也不玄乎,归根结底它只是一个软件而已,也就是运行于操作系统上的一个应用程序,与即时通讯软件、游戏这些应用程序没有本质区别。但还有一点要说,JVM是一个概念,或者说是一类软件。比如“即时通讯软件”包括QQ、微信、...原创 2020-04-24 14:25:42 · 306 阅读 · 0 评论 -
java常识2:equals()与hashCode()的覆写
一、equals()的作用及equals()为什么通常要被覆写使用:“equals”中文译为“相等”。在java中,“==”也是判断相等的运算符,而且使用方便,唯一的缺点就是“没有个性”!java语言构造了一个五光十色的世界,它可以被用来创造无数的类,而不同的类,在不同的场景下,用来判断是否相等的标准也会是各种各样的。比如:人虽然每个都不同,杨蜜和刘意非这两个不同的人却同样都会去女浴室,也...原创 2020-03-09 13:23:01 · 218 阅读 · 0 评论 -
java常识1:弄清楚equals()和“==”
一、传统认知 运算 基本数据类型比较的对象 引用数据类型比较的对象 == 值 堆内存空间 equals 值 默认堆内存空间,覆写的方法除外 二、通过程序找问题import com.leon.java...原创 2020-03-08 14:31:55 · 336 阅读 · 0 评论 -
getMethods()与getDeclaredMethods()等的用法区别整理
一、引言:在反射原理中,我们常常要使用Class实例获取其对应的构造方法、普通方法、成员属性、注解。我们会发现他们的获取方法比较多,下面我们对它们的用法说明进行了一些整理。二、用法整理: 类型 获取全部 获取指定 Method getMethods() 获取本类及超类的所有公共方法...原创 2020-03-06 17:46:37 · 1442 阅读 · 0 评论 -
反射机制的基本用法
反射机制的最大特点:不用导包。反射机制的功能:已知一个实例对象 获得该实例对象的本类及父类的指定或全部信息 类名 方法:方法名、方法修饰符列表、返回值类型、参数列表 成员属性:属性类型、属性名称 实例:String className = "com.leon.java.reflect.Person"; ---->1.得到该字符串所指代类的...原创 2020-03-06 16:24:50 · 204 阅读 · 0 评论 -
反射梦话简介
有人说,代码是咒语,咒语是带有魔法的,我不信,于是有一天我试了一下。有一天,我看新闻知道了任天堂的switch很好玩,于是我在电脑上写下了一行咒语:Switch switch = new Switch();那一刻,一阵微风吹过,一台switch出现在了我的桌上,我至今都忘不了它那包装盒完美的触感,打开包装盒时那清脆的响声。经过几天的疯狂玩耍之后,我居然想去户外活动一番,于是就出去...原创 2020-03-04 10:41:54 · 144 阅读 · 0 评论 -
java泛型
一、泛型的出现java泛型,是JDK1.5之后加入的功能。二、泛型的作用我们都知道,类是一个模板,可以用来实例化对象。如果一个类没有使用泛型,那么它就是一个“专用”模板,可以产生一种对象;而如果类中使用了泛型,那它就是一个“通用”模板,可以产生多种对象。专用模板就好像下面这些:横纵坐标的数值为 int 类型的坐标类。/*** 坐标类:横纵坐标的数值为 int类型*/c...原创 2020-03-03 13:33:43 · 110 阅读 · 0 评论 -
线程A的一辈子
大家好,我是一个普通的线程,父母为我起了一个好听的名字:线程A。(怎么看都是一个很随意又不负责任的名字)我的人生,要从一家名叫“idea”的公司说起,它是我们整个巨马国(JVM国)最有实力的公司。实际上,我的一生都和它有关。像是有一个人,端坐在那公司华丽又高耸入云的办公楼里用一双无形的手,控制着在市井中的我。一种宿命感让我喘不过气。好在我就读的idea公司旗下的爱迪特高中有一名老师耐心的开导了我,...原创 2020-02-28 16:20:14 · 143 阅读 · 0 评论 -
sleep()与wait()
一、相同点: 都可以实现线程的“暂停”,即:暂时停止正在执行的操作。二、不同点: 1.所属类不同: sleep()来自java.lang.Thread wait()来自java.lang.Object 2.对资源的锁定不同: sleep()没有释放锁...原创 2020-02-27 23:20:12 · 149 阅读 · 0 评论 -
进程与线程梦话演绎
那是一个寒冷的冬天,这雪即便是放在北方极寒之地也算是大雪了。金陵城路面上积雪严重,于是“清除路面积雪”的任务便由此产生。官府决定派遣公子蓝、酒鬼婴和甄琼林三位高手去执行此任务。 金陵城的城务长官蔡仕薪,初到官场,对城务管理更是经验不足。这清雪任务的人选是选定了,可是该如何分配资源,他有些犯难。这蓝、婴、林三个人去执行任务,我该给每个人分别分配些什么资源呢?这个公子蓝做...原创 2020-02-27 21:03:24 · 171 阅读 · 0 评论 -
实现多线程的三种方法
由于我之前的java基础不是很好,所以长久以来都只知道有两种多线程的实现方式(继承Thread类或实现Runnable接口),今天才知道还有第三种方式:通过Callable接口实现。下面我们详细聊一下这三种方式。实现方式一:通过Thread类实现 代码:class ThreadTest extends Thread{ @Override public void ru...原创 2020-02-26 00:28:41 · 491 阅读 · 0 评论 -
Ioc理论(DI理论)基础
一、基本信息英文全称:Inversion of Control中文解释:多数书籍翻译成“控制反转”别称:DI(Dependency Injection)理论目的:用来实现对象(类)之间的“解耦”提出者:软件专家Michael Mattson使用了该理论的典型框架:spring应用:很多的J2EE项目均采用了IOC框架产品Spring解耦原理:把复杂系统分解成相互合作的对象,这些对象类通过封装以...原创 2018-12-14 17:42:15 · 379 阅读 · 0 评论