java
Coder蒋
移动开发道路上的奔跑者!
github:https://github.com/jiangwenzhong
展开
-
Atomic*系列原子类相关知识
文章目录Atomic*特点Atomic*系列包括Atomic*缺点参考Atomic*特点Atomic* 按锁的类型来区分应该是属于乐观锁,就是多个线程在读取使用变量的时候是互不影响,非阻塞式的。sun.misc.Unsafe里面包含了大量的C代码和多种直接操作内存和原子能力的方法,所以被标记为不安全的,Atomic*系列主要就是使用了这个类的能力,来实现了非阻塞时的线程安全。Unsafe是一个非对外的类,内部是采用了单例模式来实现的,如果需要使用的话,可以通过反射的方式获取Unsafe内部的theU原创 2020-08-25 15:54:43 · 2334 阅读 · 0 评论 -
Volatile相关知识点
JMM(java memory model)java内存模型每台计算机中可用于处理或者存储数据的包括:硬盘、物理内存、缓存(多级)、CPU寄存器等。进程是计算机分配资源的最小单元,线程是CPU调度的最小单元。计算机为每个进程分配资源,其中就包括了内存资源,用于存储运行时数据的,就好比在物理内存中划分了某个区域,并将这块区域标记为只有该进程才可以访问(读取和写入),不同进程之前不能直接通信传递数据,需要借助特殊的方式来实现通信交互,而这些方式可以有:内存共享、socket、binder(an原创 2020-08-25 09:25:20 · 1507 阅读 · 2 评论 -
Java判断当前运行系统是否是windows系统
使用Java类System可以获取到大多数系统信息,因此本次判断运行操作系统是否是windows也可以从System类入手。具体方法:public boolean isWindows() {return System.getProperties().getProperty("os.name").toUpperCase().indexOf("WINDOWS") != -1;}原创 2017-07-28 14:39:40 · 11530 阅读 · 1 评论 -
Java 通过调用系统程序打开文件或者目录的方式
在程序开发的过程中经常会用到调用其他程序来打开某个文件或者某个目录的需求,下面提供两种方式:第一种:windows:Runtime.getRuntime().exec("explorer 文件路径“);Linux:Runtime.getRuntime().exec("nautilus 文件路径“); 第二种(windows和Linux同一):Desktop.getDeskt原创 2017-07-28 14:48:12 · 7861 阅读 · 0 评论 -
批量给java文件添加license声明
JLicenseForJavaFileUtil说明文档项目主要功能介绍关键代码介绍使用说明反馈渠道主要功能介绍批量为某个路径下的所有java文件添加license声明license支持文本输入和文件输入两种方式关键代码介绍遍历文件和文件夹,找到需要处理的文件private static void iterativeHandleFiles(File file, Str...原创 2019-07-23 16:56:27 · 3730 阅读 · 0 评论 -
各个平台DES加密方式的实现
背景前段时间在跟后台联调敏感数据的加密和解密时遇到了一些问题,设备使用的是android平台提供的des加密方式,后台使用的javax提供的des加密方式和PHP提供加密方式,在对接过程中就出现了同一段字符,在前后端解密得到的字符串不一样,最后经过一段时间的调试,得到了结果一致的实现方式,下面记录下来。实现平台java平台import javax.crypto.Cipher;impo...原创 2019-07-22 17:12:12 · 5076 阅读 · 0 评论