javaSE
静谧之心
专业摩的佬
业余吉他手
退役喷子
展开
-
Java中String与File的互相转换
今天有这个需求, 记了下来, 算是搬运, 感谢!字符串转文件/** * 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!) * * @param res 原字符串 * @param filePath 文件路径 * @return 成功标记 */ public static boolean string2Fi原创 2021-06-08 18:23:36 · 10042 阅读 · 0 评论 -
利用序列化实现最优雅的深拷贝
最近碰到个线程安全问题, 遂想起是引用问题, 网上搬来的解决方案, 感觉很好, 记录一下 public static <T extends Serializable> T clone(T obj) throws IOException, ClassNotFoundException { ByteArrayOutputStream ous = new ByteArrayOutputStream(); ObjectOutput objectOutput = new原创 2021-01-21 17:36:33 · 575 阅读 · 0 评论 -
Java 效率提升系列之 Optional对象
Optional 类(java.util.Optional)它是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。常用方法:Optional.of(T t) : 创建一个 Optional 实例。Optional.empty() : 创建一个空的 Optional 实例。Optional.ofNullable(T t):若 t 不为 null,创建 Optional 实例,否则创建空实例。原创 2020-07-07 10:41:01 · 644 阅读 · 0 评论 -
Java,小而有料的final
原文链接: https://zhuanlan.zhihu.com/p/61092019final这块肉虽然小,但不可不知,因为不仅面试可能会问,实际中也常使用。就问你常量声明时你为什么要加final?它有哪些作用?你思考过吗?final通常指被修饰的东西不能被改变的,不能被改变的原因旺往往出于设计和效率的考虑。先看final能修饰什么?修饰变量修饰方法修饰类修饰参数不同的修饰...原创 2020-04-20 15:06:53 · 184 阅读 · 0 评论 -
Junit 4 + 5,@before, @beforeClass, @after, @afterClass的执行顺序
这几个注解在junit4和junit5版本不同的写法junit4junit5特点@BeforeClass@BeforeAll在当前类的所有测试方法之前执行。注解在【静态方法】上。@AfterClass@AfterAll在当前类中的所有测试方法之后执行。注解在【静态方法】上。@Before@BeforeEach在每个测试方法之前执行。注解在【非静态方法...原创 2020-04-14 08:48:35 · 640 阅读 · 0 评论 -
一句话描述volatile关键字如何保证可见性
被volatile关键字修饰的变量,在每个写操作之后,都会加入一条store内存屏障命令,此命令强制工作内存将此变量的最新值保存至主内存;在每个读操作之前,都会加入一条load内存屏障命令,此命令强制工作内存从主内存中加载此变量的最新值至工作内存。...转载 2019-12-10 06:33:07 · 469 阅读 · 0 评论 -
RandomAccessFile 详解
RandomAccessFileRandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。但是该类仅限于操作文件。RandomAccessFile不属于InputStream和OutputStream类系的。实际上,除了实现DataInput和DataOutput接口之外(Da...转载 2019-10-25 10:04:31 · 2591 阅读 · 2 评论 -
Arrays.asList()源码分析
String s[]={"aa","bb","cc"}; List<String> sList=Arrays.asList(s); for(String str:sList){//能遍历出各个元素 System.out.println(str); } System.out.println(sList.size());//为3 System.out.pr...原创 2019-10-08 14:36:58 · 563 阅读 · 0 评论 -
一分钟了解 java13 新特性!
2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布。目前,JDK官网上已经可以看到JDK 13的进展,最新版的JDK 13已于2019年9月17日发布。目前,JDK13处于Release-Candidate Phase(发布候选阶段),将于9月17日正式发布。目前该版本包含的特性已经全部固...原创 2019-10-23 08:13:34 · 197 阅读 · 0 评论 -
java 中 printf() 的用法详解
public class TestPrintf { public static void main(String[] args) {//定义一些变量,用来格式化输出。 double d = 345.678; String s = "你好!"; int i = 1234;//"%"表示进行格式化输出,"%"之后的内容为格式的定义。 ...原创 2019-10-21 11:02:52 · 850 阅读 · 1 评论