码农的日记
君陌先生
努力我要努力
展开
-
记一次使用spring-data 查询mongodb,进行表关联的实现过程[aggregation,lookup,project,filter,cond]
记一次使用spring-data 查询mongodb,进行表关联的实现过程[aggregation,lookup,project,filter,cond]原创 2020-12-02 12:30:45 · 1361 阅读 · 0 评论 -
java启动jar包的shell脚本,常见的配置jvm参数方案
针对普通的可执行的jar文件,提供启动,停止,重启等功能配置JVM参数: 打印GC日志,当内存溢出OOM时导出一份heapdump原创 2020-11-26 18:00:39 · 3349 阅读 · 1 评论 -
String相关的一些琐碎小事[new String("xx")会创建几个对象?intern()是干嘛的?stringA+StringB是咋实现的,一定会生成新对象吗?]
1. 每次new String("xx")都会在堆中创建一个"xx"对象,然后在常量池中也创建一个对象,这俩不是同一个对象2. String a = "xx";这种直接字符串,会检查常量池中有没有"xx"对象,如果有直接返回;如果没有则只在常量池中创建一个"xx"对象,然后返回3. String.intern()方法,会返回常量池中的"xx"对象,如果常量池已有则直接返回;如果没有,就把堆中的对象放入常量池,他俩是同一个对象,然后返回.4. 字符串变量的相加,设String a = "aa", Str原创 2020-05-07 17:20:23 · 299 阅读 · 0 评论 -
为什么:不要在"foreach循环"里进行元素的 remove/add 操作,而是使用Iterator方式
背景前两天阿里的JAVA开发手册,出了新品–泰山版,下载来看看.编程规约–(六)集合处理,第14条中这么写:14.【强制】不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator方式,如果并发操作,需要对 Iterator 对象加锁。正例:List<String> list = new ArrayList<>...原创 2020-04-26 12:20:57 · 252 阅读 · 0 评论 -
给IntelliJ IDEA换了个皮肤,加了几个插件,发现我爱上了敲代码:)
起因最近在做一个复杂的统一权限授权/鉴权项目,MySQL数据库的关系特别复杂.排查问题的时候要分析日志中打印的SQL嘛,就很头疼,大家都知道打印的SQL日志是带着一堆问号的(prepared statement),还得自己改SQL才能再数据库运行.以前都是找一两条SQL就解决问题了,也就没当一回事.今天这次可是愁坏了,头发都为它多掉了好几根!遂决定,上CSDN看看大家是咋做的,搜到个Myb...原创 2020-04-13 00:06:42 · 1861 阅读 · 0 评论