
Java设计模式反射动态代理
设计模式系列
风暴计划
一枚代码小菜鸟
展开
-
JDK动态代理(AOP)使用及实现原理分析
家长,留学中介,留学的学校。买东西,商家卖,厂家生产。在开发中也有这样的情况,你有一个A类,本来是调用C类的方法来完成某个功能,但是C类不让A类调用,那么怎么办呢?A类——不能直接调用C类的方法。在A类和C类之间厂家一个B类,作为代理,C类让B类去访问。A——访问B类——C类。...原创 2020-07-19 16:23:34 · 200 阅读 · 0 评论 -
Java反射机制-PPT
注意:PPT来源于“https://www.bilibili.com/video/BV1p4411P7V3?p=6”。原创 2020-06-06 14:58:48 · 780 阅读 · 0 评论 -
Java设计模式-6.装饰模式
装饰模式1、装饰模式概述装饰模式,就是使用被装饰类的一个子类的实例,在客户端将这个子类的实例交给装饰类。是继承的替代方案。 优点:使用装饰模式,可以提供比继承更灵活的扩展对象的功能,它可以动态的添加对象的功能,并且可以随意的组合这些功能。 缺点:正因为可以随意组合,所以就可能出现一些不合理的逻辑。2、装饰模式举例(1)Phone.java:接口里面定义一个抽象方法packa...原创 2018-10-08 21:46:00 · 237 阅读 · 0 评论 -
Java设计模式-5.模板模式
模板模式 1、模版模式概述模版设计模式,就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现。 优点:使用模板设计模式,在定义算法骨架的同时,可以很灵活的实现具体的不同算法,满足用户灵活多变的需求。 缺点:如果算法骨架有修改的话,则需要修改抽象类。2、模板模式举例 需求:计算出一段代码的运行时间。(1)模板模式类:GetTime.javapackage cn....原创 2018-10-08 21:09:40 · 268 阅读 · 0 评论 -
Java设计模式-4.单例模式之JDK之Runtime类的源码剖析
Java设计模式-单例模式之JDK之Runtime类的源码剖析 1、Runtime:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。2、Runtime类的方法:exec(String command)package cn.itcast_03;import java.io.IOException;/* * Runtime:每个 ...原创 2018-09-16 00:03:03 · 312 阅读 · 0 评论 -
Java设计模式-3.单例模式概述与使用
Java设计模式-单例模式概述与使用参考:https://blog.youkuaiyun.com/fly910905/article/details/792866801、单例模式的概述与使用单例模式,就是要确保类在内存中只有一个对象,该对象必须自动创建,并且对外提供。 优点:在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁对象的方法,单例模式无疑可以提高系统的性能...原创 2018-09-16 00:02:46 · 284 阅读 · 0 评论 -
Java设计模式-2.工厂方法模式概述与使用
Java设计模式-工厂方法模式概述与使用 1、工厂方法模式:有一个大型工厂,这个大型工厂下面有很多个小型部门用来生产对象工厂方法模式概述:工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现。 优点:客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易...原创 2018-09-16 00:00:23 · 227 阅读 · 0 评论 -
Java设计模式-1.简单工厂模式概述与使用
Java设计模式-简单工厂模式概述与使用 1、设计模式概述什么是设计模式 设计模式分类 创建型模式 行为型模式 结构型模式 常见的设计模式 简单工厂模式和工厂方法模式(接口) 模版设计模式(抽象类) 装饰设计模式(IO流) 单例设计模式(多线程) 适配器模式(GUI) 2、简单工厂模式:只有一个工厂用来生产对象简单工厂模式概述:又叫静态工厂方...原创 2018-09-16 00:00:39 · 210 阅读 · 0 评论 -
Java反射5.JDK动态代理
动态代理1、动态代理代理:本来应该自己做的事情,却请了别人来做,被请的人就是代理对象。 举例:春季回家买票让人代买。 动态代理:在Java程序运行过程中产生的这个对象被称之为动态代理。而程序运行过程中产生对象,其实就是前面反射所介绍的内容,所以,动态代理其实就是通过反射来动态生成一个代理。2、动态代理简述(1)在Java中java.lang.reflect包下提供了一个Pr...原创 2018-10-07 12:39:52 · 206 阅读 · 0 评论 -
Java反射4.反射应用举例
反射应用举例 1、给你ArrayList<Integer>的一个对象,想在这个集合中添加一个字符串数据,如何实现呢?package cn.itcast.test;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Arr...原创 2018-10-07 11:37:36 · 573 阅读 · 0 评论 -
Java反射3.通过配置文件运行类中的方法
反射需要配置文件的配合来运行类中的方法 1、配置文件简述配置文件一般都是由“键值对”组成的。 一般情况下,配置文件中的“键”都是固定的,值都是变化的。2、通过配置文件运行类中的方法(1)学生类:Student.javapackage cn.itcast.test;public class Student { public void love() { System....原创 2018-10-07 10:26:50 · 1113 阅读 · 0 评论 -
Java反射2.反射的使用
反射的使用class文件是赤裸裸的暴露在反射面前!常用方法:(1)通过反射获取构造方法并使用:获取构造方法(带参的或者不带参的都可以): getConstructors:获取所有的公共构造方法 getConstructor:获取单个的公共构造方法 getDeclaredConstructors:获取所有的构造方法(包括public、private、protected、默认...原创 2018-09-24 17:46:40 · 256 阅读 · 0 评论 -
Java反射1.类加载器概述与获取class文件对象的三种方式
类加载器概述 一、类的加载(1)类的加载当Java程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三步来实现对这个类进行初始化。 加载:就是指将类的class文件读入内存,并为之创建一个Class对象。任何类被使用时,系统都会建立一个Class对象。 连接: 验证:是否有正确的内部结构,并和其他类协调一致。 准备:负责为类的静态成员分配内存,...原创 2018-09-24 16:31:48 · 2033 阅读 · 1 评论