![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java干货
文章平均质量分 69
没错,我就是程师傅
燃烧我的发际线
展开
-
DoubleAccumulator 源码详解
DoubleAccumulator 源码图文详解原创 2023-03-07 17:48:26 · 539 阅读 · 0 评论 -
ThreadLocal源码详解
threadlocal源码图文详解原创 2023-03-07 17:46:51 · 606 阅读 · 0 评论 -
聊一聊为什么JAVA只允许单继承
聊一聊为什么JAVA只允许单继承在开始啊我首先给大家解释一个误区。JAVA并不是不允许多继承,而是不允许”实现多继承“,也就是class是不允许多继承的,interface允许多继承。为什么要这么设计呢?从语言方面说,JAVA是一个面向对象编程语言,JAVA更是抽象解释为万事万物皆对象,人是对象,桌子是对象,大海也是对象。public class Person extends Table,Sea{}看上面的代码,如果说我们允许多继承,从代码方面来看当然没啥问题。 但是你会发现人既是人又是桌子原创 2021-03-11 17:32:48 · 3908 阅读 · 2 评论 -
mybatis写xml时数字类型千万别用 !=‘‘(不为空串)进行判断
前言最近项目内更新数据时,发现数字类型字段设置为0时不能正常的更新进数据库,我们打印了下mybatis的sql日志发现字段为0的sql没有被拼接。样例下面的是错误示例 ❌ <update id="update" parameterType="com.chengfengfeng.test.domain.People"> update people set <if test="age!=null and age !=''">原创 2020-09-21 13:10:01 · 21134 阅读 · 0 评论 -
惊呆了,高并发下System.currentTimeMillis()竟然有这么大的问题?!!!
前言最近在做滑动窗口的优化实现中,了解到在并发情况下System.currentTimeMillis()竟然有严重的性能问题,所以自己做测试测试下。在印象中我们感觉这是基于底层的api应该不会有什么大问题,也确实,在不是高并发下也不会出现什么问题。 /** * Returns the current time in milliseconds. Note that * while the unit of time of the return value is a millisecon原创 2020-09-19 16:33:11 · 23533 阅读 · 7 评论 -
ThreadLocal为什么会导致内存溢出
ThreadLocal为什么会导致内存溢出原创 2020-08-04 16:10:18 · 24303 阅读 · 0 评论 -
为什么SimpleDateFormat是线程不安全的
SimpleDateFormat主要是用来对日期进行格式化,那为什么说SimpleDateFormat是线程不安全的呢?详细的看一下源码。 // 全局时间对象 protected Calendar calendar; // Called from Format after creating a FieldDelegate private StringBuffer format(Date date, StringBuffer toAppendTo,原创 2020-08-04 10:26:43 · 23166 阅读 · 0 评论 -
Java弱引用WeakReference理解,这一篇就够了!
什么是弱引用如果一个对象具有弱引用(WeakReference),那么当GC线程扫描的过程中一旦发现某个对象只具有弱引用而不存在强引用时不管当前内存空间足够与否GC都会回收它的内存。由于垃圾回收器是一个优先级较低的线程,所以不一定会很快发现那些只具有弱引用的对象。为了防止内存溢出,在处理一些占用内存大而且生命周期较长的对象时候,可以尽量使用软引用和弱引用。抽象化具体我们通过学校、老师、代课老师的关系来介绍// 学校类 继承了WeakReference,引用对象是Teacherpublic clas原创 2020-06-11 18:05:26 · 25212 阅读 · 4 评论 -
手把手教你学会单例模式(2)
什么是单例模式单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,线程中的单例模式常用来做数据源的动态切换)。本章节主要是讲,线程单例模式、枚举单例模式、容器单例模式以及序列化和反射破坏单例模式的处理。原创 2019-12-07 23:41:26 · 22927 阅读 · 0 评论 -
手把手教你学会单例模式(1)
什么是单例模式单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,线程中的单例模式常用来做数据源的动态切换)本章节主要介绍饿汉式、懒加载模式、内部类单例模式等原创 2019-12-07 21:56:54 · 22866 阅读 · 0 评论 -
判断是否为闰年 java
闰年的由来:地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为每四年累计一天,故第四年于2月末加1天,使当年的历年长度为366日,这一年就为闰年。现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3原创 2016-10-27 09:53:35 · 23043 阅读 · 0 评论