随笔分类 -  Java

摘要:小引子 最近做了一个根据同一模块的不同jar版本做同时测试的工具,感觉挺有意思,特此记录。 类加载器(ClassLoader)是啥? 把类加载阶段中的“通过一个类的全限定名(博主注:绝对路径)来获取描述此类的二进制字节流”这个动作放在Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所... 阅读全文
posted @ 2015-10-20 01:11 土豆条 阅读(7226) 评论(0) 推荐(0) 编辑
摘要:背景 近期遇到了一个 的问题,排除了堆设置过小的问题,代码走查没有头绪,所以使用VisualVM工具分析堆内存情况。之前有读过JVM相关的书籍,我知道此类问题可以使用这个工具定位和解决,但是是第一次遇到过这样的问题,所以要记录一次,每个第一次都是这么美妙。。 堆OOM的堆快照如下: 注:以... 阅读全文
posted @ 2015-09-22 22:53 土豆条 阅读(1530) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-09-16 01:01 土豆条 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-09-15 00:42 土豆条 阅读(154) 评论(0) 推荐(0) 编辑
摘要:介绍 组合(COMPOSITE)模式 属于对象结构型模式。将对象组合成树结构以表示“部分 整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。(摘自《GoF设计模式》) 个人见解 我能想到的就是树形菜单的应用,层次关系,只有树形了。。。 UML结构图 ... 阅读全文
posted @ 2015-09-15 00:19 土豆条 阅读(621) 评论(0) 推荐(0) 编辑
摘要:动机 桥接(BRIDGE)模式 也叫HANDLE/BODY模式,属于对象结构型模式。将抽象部分与实现部分分离,使他们都可以独立的变化。(摘自《GoF设计模式》) 个人见解 我理解的桥接模式就是把存在继承关系的结构中的变化的部分进行封装传入。 UML结构图: 场景模拟:今天学什么... 阅读全文
posted @ 2015-09-13 23:18 土豆条 阅读(183) 评论(0) 推荐(0) 编辑
摘要:背景 最近做了一个需求,为了控制数据库连接数,自己写了个简易的数据库连接池。跟F哥聊天的时候提到了,说可以搞个通用的对象连接池,So…… 目的 1. 让对象池相关的需求开发起来更便捷,不用依赖apache的common包; 2. 讨论了简易数据库连接池的缺点,想弥补并通用; 3. 造个轮子感受... 阅读全文
posted @ 2015-09-10 00:35 土豆条 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-09-08 01:26 土豆条 阅读(189) 评论(0) 推荐(0) 编辑
摘要:动机 解释器(INTERPRETER)模式 ,属于类行为型模式。给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。(摘自《GoF设计模式》) 个人见解 自己创造编程语言或者DSL的时候能用到,除此之外,个人认为基本没有什么场景。存在的目的就是为了... 阅读全文
posted @ 2015-09-02 13:10 土豆条 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-09-02 13:05 土豆条 阅读(163) 评论(0) 推荐(0) 编辑
摘要:## 设计模式学习笔记十八:中介者模式### 介绍中介者(MEDIATOR)模式属于对象行为型模式。主要目的是将对象间复杂的调用关系进行解耦。使所有的对象都通过这个中介者进行交互。### 优点+ 对象解耦,提供了复用性;+ 简化了单个对象的交互逻辑;### 缺点+ 中介者业务性太强,黑箱子的雏形。#... 阅读全文
posted @ 2015-09-02 01:08 土豆条 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 状态设计模式实现 阅读全文
posted @ 2015-09-01 01:15 土豆条 阅读(161) 评论(0) 推荐(0) 编辑
摘要:### 介绍迭代器设计模式: 迭代器提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。### 适用性+ 达到了数据结构与操作的分离+ 访问一个集合对象而无需暴露它的内部表示+ 支持对集合对象的多种遍历+ 为遍历不同的集合结构提供一个统一的接口### UML结构图:![Iterat... 阅读全文
posted @ 2015-08-27 01:08 土豆条 阅读(147) 评论(0) 推荐(0) 编辑
摘要:### 介绍**命令模式**,Command模式,属于对象行为模式。将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤消的操作。### UML结构图:![Command](http://images0.cnblogs.com/blog2015/84797/20... 阅读全文
posted @ 2015-08-25 23:34 土豆条 阅读(168) 评论(0) 推荐(0) 编辑
摘要:今天在查看接口的时候发现有两个接口长期霸占最耗时接口排行榜,所以找了个空闲定位了一下问题。从原来的500ms左右提到4ms左右,特此小小记录一下。 阅读全文
posted @ 2015-08-12 21:12 土豆条 阅读(163) 评论(0) 推荐(0) 编辑
摘要:### 前因公司规范确定不允许使用反射类的进行属性bean的拷贝了,只允许手动的get/set,可以猜到这样定义的原因是制定规范的同事认为反射性能低,虽然写get/set慢点好在性能高。平时开发的时候也是迫不得已才用反射。不过禁用的话就感觉有点钻牛角尖了。所谓反射性能低是指在使用JDK自带反射工具类... 阅读全文
posted @ 2015-08-09 03:22 土豆条 阅读(331) 评论(0) 推荐(0) 编辑
摘要:反射的使用反射通常用于在JVM中应用程序运行中需要检查或者修改运行时行为的项目。这是一个相对高级的特性,并且仅仅可以被对深刻理解java原理的开发者使用。这里给出一个警告的意见,反射是一个强大的技术,而且可以让应用执行不可能的操作。扩展属性一个应用程序可以通过他们的完全限定的名称创建可扩展的对象的实... 阅读全文
posted @ 2015-08-04 03:02 土豆条 阅读(285) 评论(0) 推荐(0) 编辑
摘要:1、编译异常,这个很容易发现并解决;method真的没有替换jar包没有clean project。2、编译正常,运行报错这是一个遇到之后让人纳闷的异常,脑袋不转弯的时候真的容易被卡住。这时只要去编译目录下:1)查看下相应的jar包是否被引入;如果没有,咋把jar包拷入相应的目录;pom项目的话则检... 阅读全文
posted @ 2015-07-30 16:54 土豆条 阅读(596) 评论(0) 推荐(0) 编辑
摘要:介绍适配器(ADPATER)模式,也叫包装器(WRAPPER)模式,属于类对象结构型模式。是为了在现有功能类的基础上为客户提供匹配的接口。适配器有两种方式:对象适配器模式和类适配器模式,本文主要讲前者,后者会有单独的说明,因为个人不是很喜欢这种方式的调用。意图:将一个类的接口转换成客户希望的另外一个... 阅读全文
posted @ 2015-07-28 02:08 土豆条 阅读(182) 评论(0) 推荐(0) 编辑
摘要:设计模式学习笔记十三:模板方法模式介绍模板方法(TEMPLATE METHOD)模式,属于类行为型模式, 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TEMPLATE METHOD使得子类 可以不改变一个算法的结构即可重定义该算法的某些特定步骤。(本段摘自《GoF设计模式》 5.10... 阅读全文
posted @ 2015-07-27 09:01 土豆条 阅读(212) 评论(0) 推荐(0) 编辑