![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础知识
文章平均质量分 74
身残志坚闫小黑
这个作者很懒,什么都没留下…
展开
-
为什么重写equals一定要重写hashcode
hashCode的作用主要是为了散列存储的时候进行分散,确保不同的对象有不同的hashcod,在存储和查找的时候提高效率equlas的作用主要用于判断两个对象是否完全一致,即确定是否查询到指定的对象规则如果equlas得到为true,那么hashcode一定相等如果equals得到为false,那么hashcode不一定不相等如果hashcode不相等,那么equals一定得到false如果hashcode相等,那么equals不一定为true程序在运行过程中,对同一个对象多次调用has原创 2021-06-02 10:01:37 · 120 阅读 · 0 评论 -
Linux基础
目录基础操作属性操作软链接(符号链接)、硬链接文件内容查看基础操作Linux的常用操作指令属性操作chgrp: 更改文件属组 chgrp 数组名 文件名chown:更改文件属主,也可以同时更改文件属组chown 属主名 文件名chown 属主名:属组名 文件名chmod 更改文件9个属性: chmod 777 文件名 文件、目录的权限操作4 可读 2 可写 1 可执行 三位 分别是 属主权限、属组权限、其他权限软链接(符号链接)、硬链接软链接相当于快捷方式,源文件原创 2021-04-13 22:52:28 · 187 阅读 · 0 评论 -
ThreadLocal
目录ThreadLocal应用场景如何实现?ThreadLocalsThreadLocalMap关系InheritableThreadLocal参考文章ThreadLocal应用场景主要用于做数据隔离,保证同一个变量在不同线程下操作时互不干扰,可以理解为每个线程单独复制一份变量保存在线程中,对保存的副本就行操作。一个是用于上下文通信,因为ThreadLocal使用后如果步手动移除,value会一直保存(可能会发生内存泄漏),所以当一条线程一直存在的时候,可以利用这个特性对上下文都用到的对象进行存储,原创 2021-04-06 12:06:29 · 191 阅读 · 0 评论 -
HashMap和ConcurrentHashMap
HashMap 与 concurrentHashMapHashMapHashMap的特点HashMap7和8的优化HashMap 的put过程HashMap的get过程如何计算hash值为什么要与上n-1?为什么要无符号右移16位之后进行异或?HashMap的扩容HashMap扩容产生的问题concurrentHashMap谈一谈concurrentHashMap的认识)HashMapHashMap的特点使用数组加链表的结构(java8之后使用数组+链表+红黑树的结构),数组查找快,链表插入、删原创 2021-04-05 16:07:14 · 633 阅读 · 2 评论 -
Object相关的知识
ObjectObject的成员方法object的组成对象头的具体结构Object类是所有类的父类,但是不会显示的写出来 entexds Object,所以所有的类都可以使用Object中的方法,那么Object中都有什么方法?(这里使用的是java 9 版本,不要问我为什么是9)Object的成员方法以下逐个进行了解:registerNativesprivate static native void registerNatives(); static { regist原创 2021-04-04 19:16:31 · 194 阅读 · 0 评论 -
父类、子类、嵌套类
父子类调用方法总结嵌套类加载顺序嵌套类加载顺序原创 2021-04-04 12:13:50 · 581 阅读 · 1 评论 -
重写和重载的区别
重写和重载的区别重载重写对比示例注意事项重载在同一个类中,如果同名的方法,具有不同的参数类型、或者参数数量、或者参数顺序、或者返回值类型,都会被视为重载。返回值类型可以相同也可以不相同,但是参数列表一定要有所不同。重写在子类或者接口中,与父类同名的方法具有与父类相同的参数列表、返回值类型,视为方法的重写,且不能比父类方法的作用域更小。(父类声明protect,那么子类重写必须声明protect或者public)对比对比重载重写方法名一定相同一定相同参数列表一定有原创 2021-04-02 22:34:50 · 79 阅读 · 0 评论 -
Vue简单学习
特点双向绑定 通过v- 命令来绑定js中原有的属性,把vue对象中的属性引入,完成视图与数据的绑定,然后在vue对象中绑定文本框的id等,实现视图与数据的绑定同理,通过绑定vue对象中的方法,然后再通过视图将其与slot(插槽)进行绑定,可以实现插槽对vue对象的操作关注分离度简单的使用webpack打包,将所有的vue组件进行打包,指定入口和打包位置,一般为/js/bundle.js 之后在index.html页面上直接导入即可vue的常用7个对象el绑定元素data 定义元素中的属性原创 2021-03-11 09:21:28 · 325 阅读 · 0 评论 -
多线程基础学习笔记
多线程学习笔记基本概念进程线程线程的创建创建一个类 继承Thread,并重写run方法,调用时使用start开启线程创建一个类 实现Runnable接口,重写run方法,调用时先创建类,然后使用Thread.start开启线程基本概念进程执行程序的一次执行过程。是系统资源分配的单位。线程线程是CPU调度和执行的基本单位。一个进程至少包含一个线程。即使没有再创建线程,程序执行也是多线程的,main,GC线程线程的创建创建一个类 继承Thread,并重写run方法,调用时使用start开启线程开原创 2021-03-07 20:45:49 · 111 阅读 · 0 评论 -
二维数组arr不为空的判断
二维数组arr不为空的判断1.arr !=null;2.arr.length!=0; //对应{}情况3.arr.length=1 && arr[0].length=0 //对应{{}}的情况所以判断的条件应该为if(arr !=null || arr.length!=0 || (arr.length==1 && arr[0].length==0 )){ return false;}...原创 2021-02-03 11:23:44 · 619 阅读 · 0 评论