
java
逃不可逃的2020
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LinkedBlockingQueue和ArrayBlockingQueue
区别 ArrayBlockingQueue LinkedBlockingQueue 是否有界 不可扩容,有界 可有可无,最大值Integer.Max,无界时注意防止内存溢出 gc 采用的是数组的存储容器,因此在插入或删除元素时不会产生或销毁任何额外的对象实例 长时间内需要高效并发地处理大批量数据的时,对于GC可能存在较大影响 锁 即添加操作和移除操作采用的同一个ReenterLock锁 LinkedBlockingQueue实现的队列中的锁是分离的原创 2022-02-16 23:21:56 · 186 阅读 · 0 评论 -
线程池参数详解
七个参数合理配置原创 2020-04-11 08:45:57 · 221 阅读 · 0 评论 -
JVM类加载过程
类生命周期:加载在Java程序运行之前JVM会把编译完成的.class二进制文件加载到内存,后续提供程序使用,用到的就是类加载器ClassLoader 。加载阶段与连接阶段的部分内容(如一部分字节码文件格式验证动作)是交叉进行的,加载阶段尚未结束,连接阶段就可能开始了。但是夹在加载阶段进行的动作,仍然属于连接阶段的内容。验证文件格式验证,元数据验证,字节码验证,符号引用验证准备正...原创 2020-04-14 10:54:25 · 165 阅读 · 0 评论 -
HashMap核心总结
数据结构:数组+链表+红黑树为啥用数组:数组使用连续存储单元存储数据,查找复杂度为O(1),非常快,但是移动效率低,为O(n) 通过hash算法得到数组下标,index=hashcode%数组长度,但是hash算法有可能会对不同的key算出同样的hash值,导致hash冲突 为了解决hash冲突,引入线性链表:单向链表:插入删除效率很高,O(1),查找效率低O(n) 当链表中元素越来...原创 2020-04-13 17:25:49 · 159 阅读 · 0 评论 -
集合的不安全性
如何验证集合的不安全性 Map<String, Object> map2 = new ConcurrentHashMap<>(); Map<String, Object> map1 = Collections.synchronizedMap(new HashMap<String, Object>()); ...原创 2020-04-12 17:24:35 · 144 阅读 · 0 评论 -
垃圾回收器
七种垃圾回收器java8 默认的是Parallel Scavenge-Parallel Old java9 默认是G1 ParallelScavenge 和ParNew的区别在于:1)可控制的吞吐量 2)自适应调节策略 使用策略:单核或小内存:-XX:+UseSerialGC 多核,需要大吞吐量,如后台计算应用:-XX:+UseParallelGC 或者-XX:+UsePar...原创 2020-04-12 09:24:38 · 157 阅读 · 0 评论 -
四种引用
强引用:不会被回收软引用:当内存充足时不回收,当内存不够时回收弱引用:回收case: public static void main(String[] args) { Object obj = new Object(); WeakReference<Object> weakReference = new WeakReference&...原创 2020-04-11 19:52:13 · 106 阅读 · 0 评论 -
报错信息:java.lang.NoClassDefFoundError: org/apache/ibatis/reflection/ExceptionUtil
<where> <if test=" deptName!=null and deptName!='' "> <bind name="deptName" value="'%' + deptName +'%'"/> DEPT_NAME like #{deptName...原创 2020-03-19 16:11:26 · 9817 阅读 · 2 评论 -
Error setting non null for parameter #11 with JdbcType null
报错信息:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='assessmentType', mode=IN, jav...原创 2020-03-13 20:37:49 · 2545 阅读 · 0 评论 -
Transaction is marked for rollback only or has timed out
Springboot,Activiti,Atomikos:com.atomikos.datasource.xa.session.InvalidSessionHandleStateException: Transaction is marked for rollback only or has timed out at com.atomikos.datasource.xa.sessio...原创 2019-12-23 17:02:25 · 1763 阅读 · 0 评论 -
### Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
org.springframework.dao.DataIntegrityViolationException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字### The error may exist in file [C:\Users\liuhaiyun\g...原创 2019-02-13 17:59:44 · 10412 阅读 · 0 评论 -
SpringBootTest 和PowerMocker
import static org.junit.Assert.assertNotEquals;import static org.junit.Assert.assertNotNull;import static org.junit.Assert.assertTrue;import java.util.HashMap;import java.util.Map;import org...原创 2019-01-02 17:47:22 · 1176 阅读 · 0 评论 -
json序列化
若get开头且第四个字母是大写的方法中有空指针异常时(无论有没有对应属性)1.阿里巴巴的FastJson会出现空指针异常,证明与get开头的方法有关2.Google的Gson不会出现异常,因为只和属性有关,和get开头的方法没关系3.java开源的Jackson也会出现异常,证明与get开头的方法有关但是set开头的方法有异常时,三种序列化都不会影响...原创 2018-12-17 08:54:03 · 154 阅读 · 0 评论 -
SpringBoot 文件导出到浏览器
private ResponseEntity<OutputStream> downAttachment(InputStream is, OutputStream os, String fileName) throws IOException { byte[] buffer = new byte[1024]; int length ...原创 2018-12-05 11:18:05 · 2483 阅读 · 0 评论