Java
文章平均质量分 74
后面有鲨鱼
这个作者很懒,什么都没留下…
展开
-
CuncurrentHashMap 1.7源码分析
ConcurrentHashMap源码分析(一)一、Unsafe介绍1、Unsafe简介Unsafe类相当于是一个java语言中的后门类,提供了硬件级别的原子操作,所以在一些并发编程中被大量使用。jdk已经作出说明,该类对程序员而言不是一个安全操作,在后续的jdk升级过程中,可能会禁用该类。所以这个类的使用是一把双刃剑,实际项目中谨慎使用,以免造成jdk升级不兼容问题。2、Unsafe Api这里并不系统讲解Unsafe的所有功能,只介绍和接下来内容相关的操作arrayBaseOffset:获取原创 2021-03-21 17:51:23 · 389 阅读 · 0 评论 -
HashMap源码分析
HashMap源码分析1、HashMap存取值的原理1、存值分析:jdk1.7存值分析public V put(K key, V value) { //HashMap允许存储null键,存储在数组的0索引位置 if (key == null) return putForNullKey(value); //内部通过一个扰乱算法获得一个hash值,用于计算数组索引 int hash = hash(key); //计算数组索引 int.原创 2021-03-21 17:45:29 · 88 阅读 · 0 评论 -
一道关于创建对象的过程的面试题
考点:类初始化过程实例初始化过程方法的重写题目如下下面程序的运行结果?public class Father{ //非静态类变量显示赋值 private int i = test(); //静态类变量显示赋值 private static int j = method(); //静态代码块 static{ System.out.print("(1)"); } //无参构造器 Father(){ System.out.print("(2)")原创 2020-11-11 16:15:16 · 167 阅读 · 1 评论 -
为什么重写 equals 时必须重写 hashCode 方法?
因为不重写的话,set等不允许元素重复的散列表里会出现重复的元素。因为散列表中先判断hashCode,相等后才会比较equals。验证一下,首先我们先创建一个Person类,并重写equals方法(先不重写hashCode方法)@AllArgsConstructorpublic class Person { private String name; private String sex; public String getName() {原创 2020-07-29 11:00:09 · 678 阅读 · 2 评论 -
Java到底是值传递还是引用传递?
Java都是值传递原创 2020-07-03 18:20:07 · 117 阅读 · 0 评论 -
解决SpringBoot集成Apache CXF 发布服务端后,客户端调用不了的问题
解决SpringBoot集成Apache CXF 发布服务端后,客户端调用不了的问题先说解决方法: 在META-INF中创建services文件夹, 以Provider这个类的全名来新建立一个文件,文件中的内容为指定实现类的全名,如下:问题背景: 项目涉及到周边老系统的数据交互,采用webService的方式。调用webService有很多方式,我采用了最偷懒的方式–idea生成客户端代码(就此埋下了坑)。 后来需求增加功能,需要发布一个WebService服务接收周边系统下发的数据。(周边原创 2020-06-24 18:16:50 · 3159 阅读 · 0 评论