摘要: 基于jdk1.8 hashMap实现,要求容量大小是2的整次方,例如:2/4/8/16/32/64/128...,而不能是中间的某个值。这是为什么呢? map是数组+链表的数据结构,读写数据都需要首先获取数组中的下标值,获取的方式是通过hashcode取余。取余so easy,我们都会,假定运算后的 阅读全文
posted @ 2018-07-01 00:11 一粒沙的世界 阅读(770) 评论(0) 推荐(1) 编辑
摘要: gson通过TypeToken实现了对泛型数据的支持,使用方式如下: 创建一个类实例,new [目标类]()就够了,TypeToken后面的{}是做什么呢,不少人可能像我一样有困惑。 先看下TypeToken的构造方法 这里我们只关注标红的部分。为了方便说明,我们写一个测试类,使用上面的2个方法,并 阅读全文
posted @ 2018-06-30 22:35 一粒沙的世界 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 在深入字节码理解invokeSuper无限循环的原因中,我们理解的cglib的原理和其中一个合理的调用方式。但是这个调用方式是基于类的,对所有实例生效。实际场景中,我们可能只是希望代理某个具体的实例,而且这个实例会有自己的特有属性。这个时候要怎么做呢? 通常我们会生成一个拦截器类,然后把实例传递进去 阅读全文
posted @ 2018-06-24 21:25 一粒沙的世界 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 一、sax简介 SAX是事件驱动型的XML解析方式。顺序读取XML文件,生成事件,传播到用户定义的回调方法中来处理XML文件。 优点: 分段处理xml,而不是将整个xml一次加载进内存,内存占用少,速度快。 缺点: 顺序访问,不能回退。编码复杂,需要用户把控数据结构。 二、使用流程 1.创建工厂 2 阅读全文
posted @ 2018-04-25 22:41 一粒沙的世界 阅读(843) 评论(0) 推荐(0) 编辑
摘要: 来一段简单的cglib代码 代码中使用 System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY, "D:\\classes")设置环境变量,此设置可以打印生成的字节码文件。 受影响的方法为:org.springframework 阅读全文
posted @ 2018-04-13 23:23 一粒沙的世界 阅读(1893) 评论(0) 推荐(0) 编辑
摘要: <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="staticMethod" value="**.service.utils.PostUtil.setEn 阅读全文
posted @ 2018-01-16 17:58 一粒沙的世界 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/szwandcj/article/details/51025669 Cat功能强大且多,光日志的报表和图表分析就有十几种,但文档却很少,寥寥无几找到一些粒度却还很粗而且都是偏功能性的介绍。此外cat的配置也特别丰富,但几乎所有的cat文档里却鲜少提及。 阅读全文
posted @ 2017-11-24 10:08 一粒沙的世界 阅读(1764) 评论(0) 推荐(0) 编辑
摘要: http://gank.io/post/560e15be2dca930e00da1083 阅读全文
posted @ 2017-07-31 21:55 一粒沙的世界 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 目前处理Excel的开源javaAPI主要有两种,一是Jxl(Java Excel API),Jxl只支持Excel2003以下的版本。另外一种是Apache的Jakarta POI,相比于Jxl,POI对微软办公文档的支持更加强大,但是它使用复杂,上手慢。POI可支持更高的Excel版本2007。 阅读全文
posted @ 2017-07-19 22:08 一粒沙的世界 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 先来看看如何建立连接的。 【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!! 错误配图如下: 首先Client端发 阅读全文
posted @ 2017-07-02 10:47 一粒沙的世界 阅读(354) 评论(0) 推荐(0) 编辑