摘要: 适配器(Adapter)模式概述 将一个类的接口转换成客户方期望的接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 模式中的角色 1 目标接口(Target):客户方所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 2 需要适配的类(Adaptee):需要适配的类 阅读全文
posted @ 2016-11-10 23:09 dahuandahuan 阅读(133) 评论(0) 推荐(0)
摘要: AOP(Aspect Oriented Programming)面向切面编程 通过预编译方式和运行期动态代理实现程序功能的横向多模块统一控制的一种技术。AOP是(面向对象)OOP的补充,是Spring框架中一个重要的概念和内容。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的 阅读全文
posted @ 2016-11-06 21:41 dahuandahuan 阅读(142) 评论(0) 推荐(0)
摘要: CountDownLatch是线程同步辅助类,它允许一个或多个线程wait直到countdown被调用使count为0。 CountDownLatch是在java1.5被引入,存在于java.util.concurrent包下。 常用于 1:用于在一个线程中等待N个线程完成 2:让N个子线程同时开始 阅读全文
posted @ 2016-11-06 21:41 dahuandahuan 阅读(133) 评论(0) 推荐(0)
摘要: JVM内存结构 Heap Space: 堆内存(Heap Space)是由Young Generation和Old Generation组成,而Young Generation又被分成三部分,Eden,From Survivor和To Survivor,默认比例为8:1:1 堆是被所有线程共享的一块 阅读全文
posted @ 2016-11-06 17:26 dahuandahuan 阅读(170) 评论(0) 推荐(0)
摘要: GC: 垃圾回收由JVM中GC线程监控和执行。 参考: http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html GC算法: 1. 标记清除法 首先从根节点开始遍历所有对象,标记出被引用的对象,然后遍历堆,释放所有未标记的对象,会产 阅读全文
posted @ 2016-11-05 20:52 dahuandahuan 阅读(206) 评论(0) 推荐(0)
摘要: ArrayBlockingQueue是阻塞队列的一种,基于数组实现,长度固定,队尾添加,队首获取, 构造函数: ArrayBlockingQueue(int capacity) ArrayBlockingQueue(int capacity, boolean fair) ArrayBlockingQ 阅读全文
posted @ 2016-11-05 10:53 dahuandahuan 阅读(172) 评论(0) 推荐(0)
摘要: Reflection 反射能在运行时获取一个类的全部信息,并且可以调用类方法,修改类属性,创建类实例。 而在编译期间不用关心对象是谁 反射可用在动态代理,注解解释,和反射工厂等地方。 end 阅读全文
posted @ 2016-11-04 22:53 dahuandahuan 阅读(140) 评论(0) 推荐(0)
摘要: 对象拷贝用于在内存中复制对象,无需构造器便可创建对象。 需要注意的是 1.clone方法提供的只是简单的值拷贝和地址拷贝,若类中包含HashMap等类型时,需要手工编写拷贝过程 2.如果父类没有提供正确的clone方法,子类拷贝也将不正确 3.Object的clone方法没有同步。 一个简单的例子: 阅读全文
posted @ 2016-11-04 22:52 dahuandahuan 阅读(219) 评论(0) 推荐(0)
摘要: 如果一个类的对象要用做hashMap的key,那么一定要注意覆盖该类的equals和hashCode方法。 equals()是基类Object的方法,用于判断对象是否有相同地址及是否为同一对象 hashCode()是基类Object的native方法,返回int。 hashCode的通用约定: 1. 阅读全文
posted @ 2016-11-04 11:05 dahuandahuan 阅读(204) 评论(0) 推荐(0)
摘要: 对Java对象序列化的目的是持久化对象或者为RMI(远程方法调用)传递参数和返回值。 下面是一个序列化对象写入文件的例子: 输出结果: [null-lg-123-human-d:lg] [null-ss-23-human-d:ss] 如果需要进一步定制序列化反序列化过程,可通过实现接口Externa 阅读全文
posted @ 2016-11-02 22:06 dahuandahuan 阅读(237) 评论(0) 推荐(0)
摘要: https://www.code996.cn/post/2016/opencv1/ 阅读全文
posted @ 2016-10-22 15:44 dahuandahuan 阅读(1304) 评论(0) 推荐(0)
摘要: 在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV tar包 地址 3. 解压tar包到~/dev/opencv-2.4.11 4. 进入该目录,执行 阅读全文
posted @ 2016-10-16 20:00 dahuandahuan 阅读(230) 评论(0) 推荐(0)
摘要: Mysql常用数据类型 数字: 字符串: 时间: 阅读全文
posted @ 2016-10-16 14:29 dahuandahuan 阅读(147) 评论(0) 推荐(0)
摘要: mysql SELECT VERSION(), CURRENT_DATE, now();select user(); create database pets;show databases; use pets; CREATE TABLE cats( id INT unsigned NOT NULL 阅读全文
posted @ 2016-10-13 20:35 dahuandahuan 阅读(186) 评论(0) 推荐(0)
摘要: Decorator 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客户端透明的方式扩展对象的功能。 * 通过使用修饰模式,可以在运行时扩充一个类的功能。 * 原理是:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类 阅读全文
posted @ 2016-09-26 22:48 dahuandahuan 阅读(146) 评论(0) 推荐(0)
摘要: top命令是Linux下重要的性能分析工具,可以实时动态显示系统中各个进程的资源占用状况,可以通过按键控制显示状态,可以按CPU使用,内存使用和执行时间对任务进行排序。 top命令执行效果: 第一行展示当前时间,系统运行时间,登录用户数和负载从1分钟、5分钟、15分钟前到现在的平均值。 第二行展示各 阅读全文
posted @ 2016-09-24 22:36 dahuandahuan 阅读(167) 评论(0) 推荐(0)
摘要: 单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。 如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理控制的作用,那么单例模式也许 阅读全文
posted @ 2016-09-03 18:23 dahuandahuan 阅读(238) 评论(0) 推荐(0)
摘要: Mybatis动态sql用于根据不同条件拼接sql语句. if 动态 SQL 通常是有条件地包含 where 子句,如: <select id="findActiveBlogWithTitleLike" resultType="Blog"> SELECT * FROM BLOG WHERE stat 阅读全文
posted @ 2016-09-03 15:54 dahuandahuan 阅读(182) 评论(0) 推荐(0)
摘要: C++读取bmp图片的例子 阅读全文
posted @ 2016-09-01 20:16 dahuandahuan 阅读(429) 评论(0) 推荐(0)
摘要: spring注解 1.XML配置 <context:annotationconfig/> @Autowired 注解可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 当不能确定 Spring 容器中一定拥有某个类的 Bean 时,可以在需要自动注入该类 Bean 的地方可以使用 @Au 阅读全文
posted @ 2016-08-25 19:08 dahuandahuan 阅读(192) 评论(0) 推荐(0)