Java基础整理-volatile知识点总结

volatile特性保证可见性禁止指令重排序不保证原子性为什么保证可见性定义:即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。内存模型:所有的变量都存储在主内存中。每条线程中还有自己的工作内存。线程间变量值的传递均需要通过主内存来完成。当没有用volatile时:线程的执行结果写到...

2018-03-29 14:26:51

阅读数 68

评论数 0

Java基础整理-为什么String是不可变的

为什么String是不可变的String所有属性都被final修饰、私有的并且没有提供修改方法。 (主要字段是char数组,虽然被final修饰但数组是可变的,私有保证了不被修改但还是可以通过反射来改变String)为什么String设计成final避免被继承后破坏,防止方法被重写为什么Strin...

2018-03-22 15:41:18

阅读数 1796

评论数 1

单独使用Mybatis,不依赖结合Spring

配置文件:<configuration> <!-- <properties resource="mybatis/jdbc.properties"/&am...

2018-03-14 14:24:10

阅读数 785

评论数 0

简单理解ThreadLocal原理和适用场景,多数据源下ThreadLocal的应用

一、ThreadLocal简单介绍首先,ThreadLocal是用来维护本线程的变量的,并不能解决共享变量的并发问题。ThreadLocal是各线程将值存入该线程的map中,以ThreadLocal自身作为key,需要用时获得的是该线程之前存入的值。如果存入的是共享变量,那取出的也是共享变量,并发...

2018-03-14 13:41:13

阅读数 9502

评论数 3

java 用itext-asian解决itext pdf中文不显示问题

引入itext-asian jar包,设置好字体后导出的pdf变成不能读取的了 解决方法: 因为我是引入com.lowagie.itext的jar包来写pdf的PdfPTable,而itext-asian是com.itextpdf包下的,所以相应的PdfPTable,PdfPCell之类的应该改成...

2017-05-13 00:02:34

阅读数 8676

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭