Java基础
文章平均质量分 54
xyyf
后端java开发,写博客主要是对平时工作和学习中的一些笔记记录,热爱编程!钻研技术!时时记录!天天进步!
展开
-
线程池的七个参数
如果任务数大于核心线程数和阻塞队列的容量,线程池会创建临时线程(临时线程数等于最大线程数-核心线程数数量)来处理多出来的任务。如果临时线程没有任务了则会进入空闲状态,等到空闲时间到则会销毁该临时线程。如果任务数大于最大线程数和阻塞队列容量则会触发拒绝策略,拒绝多余的任务。如果任务数大于核心线程数则会将任务存储放到阻塞队列中。线程池接收任务时,优先会使用核心线程来处理任务。原创 2024-04-02 13:07:29 · 279 阅读 · 0 评论 -
Java多线程三种实现方式
输出结果:线程1输出内容线程2输出内容线程1输出内容线程2输出内容线程2输出内容线程2输出内容线程2输出内容线程2输出内容线程2输出内容线程1输出内容线程2输出内容线程1输出内容线程1输出内容线程1输出内容线程1输出内容线程2输出内容线程2输出内容线程1输出内容线程1输出内容线程1输出内容最简单的实现多线程的方法,但拓展性差,Java中只能继承一个父类,也就意味着不能继承其他类了。原创 2024-03-30 20:07:34 · 387 阅读 · 0 评论 -
IO流详解
需要注意的时字符流读取数据会将读取到的二进制码转变成十进制,我们把(char)强转删除就能看到。输出结果: [97, -27, -107, -118, -24, -65, -103]在执行read方法时会从目标文件中试图获取8KB的数据,然后从缓冲区中读取数据。idea默认使用的时Unicode的utf-8编码格式,中文字符占3个字节。除了缓冲区写满,调用flush和close方法也会将缓冲区的数据写入目标文件。第二次读取三分之一的“啊”和三分之二的“这”第三次读取剩下的三分之一的“这”原创 2024-03-22 17:24:15 · 506 阅读 · 0 评论 -
利用File类实现文件和文件夹大小计算
返回值: 135126。原创 2024-03-21 16:58:42 · 347 阅读 · 0 评论 -
Stream流
结果:a b c d e f。原创 2024-03-18 09:00:00 · 543 阅读 · 0 评论 -
TreeMap底层原理
TreeMap特点:添加的键是可排序、不重复、无索引的TreeMap主要的数据结构实现。原创 2024-03-17 09:00:00 · 896 阅读 · 0 评论 -
Java的集合Collection和Map
java中的集合分为两大家族,单列集合和双列集合,分别是Collection和Map。LinkedHashSet:特点:有序、不重复、无索引(数组+双向链表+红黑树)HashSet特点:无序、不重复、无索引(数组+链表+红黑树)LinkedList特点:有序、可重复、有索引(双向链表)TreeMap特点:添加的键是可排序、不重复、无索引的。ArrayList特点:有序、可重复、有索引(数组)TreeSet特点:可排序、不重复、无索引(红黑树)HashMap特点:添加的键是无序、不重复、无索引的。原创 2024-03-16 13:24:57 · 426 阅读 · 1 评论 -
HashMap底层原理
hashMap是一个无序,不重复,无索引的双列集合,通过hashCode方法和equals方法保证键唯一hashMap主要依靠数组、链表、红黑树的数据结构实现,当发生哈希 碰撞时新加的元素会接在原来数组的元素后面形成一个链表,当链表长度大于等于8数组长度大于等于64时会将链表转化成红黑树来增加查询效率。注:哈希碰撞即在不同对象不同属性的情况下计算出的哈希值相同(概率很小)原创 2024-03-12 13:48:58 · 1084 阅读 · 1 评论 -
Map集合的遍历方法
用keySet()方法将双列集合的key变成一个单列集合遍历key集合获取value当然除了增强for还可以使用迭代器或者forEach。原创 2024-03-05 16:06:28 · 252 阅读 · 0 评论 -
LinkedList底层原理
LinkedList是一个双向列表实现的单列集合。有序,可重复、有索引。原创 2024-03-04 21:23:02 · 358 阅读 · 1 评论 -
ArrayList底层原理
当我们在new一个ArrayList如果是空参时底层会创建一个名字为elementData长度为0的数组。原创 2024-03-04 16:03:38 · 719 阅读 · 1 评论 -
Java中的Switch
输出内容为“这是一”不写default程序不会报错当a!=1且a!=2时不做任何处理删除了case 1 的break如果a=1程序不会再case1 中跳出会继续执行所以输出内容是“这是一 这是二”原创 2024-03-01 10:02:44 · 191 阅读 · 1 评论 -
Java中int类型和Integer的区别
new Integer()出的对象其地址不同所以直接使用“==”返回一定时false,而直接赋值在-128到127之间时java通过缓存获取数据其地址相同所以“==”返回true,而越过-128到127这个范围赋值,其与直接new Integer()无异,地址终究不相同所以时false。原创 2024-02-28 17:46:49 · 338 阅读 · 0 评论 -
Java中基础数据类型和引用数据类型的区别
1、基本数据类型:有且只有整数、浮点、布尔、字符类型在java中由int、double、boolean、char表示。2、引用数据类型:除了以上数据类型都是引用数据类型。原创 2024-02-28 21:33:13 · 187 阅读 · 1 评论 -
Java手动实现代理Proxy
【代码】Java手动实现代理Proxy。原创 2024-02-29 19:32:13 · 123 阅读 · 0 评论 -
Java通过反射获取类的构造方法、属性、成员方法
【代码】Java通过反射获取类的构造方法。原创 2024-02-29 20:53:11 · 182 阅读 · 0 评论