摘要:前言 因为平时的开发工具是使用IntelliJ IDEA,所以热部署项目代码的时候,使用的Jrebel。因为Jrebel是收费的,所以以前用的时候都是在网上找破解方法(国人通用做法),在网上找到的办法是输入一个在线激活服务,来进行激活。由于简单方便就一直这样用的,今天早上打开IDEA后发现,Jreb 阅读全文
posted @ 2019-07-10 01:11 纪莫 阅读(6605) 评论(3) 推荐(5) 编辑
摘要:前言 这次想介绍一下Java Stream的API使用,最近在做一个新的项目,然后终于可以从老项目的祖传代码坑里跳出来了。项目用公司自己的框架搭建完成后,我就想着把JDK版本也升级一下吧(之前的项目,最高就能用JDK7),但是后来发现公司的项目部署打包平台最高只支持到JDK8。那好吧,既然就支持到J 阅读全文
posted @ 2019-06-17 00:41 纪莫 阅读(10168) 评论(4) 推荐(10) 编辑
摘要:这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍。 JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署。收费的,破解比较麻烦。不过功能确实很强大。算是开发必备神器了。热部署快捷键是control+F9/command+F9。 .igno 阅读全文
posted @ 2018-04-11 23:39 纪莫 阅读(171692) 评论(15) 推荐(42) 编辑
摘要:前言 在Java面试的时候,多线程相关的知识是躲不掉的,肯定会被问。我就被问到了AQS的知识,就直接了当的问,AQS知道是什么吧,来讲讲它是怎么实现的,以及哪些地方用到了它。当时自己确实没有讲好,所以这次来总结一下这个知识点。 什么是AQS AQS全称是AbstractQueuedSynchroni 阅读全文
posted @ 2020-09-30 08:08 纪莫 阅读(370) 评论(0) 推荐(1) 编辑
摘要:前言 看到题目就知道了,这又是我在面试中遇到的,最近面试,把我的博文质量感觉都提上来了。面一次试感觉够我总结一周的,但还是每次都能遇到知识盲点,那以后就当面试总结是个扫盲的过程吧。 缓存穿透 面试的时候就被问到了这个问题,具体描述就是,正常的请求都是先请求到缓存(就当我们的缓存是Redis吧),如果 阅读全文
posted @ 2020-09-16 08:39 纪莫 阅读(757) 评论(3) 推荐(5) 编辑
摘要:前言 面试的时候有被问到,synchronized底层是怎么实现的,回答的比较浅,面试官也不是太满意,所以觉得要好好总结一下,啃啃这个硬骨头。 synchronized使用场景 我们在使用synchronized的时候都知道它是可以使用在方法上的也可以使用在代码块上的,那么使用在这两个地方有什么区别 阅读全文
posted @ 2020-09-14 08:53 纪莫 阅读(374) 评论(0) 推荐(2) 编辑
摘要:前言 面试的时候被问到ThreadLocal的相关知识,没有回答好(奶奶的,现在感觉问啥都能被问倒),所以我决定先解决这几次面试中都遇到的高频问题,把这几个硬骨头都能理解的透彻的说出来了,感觉最起码不能总是一轮游。 ThreadLocal介绍 ThreadLocal是JDK1.2开始就提供的一个用来 阅读全文
posted @ 2020-09-10 23:08 纪莫 阅读(293) 评论(0) 推荐(1) 编辑
摘要:前言 之前在面试的过程中有被问到,ConcurrentHashMap的size方法是线程安全的吗? 这个问题,确实没有答好。这次来根据源码来了解一下,具体是怎么一个实现过程。 ConcurrentHashMap的原理与结构 我们都知道Hash表的结构是数组加链表,就是一个数组中,每一个元素都是一个链 阅读全文
posted @ 2020-09-07 10:25 纪莫 阅读(339) 评论(0) 推荐(2) 编辑
摘要:前言 在面试的时候这两年有一个非常高频的关于spring的问题,那就是spring是如何解决循环依赖的。这个问题听着就是轻描淡写的一句话,其实考察的内容还是非常多的,主要还是考察的应聘者有没有研究过spring的源码。但是说实话,spring的源码其实非常复杂的,研究起来并不是个简单的事情,所以我们 阅读全文
posted @ 2020-08-25 23:55 纪莫 阅读(438) 评论(0) 推荐(2) 编辑
摘要:前言 最近在面试,有被问到,MySQL的InnoDB引擎是如何实现事务的,又或者说是如何实现ACID这几个特性的,当时没有答好,所以自己总结出来,记录一下。 事务的四大特性ACID 事务的四大特性ACID分别是,A-原子性(Atomicity),C-一致性(Consistency),I-隔离性(Is 阅读全文
posted @ 2020-08-19 11:31 纪莫 阅读(438) 评论(0) 推荐(0) 编辑
摘要:前言 从JDK5到JDK6HotSpot虚拟机开发团队花费了大量的资源实现了各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(LightEight Locking)、偏向锁(Biased 阅读全文
posted @ 2020-07-26 08:58 纪莫 阅读(193) 评论(2) 推荐(1) 编辑
摘要:前言 我们在编写程序的时候,一般是有个顺序的,就是先实现再优化,并不是所有的牛P程序都是一次就写出来的,肯定都是不断的优化完善来持续实现的。因此我们在考虑实现高并发程序的时候,要先保证并发的正确性,然后在此基础上来实现高效。所以线程安全是高并发程序首先需要保证的。 线程安全定义 对于线程安全的定义可 阅读全文
posted @ 2020-07-15 23:48 纪莫 阅读(161) 评论(0) 推荐(0) 编辑
摘要:前言 我们都知道,线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源调度(内存地址、文件I/O等),又可以独立调度。 线程的实现 主流的操作系统都提供了线程实现,Jav语言则是提供了在不同硬件和操作系统平台下对线程操作的统一处理,每个已 阅读全文
posted @ 2020-07-11 13:59 纪莫 阅读(427) 评论(0) 推荐(0) 编辑