- 博客(11)
- 资源 (17)
- 收藏
- 关注
原创 AtomicInteger 源码学习
1.AtomicInteger 源码学习 1.1.带着问题学习 AtomicInteger 是怎么做到线程安全的 AtomicInteger 是怎么实现自增的 1.2.基本介绍 AtomicInteger 扩展了 Number,适用于基于数字的处理,并提供了如原子递增等,适合一些计数场景。 // Integer类型(原子性) public class AtomicInteger extends Number implements Serializable { ......... } // 设置为使用
2020-06-18 11:03:39
196
原创 Atomic基本数据类型源码学习
1.Atomic数据类型源码学习 1.1.基本介绍 // Integer类型(原子性) public class AtomicInteger extends Number implements Serializable { ....... } 在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过Synchronized进行控制来达到线程安全的目的(关于synchronized可以看这篇文章)。
2020-06-18 10:29:22
714
原创 JDK8的AQS源码学习
1.JDK8AQS源码分析学习 1.1.带着问题学习 1.AQS是什么鬼东西 2.AQS是怎么实现的 1.2.基本介绍 在并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,Doug Lea,concurrent 包的作者,编程不识Doug Lea,写尽java也枉然。 // 同步队列,是一个带头结点的双向链表,用于实现锁的语义 public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchron.
2020-06-18 10:07:40
353
原创 JDK8新特性之日期处理(二)
1.JDK8新特性之日期处理 1.1.带着问题学习 1.jdk8日期和 java.util.Date有哪些不同? 2.jdk8解决了哪些复杂的日期问题和提供了哪些现成的方法? 1.2.基本介绍 JDK8推出了lambda表达式、streams流、日期这些新特性以及一系列小优化,在这里主要介绍日期。 Java处理日期、日历和时间的不足之处:将 java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限。然后 jdk8 中替换了SimpleDateForm
2020-06-16 12:54:51
327
原创 日期格式化辅助类(一)
1.日期格式化辅助类(线程安全) SimpleDateFormat不是线程安全所以每次都去new 说明:日期格式中的这两对字母表意如下: 1、表示月份是大写的 M; 2、表示分钟则是小写的 m; 3、24 小时制的是大写的 H; 4、12 小时制的则是小写的 h。 import com.seal.util.constant.TimeConstant; import java.text.DateFormat; import java.text.ParseException; import java.text.
2020-06-15 09:32:15
237
原创 POI对Word的操作
1.POI对Word的操作 1.1.POI操作Word简介 POI读写Excel功能强大、操作简单。但是POI操作时,一般只用它读取word文档,POI只能能够创建简单的word文档,相对而言POI操作时的功能太少。 1.2.POI创建Word文档的简单示例 XWPFDocument doc = new XWPFDocument();// 创建Word文件 XWPFParagraph p = doc.createParagraph();// 新建一个段落 p.setAlignment(ParagraphAl
2020-06-13 18:20:21
1208
原创 Spring 配置quartz定时任务及时间设置
1.Spring 配置quartz定时任务及时间设置 1.1.在applicationContext-quartz.xml配置文件里面配置好 <!-- 定时任务启动 定时30推送一次 reportTemporaryService为service类名--> <bean id="reportTemporaryService" class="com.zkja.sp.service.ReportTemporaryService"></bean> <bean id ="r
2020-06-13 18:16:36
653
原创 JDK1.8HashMap的底层实现和原理
1.JDK1.8HashMap的底层实现和原理 HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null值,因为key不允许重复,因此只能有一个键为null,另外HashMap不能保证放入元素的顺序,它是无序的,和放入的顺序并不能相同。HashMap是线程不安全的,如果需要考虑并发,则需要使用ConcurrentHashMap。 HashMap结构 JDK1.7:数组 + 链表 1.数据采用头插法,新插入的元素都是放在了链表的头部位置,但是这种操作在高并发的环境下容易导
2020-06-13 16:48:38
1116
原创 一条SQL查询语句是如何执行的(基础篇一)
1.基础架构:一条SQL查询语句是如何执行的? 根据极客时间林晓斌(丁奇)老师的MySQL实战45讲总结的学习资料。 学习一个框架,你应该先鸟瞰其全貌,先从高维度看问题,然后再深入细节学习总结。 先看一个例子有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时: mysql> select * from T where ID=10; 我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。我们把 MySQL 拆解一下,看看里面都有哪些“零件”,这样
2020-06-13 11:32:53
293
原创 FindBugs插件的使用
1.基本介绍 FindBug 是一款开源的 Java 代码检查工具,遵循 GNU 公共许可协议。它可以检查 Java 类或者 JAR 文件,运行的是 Java 字节码而不是源码,检查原理是:将字节码与一组缺陷模式进行对比来发现可能存在的问题,这些问题包括空指针引用、无限递归循环、死锁等。检查的 bug 类型包括: Malicious code vulnerability:恶意代码 Dodgy code:不符合规范的代码 Internationalization:国际化相关问题,如错误的字符串转换; Ba
2020-06-12 15:22:24
380
原创 WebService的CXF框架整合Spring
服务端: 一、准备cxf的jar包:apache-cxf-2.7.11(在这里我用的是这个版本) 二、准备完jar包后去新建项目和接口 接口和实现类 三、然后去配置applicationContext_cxfbean.xml 四、把applicationContext_cxfbean.xml配置到web.xml里面 五、发布 wsdl2java -p com.asit.client
2017-05-22 17:54:21
479
spring 配置quartz需要的jar包
2018-03-15
七牛云jar包
2018-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人