5种创建Java对象的方式
摘要:在本篇文章中,将介绍5种创建Java对象的方式。 1. 使用new关键字 package com.idea.test; public class Student { private String userName; private String nickName; public Student(St
阅读全文
posted @
2020-09-28 17:54
小破孩楼主
阅读(211)
推荐(0) 编辑
java 中的文件操作
摘要:1、创建文件 File file = new File("xxx.txt"); System.out.println(file.createNewFile()); 2、创建文件夹 file.mkdir(); file.mkdirs(); mkdirs() //可以建立多级文件夹 可建立/file/o
阅读全文
posted @
2020-09-16 18:52
小破孩楼主
阅读(356)
推荐(0) 编辑
JDK8:HashMap源码解析:TreeNode类的balanceInsertion方法
摘要:一、概述 balanceInsertion指的是红黑树的插入平衡算法,当树结构中新插入了一个节点后,要对树进行重新的结构化,以保证该树始终维持红黑树的特性。 关于红黑树的特性: 性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3 每个叶节点(NIL节点,空节点)是黑色的。 性质4 每个红
阅读全文
posted @
2020-09-02 23:34
小破孩楼主
阅读(327)
推荐(0) 编辑
红黑树
摘要:红黑树动态演示地址:https://www.cs.usfca.edu/~galles/visualization/RedBlack.html
阅读全文
posted @
2020-09-02 21:28
小破孩楼主
阅读(147)
推荐(0) 编辑
java集合 list、set、map能否存储null
摘要:java集合能否存储null package com.idea.test.nulltest; import jxl.common.Assert; import java.util.*; import java.util.concurrent.ConcurrentHashMap; public cla
阅读全文
posted @
2020-08-26 17:59
小破孩楼主
阅读(9121)
推荐(3) 编辑
Java中的Unsafe
摘要:Java和C++语言的一个重要区别就是Java中我们无法直接操作一块内存区域,不能像C++中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。 Unsafe类,全限定名是sun.misc.Unsafe,从名字中我们可以看出来这个类对普通程序员来说是“
阅读全文
posted @
2020-08-25 18:10
小破孩楼主
阅读(1031)
推荐(0) 编辑
ConcurrentHashMap 源码浅析 1.7
摘要:简介 (1) 背景HashMap死循环:HashMap在并发执行put操作时会引起死循环,是因为多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry.HashTable效率低下:HashTable容器使用s
阅读全文
posted @
2020-08-24 15:28
小破孩楼主
阅读(153)
推荐(0) 编辑
jxl导入/导出Excel(Maven)
摘要:jxl && POI jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱,很多时候,一个软件应用程序需要生成Micr
阅读全文
posted @
2020-08-24 12:20
小破孩楼主
阅读(4437)
推荐(1) 编辑
HashMap的hashSeed的问题
摘要:final boolean initHashSeedAsNeeded(int capacity) { //通过上面的过程,我们知道了currentAltHashing =false boolean currentAltHashing = hashSeed != 0; //useAltHashing
阅读全文
posted @
2020-08-22 14:22
小破孩楼主
阅读(482)
推荐(0) 编辑
StringUtils工具类用法 很讨厌这些工具类(没有验证)
摘要:org.apache.commons.lang.StringUtils /*1.字符串以prefix开始*/ StringUtils.startsWith("sssdf","");//结果是:true StringUtils.startsWith("sssdf","");//结果是:true Str
阅读全文
posted @
2020-08-20 16:55
小破孩楼主
阅读(300)
推荐(0) 编辑
StringBuffer的delete方法与deleteCharAt的区别
摘要:1、介绍 delete方法与deleteCharAt两个方法都是用来删除StringBuffer字符串指定索引字符的方法, delete(int a,int b)有两个参数,使用时删除索引从a开始(包含a)到b(不包含b)的所有字符; deleteCharAt(int a)只有一个参数,使用时删除索
阅读全文
posted @
2020-08-20 15:58
小破孩楼主
阅读(319)
推荐(0) 编辑
LinkedHashMap和hashMap和TreeMap的区别
摘要:区别: LinkedHashMap应用场景 插入顺序和访问顺序。 TreeMap的用法(主要是排序) 回到顶部 区别: LinkedHashMap是继承于HashMap,是基于HashMap和双向链表来实现的。 HashMap无序;LinkedHashMap有序,可分为插入顺序和访问顺序两种。如果是
阅读全文
posted @
2020-08-20 11:00
小破孩楼主
阅读(414)
推荐(0) 编辑
HashMap源码解读(JDK1.7版)
摘要:一、数据结构 HashMap采用链地址法解决哈希冲突,因此其结构就是由数组+链表组成,数组是HashMap的主体,链表则主要是为了解决哈希冲突而存在的,如果对应的数组位置不含链表,那么查找的时间复杂度仅为O(1),同时不管有无链表,插入操作的时间复杂度也一直为O(1),因为最新的Entry会插入链表
阅读全文
posted @
2020-08-19 22:52
小破孩楼主
阅读(227)
推荐(0) 编辑
java中逻辑右移">>>"算术右移">>"的区别?
摘要:1、算数右移 “>>” 考虑符号位,右移1位,若符号位为1,则左边补1;若符号位为0,则左边补0。 2、逻辑右移 “>>>” 不考虑符号位,左边统一补0 例子: byte a = ~127; System.out.println(a); a = (byte)(a >>> 2); //强制转成byte
阅读全文
posted @
2020-08-18 23:43
小破孩楼主
阅读(830)
推荐(0) 编辑
Java 强、弱、软、虚,你属于哪一种?
摘要:Java中的四种引用 Java中有四种引用类型:强引用、软引用、弱引用、虚引用。 Java为什么要设计这四种引用 Java的内存分配和内存回收,都不需要程序员负责,都是由伟大的JVM去负责,一个对象是否可以被回收,主要看是否有引用指向此对象,说的专业点,叫可达性分析。 Java设计这四种引用的主要目
阅读全文
posted @
2020-08-07 18:33
小破孩楼主
阅读(145)
推荐(0) 编辑
内存溢出和内存泄漏的区别
摘要:1.1内存溢出:(Out Of Memory OOM) 系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出 例子:一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出。比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做
阅读全文
posted @
2020-08-07 16:54
小破孩楼主
阅读(137)
推荐(0) 编辑
Java异常被抛出或被捕获之后,代码是否继续执行的问题
摘要:在写程序的时候,我们经常被教导,要对异常的信息进行处理,哪里该抛出异常。但是,更多的时候,我们只是模仿异常的抛出,却不知道为什么要这样抛异常(被catch了?被向上抛了?后面的代码是否执行了?)。 接下来,我就简单的说一下异常抛出后的代码执行问题。此处不讨论自定义异常,因为自定义异常有自己的处理方式
阅读全文
posted @
2020-07-31 17:57
小破孩楼主
阅读(1611)
推荐(0) 编辑
Java异常和错误
摘要:一、异常的分类 二、常见的异常 三、打印异常的三种方式 运行结果: java.lang.ArithmeticException: / by zeroat test3.Test.main(Test.java:6) 2 java.lang.ArithmeticException: / by zero 3
阅读全文
posted @
2020-07-28 22:44
小破孩楼主
阅读(111)
推荐(0) 编辑
java-异常体系
摘要:1 异常的继承体系结构 Throwable 类是 Java 语言中所有错误或异常的超类。 只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 Throwable 包含了其线程创
阅读全文
posted @
2020-07-28 22:40
小破孩楼主
阅读(225)
推荐(0) 编辑