![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
PasserBy*_*
路漫漫其修远兮,吾将上下而求索。
展开
-
HashMap插入数据原理分析
在JDK1.7中,HASHMAP是由数组+链表实现的,原理图如下:HashMap map = new HashMap(); // 伪初始化map.put("键","值"); // 真初始化1、HashMap初始化操作HashMap的构造方法在执行时会初始化一个数组table,大小为0。 HashMap的PUT方法在执行时首先会判断table的大小是否为0,如果为0则会进行真初...原创 2020-05-07 18:33:20 · 2349 阅读 · 0 评论 -
java中对象的copy与clone
1、对象的copy(属于浅拷贝)对象的copy有两种方法BeanUtils与PropertyUtils 相同的:都是浅拷贝,都提供了copyProperties()方法,只要属性名相同就可以从源bean中拷贝值到目标bean中,而不用管两个对象是不是相同类型的对象 不同点: BeanUtils.copyProperties提供类型转换功能,BeanUtils会调用默认的转换器(Conv...原创 2019-09-18 20:16:28 · 2225 阅读 · 0 评论 -
java中的集合分析
Java中的集合包括三大类,它们是Set(集)、List(列表)和Map(映射),它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。Collection是最基本的集合接口,声明了适用于JAVA集合...原创 2019-08-28 17:36:00 · 143 阅读 · 0 评论 -
统一异常处理介绍及实战
背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块...原创 2020-03-14 16:27:39 · 586 阅读 · 0 评论 -
synchronized/volatile/ReentrantLock/ThreadLocal介绍
1、https://blog.csdn.net/qq_38545713/article/details/800354822、https://blog.csdn.net/qq_38545713/article/details/797791633、总结一下原创 2020-03-10 18:39:43 · 349 阅读 · 0 评论 -
多线程之Lock与synchronized比较及使用
第一:先比较两者的区别:类别synchronizedLock存在层次Java的关键字,在jvm层面上是一个类 java.util.concurrent.locks锁的释放1、以获取锁的线程执行完同步代码,释放锁 2、线程执行发生异常,jvm会让线程释放锁一般用在try()catch{}中然后在finally中必须释放锁,不然容易造成线程死锁锁的获取假设A线程获得锁,B线程等待。如果A线程阻塞...原创 2018-04-22 01:24:32 · 935 阅读 · 0 评论 -
线程中的关键字volatile的介绍
1.首先为什么会有缓存一致性问题,为什么会需要colatile关键字呢?首先要先了解cpu,在计算机中,cpu和内存的交互最为频繁,相比内存,磁盘读写太慢,但是随着cpu的发展,内存的读写速度也远远赶不上cpu。因此cpu厂商在每颗cpu上加上高速缓存,用于缓解这种情况。 cpu上加入了高速缓存这样做解决了处理器和内存的矛盾(一快一慢),但是引来的新的问题 -缓存一致性 在单核cpu中并...原创 2018-04-01 16:49:33 · 329 阅读 · 0 评论 -
重写对象的hashcode和equals方法实现对List对象集合中对象元素的去重复
1.我们大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。public class Test { public static void main(String[] args) { List list = new ArrayList(); ...原创 2019-09-02 20:13:20 · 986 阅读 · 0 评论 -
统一异常处理介绍及实战
原文出处:https://mp.weixin.qq.com/s/aUfrgU-qBrQ5KrI_r1iz7g背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在...转载 2019-07-04 15:37:14 · 998 阅读 · 1 评论 -
JAVA异常分类和自定义异常定义
异常概念:1、如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下 会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用 这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。2、Throwable 是 Java 语言中所有错误或异常的超类。下一层分为 Error 和 ExceptionError1....原创 2019-06-10 11:16:59 · 11439 阅读 · 0 评论