摘要:
Item7:覆盖equals时需要遵守通用约定 在我们日常开发过程中,重写equals是比较常用的,但存在许多不合适的覆盖方式导致错误,最好的避免方法就是不去重写equals。但有时我们的业务又需要建立特定的等价关系,而父类中又没有这种特定的等价关系,我们就要重写equals,我们必须遵守它的通用约 阅读全文
摘要:
Get请求和Post请求这两种基本请求类型,大部分开发者心里大概都有所谓的"标准答案",但博主最近用Postman测试接口的时候,遇到传参的问题:用post请求,参数放在request body里,收到缺少参数的返回结果,后来参数直接放url中竟然成功获取返回信息,映像中各大"权威"资料不都是同一条 阅读全文
摘要:
Item5:消除过期对象的引用 JVM为我们实现了GC(垃圾回收)的功能,让我们从手工管理内存中解放了出来,这固然很好,但并不意味着我们就再也不需要去考虑内存管理的事情了;我们用简单的栈实现的例子来解释: 这段程序没有什么明显的错误,无论怎么测试,结果似乎都是正确的,但不严格的讲,这段程序存在"内存 阅读全文
摘要:
前两篇介绍了一些Java并发的基础知识,博主正巧遇到一种需求:查询数据库,根据查询结果集修改数据库记录,但整个流程是做成了一个schedule的,并且查询比较耗时,并且需要每两分钟执行一次,cpu经常因等待服务器响应的查询结果而进入等待,故需要在此基础上考虑性能优化,sql优化可以提高一些系统效率, 阅读全文
摘要:
博主双12入手了一本"Effective Java第二版",本系列文章将初步梳理书中内容,我也查了些资料,我会针对知识点做一点展开,方便以后复习回顾; Item1.考虑用静态工厂代替构造器: 静态工厂的优势: 更易于阅读(有名称) 静态工厂存在的不足: 1.类如果不含共有的或者受保护的构造器,就不能 阅读全文
摘要:
插入排序(InsertSort): 插入排序的基本思想:元素逐个遍历,在每次遍历的循环中,都要跟之前的元素做比较并“交换”元素,直到放在“合适的位置上”。 插入排序的特点:时间复杂度是随着待排数组的有序性变化的,数组越有序,插入排序的时间复杂度越低(接近O(n)级别),反之,时间复杂度越高(O(n* 阅读全文
摘要:
博主之前学习一段时间后做了点Demo,借此机会发出来分享,其实学jQuery只要简单看看文档即可,但有些细枝末节的东西文档会默认使用者是了解的,所以还是得系统学习系统训练;Talk is cheap,let me show the code. TIP:我常用的API 接下来是自己用bootstrap 阅读全文
摘要:
并发编程的第二部分,先来谈谈发布(Publish)与逸出(Escape); 发布是指:对象能够在当前作用域之外的代码中使用,例如:将对象的引用传递到其他类的方法中,对象的引用保存在其他类可以访问的地方,或在某个非私有的方法中返回对象的引用; 逸出是指:发布内部状态可能会破坏封装性,如果在对象构造完成 阅读全文
摘要:
对于Java并发,我也是属初学阶段,用的参考书是:"Java并发编程实战",写博时也参考了很多类似主题的博客,博主意在记录自己的学习路程,供网友讨论学习之用; 周末写的差不多了,今天下午没事正好整理一下,Java并发两篇一起发了; 先介绍一下线程的概念(摘自百度百科): 线程,有时被称为轻量进程(L 阅读全文
摘要:
该篇为Spring AOP的一个应用案例:系统日志 需求:将任何删除,更改或新增数据库的操作汇总到数据库中 步骤1:编写切面 步骤2:编写注解SysLog 切面代码中sysLogService无疑就是存入数据库的操作了,写持久层和建表这里都不赘述了. 步骤3:编写业务层和持久层代码 至此,每次发出冻 阅读全文