java
文章平均质量分 94
孤独狗传奇
孤独狗传奇
展开
-
Java-JVM-分代收集器
文章目录分代收集器Younge GenerationSerialParNewParallel ScavengeTenured GenerationCMSSerial OldParallel OldGarbage First分代收集器Younge GenerationSerialParNewParallel ScavengeTenured GenerationCMSSerial OldParallel OldGarbage First...原创 2021-10-04 15:48:36 · 307 阅读 · 0 评论 -
java-后端八股文
文章目录进程与线程的区别进程上下文切换比线程上下文切换线程同步进制java线程同步机制锁避免死锁有了互斥锁,为什么还要条件锁redis性能好的原因select、poll、epollredis多并发竞争key接口和抽象类hashcode equals ==ArrayList LinkedListTCP 三次握手 四次挥手为什么连接的时候是三次握手,关闭的时候却是四次握手为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态如果已经建立了连接,但是客户端突然出现故障了怎么办T转载 2021-09-25 17:46:43 · 5243 阅读 · 7 评论 -
Springboot controller @ResponseBody 返回为空的问题
返回报文里面没有内容,但是调试的时候都是可以正常打印的原因:Res 这个对象里面的属性没有实现get方法增加getter方法后,该问题解决原创 2020-08-22 16:05:06 · 3209 阅读 · 0 评论 -
java中list和set排序小坑~
今天调试程序时候,有个需求是集合有序,我用treeset排序的时候,遇到了点问题Input93 55 99 62 23 54 83 67 71 85 20 57 64 38 4 48 37 29 52理想Output4 20 23 37 38 48 52 54 55 57 62 64 67 83 85 93 99实际Output20 23 37 38 4 48 52 54 55 5...原创 2020-04-30 20:08:23 · 198 阅读 · 0 评论 -
itext,jxl实现pdf转为txt,txt转excel
itext,jxl实现pdf转为txt,txt转excelpom.xml配置<!--管理依赖的版本号--><properties> <com.itextpdf.version>5.3.2</com.itextpdf.version> <org.bouncycastle.version>1.52</org.bou...原创 2019-03-24 16:09:45 · 929 阅读 · 0 评论 -
Java向上向下转型、向下转型关键字intanceof的使用
新建people类public interface People { }新建China类public class China implements People {public String name;public China() {}public China(String name) { this.name = name;}public void ge...原创 2019-03-20 21:24:32 · 296 阅读 · 0 评论 -
@Async 方法上添加该注解实现异步调用的原理
spring 在扫描bean的时候会扫描方法上是否包含@async的注解,如果包含的,spring会为这个bean动态的生成一个子类,我们称之为代理类(?),代理类是继承我们所写的bean的,然后把代理类注入进来,那此时,在执行此方法的时候,会到代理类中,代理类判断了此方法需要异步执行,就不会调用父类(我们原本写的bean)的对应方法。spring自己维护了一个队列,他会把需要执行的方法,放...转载 2019-02-15 14:28:18 · 501 阅读 · 0 评论 -
LocalStorage、SessionStorage
局部存储与会话存储的区别:1、不同浏览器无法共享localStorage和sessionStorage的值。2、相同浏览器下,并且是同源窗口(协议、域名、端口一致),不同页面可以共享localStorage值,通过跳转的页面可以共享sessionStorage值。3、关于sessionStorage,通常说sessionStorage关闭页面即消失,但是通过跳转的页面可以共享sessi...原创 2019-01-16 10:37:48 · 181 阅读 · 0 评论 -
Tomcat 、Jetty、JBOSS、Nginx
第一部分概念介绍一、TomcatTomcat是应用(Java)服务器。Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,Tomcat支持动态的。二、JettyJetty通过使用APR和Tomcat本地技术的混合模型来解决Tomcat的诸多不足。混合技术模型从最新的操作系统技术里提供了最好的线程和事件处理。结果,Jetty达到了可扩展性,性能参数匹配甚至超越了本地Apa...原创 2019-01-04 17:19:03 · 335 阅读 · 0 评论 -
@Aspect @Around @Interface
简单介绍章节1:项目结构章节2:定义切面类、连接点注解类章节3:为待增强的方法--添加注解声明章节4:AspectJ配置文件章节5:测试类xxx章节6:测试结果Around 增强处理-简单介绍既可以在目标方法之前织入增强动作,也可以在执行目标方法之后织入增强动作;它可以决定目标方法在什么时候执行,如何执行,甚至可以完全阻止目标目标方法的执行;它可以改变执行目标方法的参数值,也可以改变执行目标方法之...转载 2018-05-15 20:59:56 · 1713 阅读 · 0 评论 -
分布式之数据库和缓存双写一致性方案解析
为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分组成1、...转载 2018-05-21 11:03:44 · 141 阅读 · 0 评论 -
CountDownLatch与join的区别
首先,我们来看一个应用场景1:假设一条流水线上有三个工作者:worker0,worker1,worker2。有一个任务的完成需要他们三者协作完成,worker2可以开始这个任务的前提是worker0和worker1完成了他们的工作,而worker0和worker1是可以并行他们各自的工作的。如果我们要编码模拟上面的场景的话,我们大概很容易就会想到可以用join来做。当在当前线程中调用某个线程 th...转载 2018-05-14 17:23:18 · 114 阅读 · 0 评论 -
lombok的使用
lombok简介lombok的官方地址:https://projectlombok.org/lombok的Github地址:https://github.com/rzwitserloot/lombok那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后转载 2018-05-10 15:07:22 · 192 阅读 · 0 评论 -
ReentrantLock——可重入锁的实现原理
一、 概述本文首先介绍Lock接口、ReentrantLock的类层次结构以及锁功能模板类AbstractQueuedSynchronizer的简单原理,然后通过分析ReentrantLock的lock方法和unlock方法,来解释ReentrantLock的内部原理,最后做一个总结。本文不涉及ReentrantLock中的条件变量。1.1、Lock接口Lock接口,是对控制并发的工具的抽象。它比...转载 2018-04-30 10:30:48 · 11880 阅读 · 0 评论