Java基础
文章平均质量分 62
List,Map,Set
liuy-
这个作者很懒,什么都没留下…
展开
-
Java多线程
并发线程状态Debug调试,线程模式。java:6种状态NEW(新建)—— startRUNNABLE(就绪 | 运行 | 阻塞I/O)—— cpu 调度TERMINATED(终结)—— 代码执行完毕BLOCKED(阻塞)—— 获取锁失败WAITING(等待) ——获得锁的wait()TIMED_WAITING(等待有时限) ——获得锁的wait(long)或者sleep(long)操作系统:5种新建就绪(可以分到CPU时间)运行(分到CPU时间)终结阻塞(分不原创 2021-10-18 10:31:57 · 48 阅读 · 0 评论 -
设计模式——单例模式
单例模式饿汉式类加载阶段被初始化就会创建实例。提前创建。class Singleton implements Serializable{ private Singleton(){ System.out.println("private Singleton()"); } private static final Singleton INSTANCE=new Singleton(); public static Singleon getInstance(){ return INSTANCE原创 2021-10-18 10:32:18 · 73 阅读 · 0 评论 -
常用集合List、Set、Map的比较
概述:List、Set、Map都是接口,前两个继承至Collection接口,Map为独立接口。List有序,可重复1.ArrayList底层:数组;查询快,增删慢。线程不安全,效率高。getter()、setter()方法快当容量不够时,扩展当前容量*1.5+12.Vector底层:数组;查询慢,增删慢。线程安全,效率低。当容量不够时,默认扩展一倍3.Linke...原创 2021-10-17 10:04:45 · 542 阅读 · 0 评论 -
String、StringBuffer、Stringbulider的区别
java中用于处理字符串常用的有三个类:java.lang.Stringjava.lang.StringBufferjava.lang.StrungBuilder三者共同之处:都是final类,不允许被继承,主要是从性能和安全性上考虑的;防止其中的参数被参数修改影响到其他的应用。StringBuffer是线程安全,可以不需要额外的同步用于多线程中;StringBuilder是非线...原创 2021-10-17 10:04:24 · 640 阅读 · 0 评论 -
HashMap详解
HashMap16, 0.75为什么能快速查找?put操作放入key时获取key的hash值。在原始hash值的基础上再次获取hash值。二次hash值与容量取模运算%capacity。获得桶下标。根据桶下标,存入数据。get(key)时,能直接定位到桶下标。问题:当同一个下标存在多个元素,查找依旧变成O(n)。底层数据结构1.7 数组+链表1.8 数组+(链表|红黑树)为什么用红黑树?用来避免DoS攻击,防止链表超长时性能下降,树化应当是偶然情况。hash表的查找,原创 2021-10-16 23:57:47 · 93 阅读 · 0 评论 -
排序算法的对比
选择排序属于不稳定排序;多次排序可能打乱相同元素的先后顺序。两者时间复杂度O(n2)选择排序一般情况下优于冒泡排序,每轮只交换一次。如果集合有序度高,则选择冒泡排序。原创 2021-09-30 17:18:22 · 78 阅读 · 0 评论 -
各类排序算法
属于不稳定排序;多次排序可能打乱相同元素的先后顺序。时间复制度O(n2)一般情况下优于冒泡排序,每轮只交换一次。如果集合有序度高,则选择冒泡排序。 private static void selectionSort(int[] arr) { for (int i = 0; i <arr.length-1; i++) { //i 表示每轮最小值需要交换的索引 int min=i;//默认第一个索引数 最小值原创 2021-09-30 17:08:30 · 64 阅读 · 0 评论 -
二分查找算法
前提:数组有序下标 :【0,1,2,3,4,5,6, 7, 8, 9】数组a【1,3,4,5,6,7,8,10,12,56】 共10个数定义左右边界 L=0, R=n-1比较中间索引的值 (L+R)/2=M–>M向下取整>a[M]==target表示找到返回中间索引。>a[M]>target 中间值右侧的其他元素都大于target,在中间索引左边找,设置右边界R=M-1,重新查找>a[M]<target 中间..原创 2021-09-30 16:17:31 · 259 阅读 · 0 评论