摘要: 概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此, 阅读全文
posted @ 2017-03-12 18:40 明志健致远 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 1.单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局控制点. 比如在加载配置文件时, 可使用该模式. 2.工厂模式(Factory): 定义一个用以创建对象的接口, 让子类决定实例化哪个类. 当遇到需要根据某个前提条件创建不同的类实现时, 会实用工厂模式. 3.抽象工 阅读全文
posted @ 2017-03-11 20:02 明志健致远 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 介绍 意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参 阅读全文
posted @ 2017-03-11 19:52 明志健致远 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 外观模式 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 介绍 意图: 阅读全文
posted @ 2017-03-11 19:47 明志健致远 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变 阅读全文
posted @ 2017-03-11 19:44 明志健致远 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对 阅读全文
posted @ 2017-03-11 19:42 明志健致远 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 介绍 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决: 阅读全文
posted @ 2017-03-11 17:57 明志健致远 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 策略模式 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 介绍 意图:定义一系 阅读全文
posted @ 2017-03-11 17:51 明志健致远 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 介绍 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 阅读全文
posted @ 2017-03-11 17:48 明志健致远 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 介绍 意图:将一个复杂的构建与其表 阅读全文
posted @ 2017-03-11 17:46 明志健致远 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 我们通过下面的实例来演示 阅读全文
posted @ 2017-03-11 17:42 明志健致远 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再 阅读全文
posted @ 2017-03-11 17:39 明志健致远 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂 阅读全文
posted @ 2017-03-11 17:36 明志健致远 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 介绍 意图:定义一个创建对象的接口, 阅读全文
posted @ 2017-03-11 17:32 明志健致远 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需 阅读全文
posted @ 2017-03-11 17:29 明志健致远 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 一. Hibernate中对象的三种状态 1. 瞬时状态(transient) 当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,此时该对象只是通过JVM获得了一块内存空间,还并没有通过Session对象的save()方法保存进数据库,因此也就还没有纳入Hiber 阅读全文
posted @ 2017-03-09 23:31 明志健致远 阅读(7831) 评论(0) 推荐(2) 编辑
摘要: 一. Servlet 生命周期 Tomcat 与 Servlet 是如何工作的: 步骤: 二. Servlet工作原理: 1、首先简单解释一下Servlet接收和响应客户请求的过程,首先客户发送一个请求,Servlet是调用service()方法对请求进行响应的,通过源代码可见,service()方 阅读全文
posted @ 2017-03-08 23:07 明志健致远 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 今天,被问到两个JS问题,当时没回答到重点,问题虽然看起来简单,但是细节却马虎不得,在此做下记录: 1. 在Javascript中 声明时用"var"与不用"var"的区别 Javascript声明变量时 var a = 111; 和 a = 111; 两种方式一样吗? 结果是什么呢? 11 这个好 阅读全文
posted @ 2017-03-03 22:38 明志健致远 阅读(1929) 评论(0) 推荐(0) 编辑
摘要: SQL是每个Java程序员必回的一项技能, 对于项目中的各种复杂业务, 你是否能写出高效率, 简洁的SQL对于项目的运行效率和稳定性是有非常大的作用的. 通过个人的理解和网上的资料总结了一下常见的SQL优化知识: (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器 阅读全文
posted @ 2017-02-23 16:02 明志健致远 阅读(4018) 评论(0) 推荐(1) 编辑
摘要: 这段时间跳槽的人特别多, 程序员们又纷纷加入了年后面试寻求涨工资, 新机会的大军, 求职就意味着面试. 而对于java程序员来说, 数据库是面试必问的, 再次总结下数据库的面试常见问题: 1. 数据库的范式 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗) 阅读全文
posted @ 2017-02-23 15:13 明志健致远 阅读(511) 评论(0) 推荐(0) 编辑