![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础复习
文章平均质量分 68
雨雨季
滴滴滴哒哒哒`
展开
-
ConcurrentHashMap 1.7/1.8区别与优化点(手打知识核心点总结)
ConcurrentHashMap 1.7/1.8区别与优化点底层结构的区别1.71.8结构变化后带来的优化put方法对比1.71.8底层结构的区别1.7segment 继承 ReentrantLock 所以每个segment就是一段锁机制,也就是所谓的分段锁hashEntry和hashMap里的entry类似,每个segment对象里都有一个hashEnty[]数组,所以实际的数据是存储在hashEnty的的key,value中1.7本质上就是利用重入锁实现了分段锁的机制1.8抛弃了segm原创 2021-08-29 14:22:06 · 604 阅读 · 0 评论 -
Java中的锁
一、Lock接口在Java SE 5之后,并发包新增了Lock接口用来实现锁功能。相比于synchronize关键字:Lock虽然缺少了synchronize隐式获取释放锁的便捷性,但是多出了可操作性性。例如:可中断获取锁,超时获取锁等功能。二、重入锁公平锁和非公平锁:重入锁支持获取锁时公平性的选择。公平锁就是按照线程等待的时间来获取锁,保证绝对的公平性,减少“饥饿”的发生概率。...原创 2019-09-28 15:25:43 · 159 阅读 · 0 评论 -
ConcurrentHashMap的实现原理
ConcurrentHashMap结构ConcurrentHashMap由Segment数组和HashEntry数组构成。segment继承了ReentrantLock扮演锁的角色。HashEntry用于存储键值对数据。Segment的结构与HashMap类似,数组+链表+红黑树。要对HashEntry数组的数据进行修改要先获得Segment锁。ConcurrentHashMap初始化...原创 2019-09-28 12:07:26 · 160 阅读 · 0 评论 -
Java基础复习—注解
一、注解注解根据是否有成员变量可分为两类:标签注解和元注解1.标签注解常用的基本Annotation:@Override限定重写父类标签,在对复杂父类重写时能进行限制提示;@Deprecated表示已过时,不可再调用否则将出错@SuppressWarnings抑制编译器警告@SafeVararag抑制堆污染警告,例如不同类型数据存入集合中产生的堆污染@Functiona...原创 2019-04-03 20:22:26 · 226 阅读 · 0 评论 -
字符串常量池和intern()方法
一、Java中两种创建字符串对象的方式public static void main(String[] args) { //使用字面值创建s1对象,对象实例存放于常量池; String s1 = "1"; //使用new关键字创建s2对象,对象实例存放于堆中; String s2 = new String("1"); }...原创 2019-04-09 12:44:22 · 191 阅读 · 0 评论 -
Java基础复习—集合
一、Collection接口和Iterator1.boolean add(Object c) 添加操作,返回布尔值表示状态;2.void clear(); 清除集合里所有的元素,集合长度变为0;3.boolean contains(Object c); 查找集合里是否有指定元素c,返回布尔值;4.boolean remove(Object c); 删除数组里指定元素c,返回...原创 2019-03-28 22:20:32 · 109 阅读 · 0 评论 -
Java基础复习—异常处理
一、异常的处理机制1.使用try…catch捕获异常try { System.out.println(1/0); } catch (Exception e) { //打印异常的详细描述字符串 System.out.println(e.getMessage()); //打印异常的跟踪栈 ...原创 2019-04-01 23:38:25 · 145 阅读 · 0 评论 -
Java基础复习—Arrays工具类
1.数组的复制//定义一个数组a;int[] a = new int[]{1,2,3,4};//新定义的数组b和a的内容相同;int[] b = Arrays.copyOf(a,4);2.数组的比较//数组的比较System.out.print(Arrays.equals(a, b));3.数组的查找//查找到数组自定义索引位置的值,输出为3System.out.print...原创 2019-03-27 21:47:58 · 112 阅读 · 0 评论 -
Java基本类库的复习
使用Scanner类读取文件public class ScannerFile{ public static void main(String[] args){ Scanner sc = new Scanner(new File("file.txt")) while(sc.hasNextLine()){ System.out.println(sc.next...原创 2019-03-27 17:33:36 · 120 阅读 · 0 评论 -
Java基础复习—多线程
一、线程的创建和启动原创 2019-04-05 20:29:26 · 342 阅读 · 2 评论 -
Java基础复习—泛型
一、泛型的概念及意义我对于泛型的理解就是在一种形式类型,可以类比于形式参数。它的作用是在我们不清楚具体的类型时,做的一种形式定义。并且在这种定义下可以进行多种类型的定义。二、泛型的作用域泛型可以作用于:1.类 2.接口 3.方法;1.泛型类泛型类中最经典的就是各种容器类:set、list、map;在这些类中提供了对不同类型的相同方法。泛型类是在实例化类的时候指定泛型的具体类...原创 2019-03-31 18:38:14 · 177 阅读 · 0 评论 -
Java基础复习—输入/输出
1.File类文件名相关的方法String getName() 返回File对象的文件名String getPath() 返回File对象的相对路径File getAbsoluteFile() 返回File对象的绝对路径String getParent() 返回上一级父类名文件检测相关的方法boolean exists() 判断File对象所对应的的文件是否存在boolean...原创 2019-04-04 12:54:09 · 120 阅读 · 0 评论 -
Java中基本类型的转换和String类型
基本类型转String类型利用String类型的重载方法; (注意这是属于String的方法)String a = String.valueOf(123);普通的连接方法;String a = “” + (123);利用包装类的toString方法 (注意这是属于包装类的方法)String a = Integer.toString(int a);String类...原创 2019-03-25 22:43:54 · 285 阅读 · 0 评论 -
Java继承多态总结。及this,static,super的用法。
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体...原创 2019-03-25 20:57:19 · 219 阅读 · 0 评论