Wesley13 Wesley13
4年前
java并发数据结构
一.BlockingDeque阻塞双端队列(线程安全):注意ArrayDeque和LinkedList仅仅扩展了Deque,是非阻塞类型的双端队列。BlockingQueue单向队列,其内部基于ReentrantLockCondition来控制同步和"阻塞"/"唤醒"的时
Wesley13 Wesley13
4年前
java 实现PHP gzcompress 功能
为了直观加了base64 PHP代码:<?php$agzcompress("abc");echobase64_encode($a);//输出:eJxLTEoGAAJNASc解码:gzuncompress();源码提示默认使用的是zlib的 deflate进行编码的;
Wesley13 Wesley13
4年前
java中final和static
 final的用法:final的意思是最终的,最后的额,不可变的,在java中也具有相似的含义。  final修饰基础数据表示把该数据修饰成常量,意味着不可修改,不可变。  final修饰对象的引用的时候,表示该引用不可变,但是引用的结果是可变的。这里和修饰数组相似,修饰数组的时候数组里边的内容是可变的。  final定义的
Wesley13 Wesley13
4年前
java 日志的数据脱敏
思路1。在model层进行处理,直接重写get方法,在写一个getPlain获取明文方法。(缺点:数据库写入和json序列化传递时使用的都是密文)  2.利用日志组件过滤特定的key,去进行脱敏(缺点:对所有的日志输出全部要正则匹配,非常耗时。)由1,2的利弊,肯定会选择1,然后考虑一种实现(在model层定义方法,获取它的一个复制类,复制
Wesley13 Wesley13
4年前
JAVA判断文件编码类型
java读取文件,处理过程中,可能因为文件的编码问题导致了中文乱码。有时需要将UTF8的改为ANSI的编码。以下代码就可以判断文件是什么编码方式。 主要jar包:cpdetector.jar  下载地址http://cpdetector.sourceforge.net/ 同时还需jchardet1.0.jar这个包,否则detec
Wesley13 Wesley13
4年前
JAVA常用编程代码块
转Map时要考虑Map的key是否重复List<Entity转为Map<keyField,valueField将一个List实体集合转换为以Entity某一个字段为key,另一字段为value映射的Map/
Wesley13 Wesley13
4年前
Java Thread join() 的用法
JavaThread中,join()方法是让调用该方法的主线程执行run()时暂时卡住,等run()执行完成后,主线程再调用执行join()后面的代码。示例:classThreadTesterAimplementsRunnable{privateintcounter;@Overrid
Wesley13 Wesley13
4年前
Java线程同步之一
一、线程同步线程同步是指两个并发执行的线程在同一时间不同时执行某一部分的程序。同步问题在生活中也很常见,就比如在麦当劳点餐,假设只有一个服务员能够提供点餐服务。每个服务员在同一时刻只能接待一个顾客的点餐,那么除了正在接待的顾客,其他人只能等待排队。当一个点餐服务完成之后,其他顾客就可以上去进行点餐。从这个例子中可以看到如下几个关注点:点餐服务
Wesley13 Wesley13
4年前
Java面试总结(排序算法)
1.冒泡排序算法描述:两两比较,大的放后面2.选择排序算法描述:在m元数组中找到最小值的位置,然后将最小值的位置和第n(n0,1,2,....m1)位的值对调,排序k次则m元数组中前k(k<m)位的值已经排序好,m元数组中前k位的值不需要再进行排序,此时需要排序的元素只有mk个3.插入排序算
Wesley13 Wesley13
4年前
JAVA多线程可见性
  为了更清楚的了解可见性,这里先介绍一下jmm。jmm并非是一个组件或者程序,他是抽象计算机内存模型的一组规则、规范,定义了变量访问内存的方式。!(https://img2018.cnblogs.com/blog/1758811/201908/175881120190820220137162379693173.png)如图:  jmm的