摘要: 1.前言   HotSpot采取了可达性分析算法用来判断对象是否被能被GC,无论是引用计算法还是可达性分析算法都是判断对象是否存在引用来判断对象是否存活。如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。为了丰富的描述对象与对象之间的关系,更为了实现系统缓存的原因... 阅读原文
2018-08-04 11:30:03 阅读(2737) 评论(0)
摘要: 正则特殊字符组成 转义字符: //转义字符\d 0~9   \D非数字\s空格   \S非空格\w字符(数字、字母、_)\W非字符\b独立部分(单词边界 起始 结束 连词符(\W))\B非独立部分 量词: {0, 8} //最少0次最多8次​{0, } <==> *​{0, 1} <==... 阅读原文
2018-08-04 09:48:02 阅读(2247) 评论(0)
摘要: 程序设计的的本质   程序设计其实是对复杂性的管理,待解决问题的复杂性,以及解决问题所用工具的复杂性。而这也是导致多数项目失败的原因。   让我们看一下其他语言的做法 比如所c++选择向后兼容c,以便吸引c程序员,以及具备c一样的高效率,这俩点都是非常有益的设计目标,而这也促成了c++的成功,然而他们却暴露出更多的... 阅读原文
2018-08-04 09:02:02 阅读(3445) 评论(0)
摘要: 写在前面:   最近在项目中使用了Criteria的分页查询,当查询的数据没有重复的记录还好,但是当数据有关联并出现重复记录的时候,就要去重,那么就会出现查询的记录数与实际的不一致的问题。这里也记录一下解决的办法。   这里只是拿学生Student表与班级来举例,没有经过测试   1.查询全部的数据,不进行分页处理,... 阅读原文
2018-08-04 08:01:01 阅读(2331) 评论(0)
摘要: 在这里记录《Effective Java》学习笔记。该书介绍了java编程中70多种极具实用价值的经验规则,揭示了该做什么,不该做什么才能产生清晰、健壮和高效的代码。 第1条: 考虑用静态工厂方法代替构造器 对于类而言,为了让客户端获得它自身的实例,最常用的方法就是提供一个公有的构造器。还有一种方法就是提供一个静态工... 阅读原文
2018-08-04 07:37:02 阅读(2310) 评论(0)
摘要:   java开发少不了安装jdk。当然如果只是想运行其他人的java项目,只需要安装jre就行了,不需要安装jdk,jdk是编译用的。jdk可以同时安装多个 版本,只需要在项目部署时注意切换版本选择。在这里做下笔记备忘,也希望对其他有需要的朋友有所帮助。 安装jdk     在这里选择开发工具,我更改了安装位置,不介... 阅读原文
2018-08-04 06:00:20 阅读(2307) 评论(0)
摘要: 一般情况下,我们可以使用 request 的 getRemoteAddr()  方法获取客户端实际 IP ,但是使用反向代理后,我们使用 getRemoteAddr() 是无法获取真实的  IP 的。 经过代理之后,客户端和服务端之间加了一个中间层,在转发请求的HTTP头部增加了 x-forwarded-for 信息... 阅读原文
2018-08-04 00:59:01 阅读(2292) 评论(0)
摘要:   自从Dubbo支持SpringBoot后,Dubbo与Spring的整合变得更加的简单了,下面就是完整的步骤:   1. 引入依赖 <dependency> <groupId>com.alibaba.boot</groupId> <artifactId... 阅读原文
2018-08-03 23:35:02 阅读(2263) 评论(0)
摘要:        你在系统中是否写过这样的接口:客户端访问服务器,服务器进行了大量逻辑/耗时操作之后,才能将结果返回给客户端,而这时,客户端的连接或许已经因为超时而关闭了。 为了能够及时的给客户端返回数据, 在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应... 阅读原文
2018-08-03 21:41:02 阅读(2276) 评论(0)
摘要: 一、AOP 1.1、AOP介绍 1.1.1、什么是AOP? 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP(面向对象编程)的延续,是软件开发中的一个热点,也是Spring框架... 阅读原文
2018-08-03 19:48:07 阅读(2334) 评论(0)