- 博客(5)
- 收藏
- 关注
原创 设计模式——观察者模式
观察者模式 观察者模式也是我们经常会用到的设计模式之一,这里用一个气象站的一些数据变化通知气象板为例去记录一下观察者设计模式,值得一提的是java中提供了观察者模式的接口和类。 demo 一个气象站通知气象板的小demo,气象站提供温度、气压、湿度的数据给一些气象板提供数据,当气象站发生变化了之后,要通知订阅气象站数据的气象板数据变更。 一般方案 在气温变化的气象站中加入气象板对象,在数据变化时...
2018-12-31 02:25:27 181
原创 深拷贝和浅拷贝
深拷贝与浅拷贝 对对象的深拷贝和浅拷贝我们并不陌生。 (1)浅拷贝: 在浅拷贝中,如果原型对象的成员变量是值类型,将复制一份给克隆对象;如果原型对象的成员变量是引用类型,则将引用对象的地址复制一份给克隆对象,也就是说原型对象和克隆对象的成员变量指向相同的内存地址。简单来说,在浅拷贝中,当对象被复制时只复制它本身和其他包含的值类型的成员变量,而引用类型的成员对象并没有复制。在Java中,通过覆盖O...
2018-12-24 20:37:34 194
原创 java集合类的一些总结——Arrays.asList和Guava操作集合
使用背景 总结一下最近项目中使用到集合的两个点,一个是Arrays.asList这个方法使用的坑,另一个是利用Guava的Sets工具类去求并交集。 使用总结 Arrays.asList的坑 先上结论: Arrays.asList这个方法不适用于基本类型:byte,short,int,long,float,double,boolean 该方法将数组和列表动态链接起来,当其中一个更新后,另一个也会...
2018-12-16 02:15:39 2474
原创 ClassNotFoundException和NoClassDefFoundError
背景 极客时间上《Java核心技术36讲》第二讲中提到了一个问题:ClassNotFoundException和NoClassDefFoundError有什么区别?看到这个问题的时候,第一时间想到的就是一个是受检的异常,而另一个是一个Error,但是其实在真正的项目开发中这两个错误都遇到过,都是关于类或者文件jar包找不到的错误,这里去总结下其中的不同。 两者的区别 ClassNotFoundE...
2018-12-07 17:00:58 1432
原创 Java36讲总结(一)——Java平台型的理解
背景 最近看了一点点极客时间上的《Java核心技术36讲》,打算把一些自己感兴趣或者不知道的点总结到博客中,方便对一些知识有一些整理和拾遗。 Java平台性的理解 java本身是一种面向对象的语言,有两个特征,一是“write once, run anywhere”,能够非常容易的获取跨平台的能力;另外就是垃圾手机机制,Java通过垃圾收集器(Garbage Collector)回收分配内存。 我...
2018-12-02 23:41:26 279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人