JAVA 基础
java基础知识
雄狮少年
落霞与孤鹜齐飞,秋水共长天一色。渔舟唱晚,响穷彭蠡之滨,雁阵惊寒,声断衡阳之浦
展开
-
终于找到了:一次性为数组所有元素赋值的方法 Arrays.fill(dp,Integer.MAX_VALUE/2);
【代码】终于找到了:一次性为数组所有元素赋值的方法 Arrays.fill(dp,Integer.MAX_VALUE/2);原创 2022-09-28 11:14:18 · 1256 阅读 · 0 评论 -
List转变数组
/ 此处需要注意基本数据类型和包装类的接收方式// java8中流式处理方式}}原创 2022-09-22 22:28:29 · 6069 阅读 · 0 评论 -
Java基础 : 锁
一些实例一些实例原创 2022-06-25 22:04:50 · 150 阅读 · 0 评论 -
快速排序的时间复杂度
平均 和 最好O(NlogN)可以沉思一下再回答,慌没有用,打错了只会减分、答慢一点显得你会思考最坏时间复杂度O(N的平方)添加链接描述转载 2022-05-24 15:38:18 · 147 阅读 · 1 评论 -
int long 的范围,给我问趴了
先 看这个int long byte转载 2022-05-24 15:29:06 · 63 阅读 · 0 评论 -
ConcurrenthashMap源码解析
先看这篇入门再看这篇进阶_源码Table数组指的是 全局的大Node数组put时,如果原先 Table数组中没有该hash值对应的Node结点,则CAS插入该记录(我猜每一个node结点都是用volatile修饰过的),如果原先 Table数组中有该hash值对应的Node结点,则对该Node结点(Node结点其实就是对应的链表的第一个结点或者红黑树的根节点)加Synchronized锁,这样可以确保put成功。...原创 2022-05-24 10:54:40 · 80 阅读 · 0 评论 -
CAS思想中原变量使用volatile修饰的,保证内存可见性。并发量不是很高时cas机制会提高效率,原因在于自旋时间过长,失败次数过多造成重试次数
文章目录源码解析源码解析博客园原创 2022-05-24 09:58:21 · 222 阅读 · 0 评论 -
NIO这一篇就够了
文章目录NIONIONIO选择器,也叫多路复用器,先看这篇NIO_掘金原创 2022-05-22 17:19:28 · 106 阅读 · 0 评论 -
基于常量池和不基于常量池的字符串拷贝问题——实践出真知
文章目录直接用 = 赋值,可以实现无关联拷贝直接用 = 赋值,可以实现无关联拷贝原创 2022-05-16 08:55:59 · 56 阅读 · 0 评论 -
一个java文件里面可以没有public类
文章目录一个编译单元(java文件)可以存在多个类,在编译时产生多个不同的.class文件,.class文件便是程序运行的数据来源。java将public类作为每个编译单元的数据接口,只能有一个,不然不能处理存在多个类的java文件。当一个编译单元(java文件)有多个非public类时,运行时需要对数据来源进行选择。链接一个编译单元(java文件)可以存在多个类,在编译时产生多个不同的.class文件,.class文件便是程序运行的数据来源。java将public类作为每个编译单元的数据接口,只能有一个原创 2022-05-04 10:46:28 · 1267 阅读 · 0 评论 -
关于数组复制问题
文章目录本来就有两个开辟过空间的数组,只需要交换两个数组的内容(本质是改交换两个数组名指针的指向)无中生有型(只有一个开辟过空间的数组, 需要再复制一个一模一样的数组,且其中一个内容变化,另一个不跟着变化)这时候就需要 开辟一片空间,然后使用Arrays.copyOf(数组名称(源数组),要拷贝多长的片段(从数组起点开始 计算))函数本来就有两个开辟过空间的数组,只需要交换两个数组的内容(本质是改交换两个数组名指针的指向)int[] tem = heapArr[cur];heapArr[cur] =原创 2022-04-22 10:56:36 · 117 阅读 · 0 评论 -
HashMap的加载因子为什么是0.75
文章目录补充:贴来给张图原文地址补充:初始容量 16扩容时是 2倍的策略 和 vector 以及 HashSet一样贴来给张图原文地址原文地址原创 2022-04-08 20:47:21 · 125 阅读 · 0 评论 -
IDEA快捷操作
文章目录代码补全 (Ctrl shift enter 补全分号)牛逼(类型代码补全可以连封号都补全)后缀补全(. 用于 sout if while)语句补全(还是Ctrl shift Enter)可以将写在一行的文字,移到正确位置,并补全需要的分号将一个单词用另一个单词替代(Tab)“如果用enter或者鼠标左击的话,则旧单词和新单词都会存在”![在这里插入图片描述](https://img-blog.csdnimg.cn/07ad1532eb9348f0b7665eee1c2fa00e.png?x-oss原创 2022-04-03 19:46:29 · 915 阅读 · 0 评论 -
B树,B+树,红黑树
文章目录B树B树关键码: 就是这个结点包含的值,(这个值其实隐含着对应了磁盘中的一个内存地址)子节点:孩子结点(每一个指向孩子的指针都对应了一个子节点,所以子节点也和指针一一对应)2 - 3 树(3阶B树:每个结点最多有2个关键码,3个指向孩子的指针,(除了根节点和叶节点)每个结点最少有2个指向孩子的指针,也对应着每个节点最少有一个关键码),代表每个结点最多有 2个关键码(就是值),每个节点最多有3个子节点(就是3个指向孩子的指针)m阶B树: 这里的m 代表的就是 每个节点最多有m个子节点(就是m原创 2022-02-24 23:10:41 · 330 阅读 · 0 评论 -
【JAVA 基础】1、 Java集合的快速失败机制 “fail-fast”?
快速失败机制 “fail-fast”是java集合的一种错误检测机制,当多个线程对集合进行结构上的改变的操作时,有可能会产生fail-fast 机制。例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修改了集合A的结构(是结构上面的修改,而不是简单的修改集合元素的内容),那么这个时候程序就会抛出 ConcurrentModificationException 异常,从而产生fail-fast机制。原因:迭代器在遍历时直接访问集合中的内...原创 2022-02-23 09:21:24 · 105 阅读 · 0 评论 -
【JAVA 基础】 2、 Java中Synchronized的用法
public static void main(String[] args) { System.out.println("使用关键字synchronized"); Mthreads mt=new Mthreads(); Thread thread1 = new Thread(mt, "mt1"); Thread thread2 = new Thread(mt...原创 2022-02-23 09:38:16 · 125 阅读 · 0 评论