Java基础方案
zmc@
please once again
展开
-
assert注意事项
结论:直接使用 assert field != null; 可以快速的check属性,但是该方法会在使用反射的时候多一个属性"$assertionsDisabled"分析:public class Assert { static final boolean $assertionsDisabled = !Assert.class.desiredAssertionStatus(); public static void main(String[] args) {原创 2021-10-08 11:33:38 · 517 阅读 · 0 评论 -
IDEA打包失败(多个module之间依赖不能识别)
背景:开发过程中总会遇到一些不那么合理的架构...一个服务多个module,前后端不分离...于是需要自己打镜像,然后发到docker hub...再起服务;于是就有了第一步,本地打包的过程idea提供了很方便的打包功能:然后出现异常:异常原因:web的module需要其他module的包,不能直接打包;需要先有其他包...解决方案:利用idea的root打包(直接将所有的包都打了,然后再找出需要的那个包)然后就可以去目标文件夹找到相应的包:...原创 2020-10-03 09:34:35 · 1207 阅读 · 0 评论 -
synchronized锁的到底是什么?
1.起源于一个问题场景一:线程安全吗?static String lock1 = new String("aaa");static String lock2 = new String("bbb");public static void test3(){ synchronized (lock1) { // 业务代码会被锁住吗? lock1 = lock1 + "x"; i++; }}原创 2020-06-16 17:26:28 · 355 阅读 · 0 评论 -
ThreadLocal和ThreadLocalMap
1.ThreadLocal是什么?是用来存放我们需要能够线程隔离的变量的,那就是线程本地变量。也就是说,当我们把变量保存在ThreadLocal当中时,就能够实现这个变量的线程隔离了。...原创 2020-06-01 11:37:19 · 463 阅读 · 0 评论 -
二叉查找树/红黑树/B+树
二叉查找树1.为什么会出现二叉查找树? 二分法可以很好的对有序数组进行查找,但增删比较低效 链表可以很好的增删元素,查找低效,且使用二分法也低效 ------> 出现了普通二叉查找树的数据结构 特征:左子树所有节点 < 根节点 < 右子树所有节点 中序遍历是有序的 查找的时间复杂度:O(logN)2.普通二叉查找树缺点?...原创 2020-05-31 14:58:43 · 213 阅读 · 0 评论 -
lambda表达式生成map
Map<Long, EstateVr> apEstateIdToEstateVrMap = estateVrs.stream().collect(Collectors.toMap(arg -> arg.getApEstateId(), arg -> arg, (o, n) -> n ));Map<Long, List<EstateVr&...原创 2019-06-03 19:50:41 · 2456 阅读 · 0 评论 -
split方法通过".""/"进行拆分
String string = "123-45678";String[] parts = string.split("-");String part1 = parts[0]; // 123String part2 = parts[1]; // 45678该方法的参数是个正则表达式,要注意对某些字符做转码。“.”在正则表达式中表示任意字符,如果要通过“.”号做分割,可以写成,sp...原创 2019-06-03 19:49:19 · 5137 阅读 · 0 评论 -
Java知识体系-细节-持续更新
1)基础语法知识点梳理:概念:面向对象的三大基本特征五大基本原则集合:Collection 集合、List 集合、Set 集合、Map 集合异常:Java 中异常处理机制和应用,自定义异常IO:File 类,字符流、字节流、转换流、缓冲流、递归网络编程:Socket线程:线程的生命周期,Java 线程池,线程同步问题,线程死锁问题继承和接口:Class,Interfac...原创 2019-04-28 13:47:31 · 184 阅读 · 0 评论 -
java 读写中文文本
//读取中文文本,要设置gbk格式//该格式中文可以识别,英文也可以reader = new InputStreamReader(new FileInputStream(filename),"gbk");//拓展----分词//分词时候,读取中文文本TokenStream stream=a.tokenStream("content",new StringReader(str...原创 2018-08-20 13:11:31 · 712 阅读 · 0 评论 -
Java读配置文件
读取配置文件的方案:public String getProperty(String name,String k){ Properties prop = new Properties(); String key=null; String val=null; try{ ...原创 2018-08-20 12:40:44 · 171 阅读 · 0 评论