摘要:
1. ArrayList的基本实现原理 ArrayLiST其内部用一个普通数组来存储数据,当此数组不够容纳新添加的元素的时候,则创建一个更大长度的新数组,并将原来数组中的元素复制到新数组中。 2.ArrayList主要的全局变量/常量 3.ArrayList构造方法 1)指定初始容量的构造方法 2) 阅读全文
摘要:
1.拼接复杂嵌套json FastJson工具包中有两主要的类: JSONObject和JSONArray ,前者表示json对象,后者表示json数组。他们两者都能添加Object类型的对象,但是JSONArray没有put()方法,只有add()方法。这与json数组的定义有关,json数组只能 阅读全文
摘要:
日常工作中,我们会经常用做日期的格式化、日期与字符串之间的转换、日期之间的计算等。为了聚焦项目本身而不要过分关注其他细枝末节,本人写了一个开发中可能会用到的日期工具类。这个工具类里主要包含有“将日期字符串转换为Date日期”、“将Date日期转换为字符串形式”、“获取日期区间段内的每日日期”、“两个 阅读全文
摘要:
控制台输出 阅读全文
摘要:
其中的关键在于:每次循环随机获得一个下标,如果是首次访问到这个下标,将这个元素抽出到返回结果数组中,然后让这个数组下标index对应的元素引用一个其他任意对象srcNoContain(数组或集合不包含此对象)。如果下次循产生的随机下标index对应的元素与srcNoContain相等,表明这个下标已 阅读全文
摘要:
在数据表比较多的情况下,手动编写sql映射文件和实体类,实在太多过繁琐,而mybatis-generator能自动生成这此东西,减少了重复性的工作量。mybatis-generator的配置容易出现问题,网上的教程虽然比较多,但不少帖子都有些小问题。我跟着上边尝试过多次,并不断修改才配置成功,我将自 阅读全文
摘要:
1.前言 类主要有两个层次,一个是功能层次,另一个是实现层次。 功能层次,一般应用于当前类不能满足多样化的业务需求,让子类去继承(具体)父类,添加加一些父类中没有的功能(一般是增加新的方法),这就属于因增加新功能而产生的层次结构。 实现层次,一般常见于子类去继承抽象类或接口,将抽象类或接口中的抽象方 阅读全文
摘要:
1.前言 AOP是面向切面编程,即“Aspect Oriented Programming”的缩写。面对切面,就是面向我们的关注面,不能让非关注面影响到我们的关注面。而现实中非关切面又必不可少,例如获取资源、释放资源、处理异常、记录日志等,太多的非关切面会让关切面的代码变得杂糅,难以维护。此时面向切 阅读全文
摘要:
1.前言 实际业务中,大多业务类只需要一个对象就能完成所有工作,另外再创建其他对象就显得浪费内存空间了,例如web开发中的servlet,这时便要用到单例模式,就如其名一样,此模式使某个类只能生成唯一的一个对象。单例模式,根据单例对象创建的时机不同,可以分为懒汉模式和饿汉模式。 2.饿汉(单例)模式 阅读全文
摘要:
1.前言 为什么要将代理模式与适配器模式放在一起来说呢?因为它们有许多的共同点,当然也有一些不同的地方。首先两者都是属于结构型模式。结构型模型是这样定义的: 结构型模式涉及到如何组合类和类以获得更大的结构,结构型类模式采用继承机制来组合接口或实现。 1)代理模式与适配器模式都分别有继承、接口方式实现 阅读全文