JAVA-EE
文章平均质量分 54
King夜吻天蝎
这个作者很懒,什么都没留下…
展开
-
java中equals和==的比较
在java基本类型的比较可以用equals和==两种方式。大家都知道使用equals,是比较连个对象的引用,==比较的是对象本身,但是有些情况跟我想象的还是有差别的,看下面的例子:如果按照我们原有的思维,输出的肯定是false,true,其实并不是看输出结果:在看一个例子,如下:输出结果为:在JDK5.0及其以上版本,JVM在启动的时候为原创 2017-01-12 18:35:01 · 227 阅读 · 0 评论 -
HashMap源码学习
1、核心属性 //最大容量 2的30次方 static final int MAXIMUM_CAPACITY = 1 << 30; //默认的加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f; //哈希桶,存放链表。 长度是2的N次方,或者初始化时为0. transient Node<K,V>...原创 2019-09-04 15:40:16 · 164 阅读 · 0 评论 -
springboo配置druid
1、在application.properties中配置数据库信息##配置数据源,使用druid# 驱动配置信息spring.datasource.url=jdbc:mysql://192.168.6.209:3306/test2?useUnicode=true&characterEncoding=utf8&useSSL=falsespring.datasource.use...原创 2019-05-13 11:24:16 · 326 阅读 · 0 评论 -
springboot集成mybatis
1、依赖的jar包<properties> <mybatis-spring-boot>2.0.0</mybatis-spring-boot> <mysql-connector>8.0.15</mysql-connector> <druid-version>1.1.16</druid-versio...原创 2019-05-10 16:24:42 · 127 阅读 · 0 评论 -
springboot进行mock测试
1、使用spring@RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class)public class PersonControllerTest2 { @Autowired private WebApplicationContext context; private MockMv...原创 2019-05-14 11:59:49 · 7182 阅读 · 1 评论 -
springboot全局异常处理
1、spring提供了一套控制全局异常的注解配置,通过使用注解,可以给异常一个全局出口,使用@RestControllerAdvice或者@ControllerAdvice(@RestControllerAdvice相当于@ControllerAdvice和@ResponseBody的组合)2、@ControllerAdvice:是controller的一个辅助类,最常用的就是作为全局异常处理的...原创 2019-05-05 11:43:47 · 241 阅读 · 0 评论 -
springboo读取配置文件
SpringBoot读取配置文件1、springboot的配置文件默认为application.properties。springboot启动时会自动加载根目录下的application.properties文件2、如果参数配置直接放在application.properties中,则可以使用@Component和@Value注解搭配使用。如果不想在每个属性上都使用@Value注解,则可以...原创 2019-04-16 19:54:24 · 359 阅读 · 0 评论 -
线程池介绍
创建线程池的方法1、使用JDK1.5自带的Executors框架创建线程池。Executors框架提供了4种线程池的创建方法创建一个固定数量的线程池public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThreads, nThread...原创 2019-03-25 16:36:57 · 277 阅读 · 0 评论 -
ReentrantLock的实现原理
ReentrantLock是一个显示锁,实现基础都是AQS。所谓的AQS就是AbstractQueuedSynchronizer,AQS的作用用来构建锁和同步工具的框架, ReentrantLock、CountDownLatch、Semaphore基础都是AQSAQS有个state变量,是int类型,使用了volatile修饰,AQS围绕state提供两种基本的获取和释放功能Reen...原创 2019-03-21 16:02:21 · 1550 阅读 · 0 评论 -
HashMap的分析
1、了解一下hashMap的基本特性: 1>访问速度快,但顺序不确定。 2>允许value为null,最多允许一条记录的key为null。 3>非线程安全。2、hashMap的内部结构数据结构中通常通过数组和链表两种方式来存储数据。数组存储的特点:连续的,内存占用严重,查找容易,插入和删除困难链表存储的特点:离散的,内存占用较宽松,查找困难,但插入和删除容易而Has原创 2018-01-25 17:06:58 · 182 阅读 · 0 评论 -
关于equals()和hashCode()的分析
今天跟同事讨论到一些java基础的问题:1、什么时候重写equals?2、什么时候重写hashcode?3、什么时候两个都要重写?4、equals相等hashcode一定相等吗?5、hashcode相等equals一定相等吗?现在,对这几个问题,好好做一下分析:第一:什么时候需要重写equals首先,对于equals,我要知道它自己有一套比较的逻辑,对于非引用对象,原创 2018-01-25 15:17:54 · 245 阅读 · 0 评论 -
LinkedHashMap源码分析
1、特点LinkedHashMap有序的,内部维护了一个双向链表2、LinkedHashMap是如何保证顺序的 2.1 核心属性//是否根据操作顺序排序final boolean accessOrder;//链表头节点transient LinkedHashMap.Entry<K,V> head;//链表尾节点transient LinkedHash...原创 2019-09-06 16:33:31 · 177 阅读 · 0 评论