- 博客(11)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Java 常识(003):Java中jdk代理和cglib代理
代理模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。在Java中代理模式从实现方式上可以分为两个类别:静态代理和动态代理静态代理: 也就是我们学习设计模式之代理模式时常见的事例,具体不在赘述,参见:【Java设计模式-13代理模式】动态代理: 在静态代理中,因...
2018-06-24 19:09:43 194
原创 【java设计模式】-13代理模式
代理模式(Proxy Pattern)定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。类型: 结构型模式应用实例: 1、Windows 里面的快捷方式。2、火车票代售点3、spring aop4、等等角色构成Subject: 抽...
2018-06-24 17:24:03 287
原创 【java设计模式】-07适配器模式
适配器模式定义:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。类型: 结构型模式应用实例: 1、JAVA JDK 1.1 提供了 Enumeration 接口,而在 1.2 中提供了 Iterator 接口,想要使用 1.2 的 JDK,则要将以前系统的 Enumeration 接口转化为 Iterato...
2018-06-18 22:12:51 199
原创 【java设计模式】-01设计模式简介
简介设计模式(Design pattern)是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块...
2018-06-18 17:33:58 235
原创 【java设计模式】-00目录
开篇【java设计模式】-01设计模式简介创建型模式:【java设计模式】-02工厂模式(Factory Pattern)【java设计模式】-03抽象工厂模式(Abstract Factory Pattern)【java设计模式】-04单例模式(Singleton Pattern)【java设计模式】-05建造者模式(Builder Pattern)【java设计模式】-0...
2018-06-18 17:30:17 472
原创 Mybatis源码学习之日志(五)
简述在Java开发中常用的日志框架有Log4j、Log4j2、Apache Commons Log、java.util.logging、slf4j等,这些工具对外的接口并不相同。为了统一这些工具的接口,MyBatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。适配器模式首先,我们简单介绍设计模式中有六大原则。 单一职责原则: 不要存在多于一个导...
2018-06-18 15:21:04 335
原创 Mybatis源码学习之类型转换(四)
简述JDBC数据类型与Java语言中的数据类型并不是完全对应的,所以在PreparedStatement为SQL语句绑定参数时,需要从Java类型转换成JDBC类型,而从结果集中获取数据时,则需要从JDBC类型转换成Java类型。MyBatis使用类型处理器完成上述两种转换。以下是包org.apache.ibatis.type下所有类的继承关系,每一个jdbc类型都对应一个相应的类型转...
2018-06-17 17:57:23 1215
原创 Mybatis源码学习之反射工具(三)
简述MyBatis在进行参数处理、结果映射等操作时,会涉及大量的反射操作。Java中的反射虽然功能强大,但是代码编写起来比较复杂且容易出错,为了简化反射操作的相关代码,MyBatis提供了专门的反射模块,该模块位于org.apache.ibatis.reflection包中,它对常见的反射操作做了进一步封装,提供了更加简洁方便的反射API。Reflector & Reflect...
2018-06-10 15:13:08 877
原创 Mybatis源码学习之parsing包(解析器)(二)
简述大家都知道mybatis中,无论是配置文件mybatis-config.xml,还是SQL语句,都是写在XML文件中的,那么mybatis是如何解析这些XML文件呢?这就是本文将要学习的就是,mybatis解析器XPathParser。MyBatis在初始化过程中处理mybatis-config.xml配置文件以及映射文件时,使用的是DOM解析方式,并结合使用XPath解析XML配置文...
2018-06-09 21:44:21 1004
原创 Mybatis源码学习之整体架构(一)
简述 关于ORM的定义,我们引用了一下百度百科给出的定义,总体来说ORM就是提供给开发人员API,方便操作关系型数据库的,封装了对数据库操作的过程,同时提供对象与数据之间的映射功能,解放了开发人员对访问数据库交互的维护,大大提高工作效率。我们以传统JDBC编程中的查询操作为例进行说明,其主要步骤如下:(1)注册数据库驱动类,明确指定数据库URL地址、数据库用户名、密码等连接信息。...
2018-06-03 18:57:17 300
原创 JVM:内存分配策略
对象优先在Eden分配大多情况,对象在新生代Eden区分配。当Eden区没有足够空间进行分配时,虚拟机将进行一次Minor GC。虚拟机提供了参数 -XX:+PrintGCDetails ,在虚拟机发生垃圾收集行为时打印内存回收日志。新生代Minor GC 事例定义了4个字节数组对象,3个2MB大小、1个4MB大小,通过-Xms20M -Xmx20M -Xmn10M 三个参数限制了...
2018-06-02 17:32:47 443
JqueryMobile入门基础附源码
2013-07-12
unity导成xcode项目再嵌入到ios原生的xcode项目中,横竖屏约束
2016-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人