今天有个小任务,需要调用接口同步数据,然后就写了一个JAVA类,打算直接本地执行main()去同步数据。 代码中使用了apache的httpclient来访问接口,发现输出日志太多了, httpclient maven依赖如下: <dependency> <groupId>org.apache. […]
今天有个小任务,需要调用接口同步数据,然后就写了一个JAVA类,打算直接本地执行main()去同步数据。 代码中使用了apache的httpclient来访问接口,发现输出日志太多了, httpclient maven依赖如下: <dependency> <groupId>org.apache. […]
简介 SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: 1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0 41位,用来记录时间戳(毫秒)。 41位可以表示$2^{41}-1$个数字, 如果只用来表示正整数(计算机中正数包含0 […]
@NotNull:// 可以用在所有类型上面,带有@NotNull注解的元素不能为null。对于集合类型的,没有size的约束。 @NotEmpty:// String, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。 @NotBlank:// String去 […]
UML(Unified Modeling Language)统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。 UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简…
PO persistant object 持久对象 与数据库中表相映射的Java对象。PO中不应该包含任何对数据库的操作。 POJO plain ordinary java object 简单java对象 最基本的Java Bean,只有属性字段及setter和getter方法(传统意义上的Java对象)。 VO va […]
2019年6月19日《阿里巴巴Java开发手册》正式更名为《Java开发手册》。除了名字变更之外,更新内容如下: 1.涵盖三大升级: 新增21条新规约。比如,switch的空指针问题、浮点数的比较、无泛型限制引起的类型混乱、加锁与解锁的注意事项、YYYY的日期格式问题等; 修改描述112处。比如,IFNULL的判断方式、集合的toArray的数组长度、日志占位符的处理等; 完善若干处示例。比如,变量命名示例、卫语句示例、枚举示例、finally的return示例等。 2.修正了过往历史版本的两个错误
我们知道了何谓重构和为何重构,那么什么时候才是重构的好时机呢?我们是不是应该安排专人专门安排时间来进行重构呢? 答案是否。 重构本来就不是一件需要专一去做的事情(并不是说重构不重要),重构应该随时随地进行!记住一点:不应该为重构而重构。之所以重构,是因为你要做别的事情,而重构可以帮助你把事情做好。
项目经过不断的迭代、修改、升级...基于原先的设计所得到的系统,整体结构逐渐衰弱,代码质量不断降低,代码的可读性、弹性越来越差,冗余代码越来越多,导致新的需求只能胡乱拼凑上去...再加上公司内部的人员调整,陈年代码无人能懂更不敢随意优化(稍不注意就会导致意想不到的灾难发生)。 这样导致的结果就是代码质量、项目性能慢慢下降,程序的设计逐渐腐败变质,本来严谨的编码工作逐渐变成胡乱拼凑的随性行为
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字 […]
1.枚举允许继承类吗? 枚举不允许继承类。Jvm在生成枚举时已经继承了Enum类,由于Java语言是单继承,不支持再继承额外的类(唯一的继承名额被Jvm用了)。 2.枚举允许实现接口吗? 枚举允许实现接口。因为枚举本身就是一个类,类是可以实现多个接口的。 3.枚举可以用等号比较吗? 枚举可以用等号比较。Jvm会为每个枚 […]
春宵一刻值千金,花有清香月有阴。
歌管楼台声细细,秋千院落夜沉沉。