- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 idea常用插件和注释
背景随着idea越来越受开发者捧月,相信很多人,无论在换公司或者配置新得电脑,都会重新配置各种各样得插件,比如:lombok,mybatis系列,maven等。但人得记忆都有限得,每天都在行走,从未没有停下,借用法师一句话“人生那么长,停下又何妨”。笔者只记录常用插件,如有补充或者更好得插件,可以分享大家一起共勉。如描述错误得,欢迎大家指出。(ps:有笔者都不一一解释,只是单纯记录一下)插件CamelCaseCodeGlanceCodotaFree Mybatis pluginGoogle
2021-07-14 15:16:03 2520
转载 hashmap选择红黑树,为啥hashmap不直接采用红黑树,为什么达到8个才转红黑树
为什么直接采用红黑树因为红黑树需要进行左旋,右旋操作, 而单链表不需要,主要考察链表和红黑树对比:1)如果元素小于8个,查询成本高,新增成本低2)如果元素大于8个,查询成本低,新增成本高HashMap在jdk1.8之后引入了红黑树的概念,表示若桶中链表元素超过8时,会自动转化成红黑树;若桶中元素小于等于6时,树结构还原成链表形式。原因: 红黑树的平均查找长度是log(n),长度为8,查找长度为log(8)=3,链表的平均查找长度为n/2,当长度为8时,平均查找长度为8/2=4,这才有转换.
2020-06-16 16:31:39 5404
原创 @NotEmpty、@NotNull、@NotBlank区别
三者总结:@NotEmpty :不能为null,且Size>0,@NotEmpty注解的String、Collection、Map、数组是不能为null或长度为0@NotNull:不能为null,但可以为empty,没有Size的约束,带注释的元素不能为null。接受任何类型@NotBlank:只用于String,不能为null且trim()之后size>0,纯空格的String也是不符合规则的,此注解只能用于验证String类型做个记录...
2020-06-09 18:16:54 688
转载 IDEA常用快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。1 智能提示Intellij最强大的功能当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所以很多时候
2020-06-05 11:57:12 163
转载 Java 代码精简之道 (中)
1.利用自身方法1.1.利用构造方法构造方法,可以简化对象的初始化和设置属性操作。对于属性字段较少的类,可以自定义构造方法。普通:@Getter@Setter@ToStringpublic class PageDataVO<T> { private Long totalCount; private List<T> dataList;}PageDataVO<UserVO> pageData = new PageDataVO<>
2020-06-03 18:22:57 632
原创 lombok @setter @getter遇到坑,参数赋值为null
背景最近在做项目时,使用springboot,lombok技术,请求体有个字段为“sId”,前端已经赋值了,但后端接收时,sid总是为空。追踪 HttpServletRequest是有值的,百思不得其解。后来问同事,才晓得中原由,仅此做些记录原因进过反编译查询查看,lombok和idea快捷键生成set和get方法不一样导致。@Setter@Getterpublic class LombokTest { private String sId;}使用lombok反编译如下:pu
2020-06-03 16:26:48 3698 2
转载 Java 代码精简之道 (上)
1.利用语法1.1.利用三元表达式普通:String title;if (isMember(phone)) {title = “会员”;} else {title = “游客”;}精简:String title = isMember(phone) ? “会员” : “游客”;注意:对于包装类型的算术计算,需要注意避免拆包时的空指针问题。1.2.利用 for-each 语句从 Java 5 起,提供了 for-each 循环,简化了数组和集合的循环遍历。for-each 循环允许你
2020-06-02 11:13:49 269
原创 fastjson判断一个json是jsonArray还是jsonObject几种方式
1.字符串截取判断使用字符串开始位置和结束位置 public static void main(String[] args) { String dataStr = "['ces':'dd']"; if (dataStr.startsWith("[") && dataStr.endsWith("]")) { System.out.println("我是jsonArray"); } else {
2020-05-22 09:46:56 6095
原创 coding自动化持续构建Springboot服务
阿萨德coding持续集成,我这里就不多做介绍相关文档请查看coding持续集成构建计划分成基础信息,流程配置,触发规则,变量与缓存和通知提醒新建构建计划支持各种代码源coding,github,gitlab,码云等等,coding已经给你做好简易jenkinsfile,可以直接使用模板,进行构建计划流程配置 这里比较方便,支持图形化编辑和文本编辑,使人一目了然。图形化显示从开始->检出代码->构建->测试->部署整个流程检出代码默认会有检出scm代码,只
2020-05-09 14:09:26 1216
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人