谈谈你对AQS的理解

谈谈你对AQS的理解 前言 AQS:AbstractQueuedSynchronizer 抽象队列同步器 AQS是一个抽象类,是我们用到的锁的基础,例如我们经常用到的 ReentrantLock Semaphore CountdownLatch
阅读全文

前后端分离项目解决跨域问题

前后端分离项目解决跨域问题 前言 首先感谢群里小伙伴 新 反馈的问题,关于token刷新写入Cookie,以及图片裁剪出现跨域请求的问题。 作为前后端分离的项目,经常会遇到跨域问题,例如下面这样的
阅读全文

Java使用Ip2region替代淘宝IP接口

Java使用Ip2region替代淘宝IP接口 前言 前段时间淘宝的IP接口宕机,导致无法直接获取到IP信息,同时调用淘宝的ip也返回缓慢,直接拖慢了系统的运行效率,导致我只能注释掉原来通过淘宝获取ip的接口。
阅读全文

VisualVM安装VisualGC插件

VisualVM安装VisualGC插件 前言 在我们安装的JDK中,提供了一个很棒的JVM调优工具,也就是 Java VisualVM,通过它我们能够看到很多关于我们Java程序的信息,比如查看
阅读全文

Java注解和反射

Java注解和反射 什么是注解 Annotation是JDK5.0开始引入的新技术 Annotation的作用 不是程序本身,可以对程序做出解释(这一点和注释没有什么区别) 可以被其它程序,比如编译器读取
阅读全文

Java中的双亲委派机制以及如何打破

Java中的双亲委派机制以及如何打破 什么是双亲委派机制 当一个类收到了类的加载请求,他首先不会尝试自己去加载这个类,而是把这个请求委派给父类去完成,每一层的类加载器都是如此,因此所有的加载请求都应该传送到启动类加载其中,只有当父类加载器反馈自己无法完成这个请求的时候(在它的加载路径下没有找到所需加载的Class),子类加载器才会尝试自己去加载。
阅读全文

JVM类加载机制

JVM类加载机制 类加载器 虚拟机设计团队把加载动作放到JVM外部实现,以便于引用程序决定如何获取所需的类,JVM提供了三种类加载器 启动类加载器 Bootstrap
阅读全文

浅谈ArrayList及扩容机制

浅谈ArrayList及扩容机制 ArrayList ArrayList就是动态数组,其实就是Array的复杂版本,它提供了动态的添加元素和删除元素的方法,同时实现了Collection 和 List接口,能够灵活的设置数组的大小。
阅读全文

9_数值计算:注意精度、舍入和溢出问题

今天,我要和你说说数值计算的精度、舍入和溢出问题。 之所以要单独分享数值计算,是因为很多时候我们习惯的或者说认为理所当然的计算,在计算器或计算机看来并不是那么回事儿。就比如前段时间爆出的一条新闻,说是手机计算器把
阅读全文

8_判等问题:程序里如何确定你就是你?

今天,我来和你聊聊程序里的判等问题。 你可能会说,判等不就是一行代码的事情吗,有什么好说的。但,这一行代码如果处理不当,不仅会出现 Bug,还可能会引起内存泄露等问题。涉及判等的
阅读全文