Java
烟雨江南_
左手代码右手诗,亦是生活亦是痴
展开
-
为什么需要hashCode
最直观的感受就是提高性能1、如HashSet中先通过hashCode判断是否重复,然后hashCode相等再通过equals确定值是否相等。这里hashCode起到一个前置校验的作用,hashCode不相等则不需要进行equals比较原创 2021-10-18 09:25:49 · 196 阅读 · 0 评论 -
IO多路复用
阻塞IO对于IO多路复用的非阻塞IO来说阻塞说的不是请求,而是所创建的线程,啧啧原创 2021-09-15 11:36:10 · 114 阅读 · 0 评论 -
由@Async引起的Spring循环引用
场景&原因package com.shi.cycleref;import org.springframework.scheduling.annotation.Async;import org.springframework.scheduling.annotation.EnableAsync;import org.springframework.stereotype.Component;import javax.annotation.Resource;/** * @author s原创 2021-04-16 11:45:15 · 837 阅读 · 0 评论 -
面向对象
面向对象面向对象就是把实际生活中的实物抽象到程序中,实物所具有的特征可以作为属性,具有的动作可作为方法封装封装:我们使用手机,作为用户的角度我们其实并不需要关注里面的细节,只需要做好我们使用者的角色即可继承继承:作为父母的孩子,可以说继承来了耳朵、眼睛、鼻子,身体。但属于他们私有的我们在生来是不可继承的,如记忆、知识多态多态:比如有动物(Animal)之类别(Class),而且由动物继承出类别鸡(Chicken)和类别狗(Dog),并对同一源自类别动物(父类别)之一消息有不同的响应。...原创 2021-04-10 15:59:32 · 86 阅读 · 0 评论 -
HashMap
链表和树之间的转换长度为8,链表转树,长度为6,树转链表。。中间有个差值,还可以防止链表和树频繁转换。假设8以上转为树,8以下转为链表,那么一个hashmap如果不停的插入删除,链表长度在8左右徘徊,就会不停的树转链表,链表转树,效率很低。负载因子为什么是0.75我们在考虑HashMap的时候,首先要想到的是HashMap只是一个数据结构,既然是数据结构最主要的就是节省时间和空间。负载因子的作用肯定也是节省时间和空间。为什么节省呢?我们考虑两种极端情况。1、负载因子是1.0我们的数据一开..原创 2021-03-22 13:33:44 · 420 阅读 · 0 评论 -
RuntimeException不需要throws
首先对于Java中异常分为两种受检查异常和运行时异常对于受检查异常来说想要向外声明一些需要调用者去手动逻辑处理时使用,属于对调用者的一种警示对于运行时异常基本属于代码逻辑上的一个问题,即使throws外部调用者也不能处理,故RuntimeException不需要向外声明...原创 2020-12-25 16:15:47 · 1301 阅读 · 0 评论 -
SpringIOC源码总结
IOC无非就是非侵入式的创建与管理对象最核心莫过于两种处理器BeanFactoryPostProcessor与BeanPostProcessor,Spring对Bean的处理主要都是经过内部定义的这两个接口的实现类,做了大量的细节处理。也可以由使用者自定义实现类,非侵入式的改变Spring构建Bean的流程与特性...原创 2020-11-12 11:35:39 · 205 阅读 · 1 评论 -
证明Java中只有值传递(副本传递)
/** * @author syz */public class Demo { public static void main(String[] args) { User user = new User(); user.name = "张三"; user.age = 18; change(user); System.out.println(user); } static void change原创 2020-09-23 16:58:37 · 224 阅读 · 0 评论 -
自身对接口的理解,Interface
自身对接口的理解接口最本质的一点,对具体的实现做一个限制。例:一家地主,家里有一个老管家,地主有一套针对管家的规矩,老管家负责把这套规矩做好,至于怎么做好上面并不关系。这个时候老管家由于年纪过大,说要辞职走人,地主也无其他办法,只能另找了一个新管家。这个新管家呢还是按照针对管家的那套规矩做事,可能处理问题的方式与老管家不一样(并不一定比老管家的方式差)例子化为软件设计的角度考虑:提供了相对...原创 2019-12-14 14:13:08 · 137 阅读 · 0 评论