基础知识
文章平均质量分 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 · 111 阅读 · 0 评论 -
Linux基础
目录基础操作属性操作软链接(符号链接)、硬链接文件内容查看 基础操作 Linux的常用操作指令 属性操作 chgrp: 更改文件属组 chgrp 数组名 文件名 chown:更改文件属主,也可以同时更改文件属组 chown 属主名 文件名 chown 属主名:属组名 文件名 chmod 更改文件9个属性: chmod 777 文件名 文件、目录的权限操作 4 可读 2 可写 1 可执行 三位 分别是 属主权限、属组权限、其他权限 软链接(符号链接)、硬链接 软链接相当于快捷方式,源文件原创 2021-04-13 22:52:28 · 88 阅读 · 0 评论 -
ThreadLocal
目录ThreadLocal应用场景如何实现?ThreadLocalsThreadLocalMap关系InheritableThreadLocal参考文章 ThreadLocal 应用场景 主要用于做数据隔离,保证同一个变量在不同线程下操作时互不干扰,可以理解为每个线程单独复制一份变量保存在线程中,对保存的副本就行操作。 一个是用于上下文通信,因为ThreadLocal使用后如果步手动移除,value会一直保存(可能会发生内存泄漏),所以当一条线程一直存在的时候,可以利用这个特性对上下文都用到的对象进行存储,原创 2021-04-06 12:06:29 · 71 阅读 · 0 评论 -
HashMap和ConcurrentHashMap
HashMap 与 concurrentHashMap HashMapHashMap的特点HashMap7和8的优化HashMap 的put过程HashMap的get过程如何计算hash值为什么要与上n-1?为什么要无符号右移16位之后进行异或?HashMap的扩容HashMap扩容产生的问题concurrentHashMap谈一谈concurrentHashMap的认识 ) HashMap HashMap的特点 使用数组加链表的结构(java8之后使用数组+链表+红黑树的结构),数组查找快,链表插入、删原创 2021-04-05 16:07:14 · 213 阅读 · 2 评论 -
Object相关的知识
ObjectObject的成员方法object的组成对象头的具体结构 Object类是所有类的父类,但是不会显示的写出来 entexds Object,所以所有的类都可以使用Object中的方法,那么Object中都有什么方法?(这里使用的是java 9 版本,不要问我为什么是9) Object的成员方法 以下逐个进行了解: registerNatives private static native void registerNatives(); static { regist原创 2021-04-04 19:16:31 · 187 阅读 · 0 评论 -
父类、子类、嵌套类
父子类调用方法总结嵌套类加载顺序 嵌套类加载顺序原创 2021-04-04 12:13:50 · 371 阅读 · 1 评论 -
重写和重载的区别
重写和重载的区别重载重写对比示例注意事项 重载 在同一个类中,如果同名的方法,具有不同的参数类型、或者参数数量、或者参数顺序、或者返回值类型,都会被视为重载。返回值类型可以相同也可以不相同,但是参数列表一定要有所不同。 重写 在子类或者接口中,与父类同名的方法具有与父类相同的参数列表、返回值类型,视为方法的重写,且不能比父类方法的作用域更小。(父类声明protect,那么子类重写必须声明protect或者public) 对比 对比 重载 重写 方法名 一定相同 一定相同 参数列表 一定有原创 2021-04-02 22:34:50 · 69 阅读 · 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 · 289 阅读 · 0 评论 -
多线程基础学习笔记
多线程学习笔记基本概念进程线程线程的创建创建一个类 继承Thread,并重写run方法,调用时使用start开启线程创建一个类 实现Runnable接口,重写run方法,调用时先创建类,然后使用Thread.start开启线程 基本概念 进程 执行程序的一次执行过程。是系统资源分配的单位。 线程 线程是CPU调度和执行的基本单位。一个进程至少包含一个线程。即使没有再创建线程,程序执行也是多线程的,main,GC线程 线程的创建 创建一个类 继承Thread,并重写run方法,调用时使用start开启线程 开原创 2021-03-07 20:45:49 · 100 阅读 · 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 · 583 阅读 · 0 评论