java
RunningShrimp
这个作者很懒,什么都没留下…
展开
-
父子类相互强转
父子类相互强转问题引入先来看一段代码public class Main { public static void main(String[] args) throws IOException { Father child = new Child(); child.setName("child"); System.out.println(child); Father father = new Father(); fa原创 2020-09-17 20:17:54 · 534 阅读 · 0 评论 -
源码阅读之设计模式2(代理模式)
今天要说的是设计模式中的代理模式。代理模式在我们生活中极其常见----中介机构,委托人等,这些都是代理,就连老美想当世界警察,打的战争都是代理人战争。那什么是代理呢?代理在百度百科上这样解释的 : 一般做法是由委托人与代理人签订代理协议,授权代理人在一定范围内代表其向第三者进行商品买卖或处理有关事务 。而在编程中是一个对象为其他对象提供一个代理,以控制对这个对象的访问。实际上来说,代理模式是...原创 2019-12-19 09:30:02 · 183 阅读 · 0 评论 -
源码学习之设计模式(单例模式)
众所周知,单例模式分为饿汉式和懒汉式,昨天在看了《spring5核心原理与30个类手写实战》之后才知道饿汉式有很多种写法,分别适用于不同场景,避免反射,线程不安全问题。下面就各种场景、采用的方式及其优缺点介绍。饿汉式 (绝对的线程安全)代码示例1.第一种写法 ( 定义即初始化)public class Singleton{ private static final Singlet...原创 2019-12-16 20:16:31 · 968 阅读 · 0 评论 -
为什么JDK动态代理中要求目标类实现的接口数量不能超过65535个
先明确几个概念:Class文件是一组以8字节为基础单位的二进制流各个数据项目严格按照顺序紧凑排列在class文件中中间没有任何分隔符,这使得class文件中存储的内容几乎是全部程序运行的程序Java虚拟机规范规定,Class文件格式采用类似C语言结构体的伪结构来存储数据,这种结构只有两种数据类型:无符号数和表接口索引计数器(interfaces_count),占2字节参考第一句话:class文件...转载 2019-12-16 20:58:02 · 689 阅读 · 0 评论 -
1、自己手写ORM框架之创建Connect对象
类图此类图主要是获取数据库类图,DataBaseOperation是一个接口,定义了数据库的主要操作;AbstractDataBaseOperationFactory是一个抽象类,是所有数据库操作的基类,所有的数据库局要继承次此类,去实现特定的操作;此类图中使用了模板方法。其相关的代码如下DataBaseOperation.javapackage com.framework...原创 2019-06-04 14:34:27 · 333 阅读 · 0 评论 -
2、自己手写ORM框架之标记处理器
上篇博文讲述了如何创建Connection对象的,这篇将会讲述mybatis是如何处理注解字符串信息的,可能有不相同的地方,但其思想大体一致。GenericTokenParser.java这个类很简单就是处理字符串并返回package com.framework.betterorm.parsing;import java.util.ArrayList;import java....原创 2019-06-04 14:43:14 · 134 阅读 · 0 评论 -
3、自己手写ORM框架之执行SQL语句
首先定义一个类去获取对象你的属性及其值ObjectFields.javapackage com.framework.betterorm.reflection;import com.framework.betterorm.test.User;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;...原创 2019-06-04 14:49:02 · 507 阅读 · 0 评论 -
4、自己手写ORM框架之代理实现SQL语句执行
package com.framework.betterorm.proxy;import com.framework.betterorm.Datesource.AbstractDataBaseOperationFactory;import com.framework.betterorm.annotation.Delete;import com.framework.betterorm.a...原创 2019-06-04 14:57:38 · 205 阅读 · 0 评论