反射——慕课网笔记

深入理解 HTTP 协议中的 Content-Type 是 HTTP 协议中的一个头部字段(Header),用于指示请求或响应中实体主体(body)的媒体类型(Media Type),也称为MIME 类型(Multipurpose Internet Mail Extensions)。 阅读详情
第1章 Class类的使用
1-1 Class类的使用

JAVA-Reflect专题
- Class类的使用
- 方法的反射
- 成员变量的反射
- 构造函数的反射
- Java类加载机制

Class类
- 在面向对象的世界里,万事万物皆对象。
*java语言中,静态的成员、普通数据类型是不是对象?
类是谁的对象呢?*
类是对象,类是java.lang.Class类的实例对象
- 这个类到底如何表示?

public class ClassDemo1 {
    public static void main(String[] args) {
        //Foo的实例对象如何表示
        Foo foo1 = new Foo();//foo1就表示出来了.
        //Foo这个类 也是一个实例对象,Class类的实例对象,如何表示呢
        //任何一个类都是Class的实例对象,这个实例对象有三种表示方式

        //第一种表示方式--->实际在告诉我们任何一个类都有一个隐含的静态成员变量class
        Class c1 = Foo.class;

        //第二中表达方式  已经知道该类的对象通过getClass方法
        Class c2 = foo1.getClass();

        /*官网 c1 ,c2 表示了Foo类的类类型(class type)
         * 万事万物皆对象,
         * 类也是对象,是Class类的实例对象
         * 这个对象我们称为该类的类类型
         * 
         */

        //不管c1  or c2都代表了Foo类的类类型,一个类只可能是Class类的一个实例对象
        System.out.println(c1 == c2);

        //第三种表达方式
        Class c3 = null;
        try {
            c3 = Class.forName("com.imooc.reflect.Foo");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(c2==c3);

        //我们完全可以通过类的类类型创建该类的对象实例---->通过c1 or c2 or c3创建Foo的实例对象
        try {
            Foo foo = (Foo)c1.newInstance();//需要有无参数的构造方法
            foo.print();
        } catch (InstantiationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }
}
class Foo{

    void print(){
        System.out.println("foo");
    }
}
第2章 动态加载类
2-1 Java 动态加载类

Class.forName(“类的全称”)
- 不仅表示了类的类类型,还代表了动态加载类
- 请大家区分编译、运行
- 编译时刻加载的类是静态加载类、运行时刻加载类是动态加载类

class Office{

    public static void main(String[] args){
        //new 创建对象 是静态加载类,在编译的时候就需要加载所有的可能使用到的类
        //通过动态加载类可以解决该问题
        if("Word".equals(args[0])){
            Word w = new Word();
            w.start();
        }
        if("Excel".equals(args[0])){
            Excel e = new Excel();
            e.start();
        }
    }


}
class OfficeBetter{

    public static void main(String[] args){


        try{
            Class c = Class.forName(args[0]);

            OfficeAble oa = (OfficeAble)c.newInstance();
            oa.start();
        }catch(Exception e){
            e.printStackTrace();
        }


    }
}
interface OfficeAble{
    public void start();
}
class Word implements OfficeAble{



    public void start(){
        System.out.println("word..start...");
    }
}
class Excel implements OfficeAble{



    public void start(){
        System.out.println("excel..start...");
    }
}
第3章 获取方法信息
3-1 Java 获取方法信息
  • 基本的数据类型
    void关键字 都存在类类型
  • Class类的基本API操作
public class ClassDemo2 {
    public static void main(String[] args) {

        Class c1 = int.class;//int 的类类型
        Class c2 = String.class;//String类的类类型   String类字节码(自己发明的)
        Class c3 = double.class;
        Class c4 = Double.class;
        Class c5 = void.class;

        System.out.println(c1.getName());
        System.out.println(c2.getName());
        System.out.println(c2.getSimpleName());//不包含包名的类的名称
        System.out.println(c5.getName());
    }

}
public class ClassUtil {
    /**
     * 打印类的信息,包括类的成员函数、成员变量(只获取成员函数)
     * @param obj 该对象所属类的信息
     */
    public static void printClassMethodMessage(Object obj){
        //要获取类的信息  首先要获取类的类类型
        Class c = obj.getClass();//传递的是哪个子类的对象  c就是该子类的类类型
        //获取类的名称
        System.out.println("类的名称是:"+c.getName());
        /*
         * Method类,方法对象
         * 一个成员方法就是一个Method对象
         * getMethods()方法获取的是所有的public的函数,包括父类继承而来的
         * getDeclaredMethods()获取的是所有该类自己声明的方法,不问访问权限
         */
        Method[] ms = c.getMethods();//c.getDeclaredMethods()
        for(int i = 0; i < ms.length;i++){
            //得到方法的返回值类型的类类型
            Class returnType = ms[i].getReturnType();
            System.out.print(returnType.getName()+" ");
            //得到方法的名称
            System.out.print(ms[i].getName()+"(");
            //获取参数类型--->得到的是参数列表的类型的类类型
            Class[] paramTypes = ms[i].getParameterTypes();
            for (Class class1 : paramTypes) {
                System.out.print(class1.getName()+",");
            }
            System.out.println(")");
        }
    }
}
public class ClassDemo3 {
    public static void main(String[] args) {
        String s = "hello";
        ClassUtil.printClassMethodMessage(s);

        Integer n1 = 1;
        ClassUtil.printClassMethodMessage(n1);
    }

}
第4章 获取成员变量构造函数信息
4-1 Java 获取成员变量构造函数信息
public class ClassUtil {
    /**
     * 打印类的信息,包括类的成员函数、成员变量(只获取成员函数)
     * @param obj 该对象所属类的信息
     */
    public static void printClassMethodMessage(Object obj){
        //要获取类的信息  首先要获取类的类类型
        Class c = obj.getClass();//传递的是哪个子类的对象  c就是该子类的类类型
        //获取类的名称
        System.out.println("类的名称是:"+c.getName());
        /*
         * Method类,方法对象
         * 一个成员方法就是一个Method对象
         * getMethods()方法获取的是所有的public的函数,包括父类继承而来的
         * getDeclaredMethods()获取的是所有该类自己声明的方法,不问访问权限
         */
        Method[] ms = c.getMethods();//c.getDeclaredMethods()
        for(int i = 0; i < ms.length;i++){
            //得到方法的返回值类型的类类型
            Class returnType = ms[i].getReturnType();
            System.out.print(returnType.getName()+" ");
            //得到方法的名称
            System.out.print(ms[i].getName()+"(");
            //获取参数类型--->得到的是参数列表的类型的类类型
            Class[] paramTypes = ms[i].getParameterTypes();
            for (Class class1 : paramTypes) {
                System.out.print(class1.getName()+",");
            }
            System.out.println(")");
        }
    }
    /**
     * 获取成员变量的信息
     * @param obj
     */
    public static void printFieldMessage(Object obj) {
        Class c = obj.getClass();
        /*
         * 成员变量也是对象
         * java.lang.reflect.Field
         * Field类封装了关于成员变量的操作
         * getFields()方法获取的是所有的public的成员变量的信息
         * getDeclaredFields获取的是该类自己声明的成员变量的信息
         */
        //Field[] fs = c.getFields();
        Field[] fs = c.getDeclaredFields();
        for (Field field : fs) {
            //得到成员变量的类型的类类型
            Class fieldType = field.getType();
            String typeName = fieldType.getName();
            //得到成员变量的名称
            String fieldName = field.getName();
            System.out.println(typeName+" "+fieldName);
        }
    }
    /**
     * 打印对象的构造函数的信息
     * @param obj
     */
    public static void printConMessage(Object obj){
        Class c = obj.getClass();
        /*
         * 构造函数也是对象
         * java.lang. Constructor中封装了构造函数的信息
         * getConstructors获取所有的public的构造函数
         * getDeclaredConstructors得到所有的构造函数
         */
        //Constructor[] cs = c.getConstructors();
        Constructor[] cs = c.getDeclaredConstructors();
        for (Constructor constructor : cs) {
            System.out.print(constructor.getName()+"(");
            //获取构造函数的参数列表--->得到的是参数列表的类类型
            Class[] paramTypes = constructor.getParameterTypes();
            for (Class class1 : paramTypes) {
                System.out.print(class1.getName()+",");
            }
            System.out.println(")");
        }
    }
}
public class ClassDemo4 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ClassUtil.printFieldMessage("hello");
        System.out.println("=============");
        ClassUtil.printFieldMessage(new Integer(1));

    }

}
public class ClassDemo5 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ClassUtil.printConMessage("hello");
        ClassUtil.printConMessage(new Integer(1));


    }

}
第5章 方法反射的基本操作
5-1 Java 方法反射的基本操作

方法的反射
1. 如何获取某个方法
方法的名称和方法的参数列表才能唯一决定某个方法
2. 方法反射的操作
method.invoke(对象,参数列表)

public class MethodDemo1 {
    public static void main(String[] args) {
       //要获取print(int ,int )方法  1.要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型
        A a1 = new A();
        Class c = a1.getClass();
        /*
         * 2.获取方法 名称和参数列表来决定  
         * getMethod获取的是public的方法
         * getDelcaredMethod自己声明的方法
         */
        try {
            //Method m =  c.getMethod("print", new Class[]{int.class,int.class});
            Method m = c.getMethod("print", int.class,int.class);

            //方法的反射操作  
            //a1.print(10, 20);方法的反射操作是用m对象来进行方法调用 和a1.print调用的效果完全相同
            //方法如果没有返回值返回null,有返回值返回具体的返回值
            //Object o = m.invoke(a1,new Object[]{10,20});
            Object o = m.invoke(a1, 10,20);
            System.out.println("==================");
            //获取方法print(String,String)
             Method m1 = c.getMethod("print",String.class,String.class);
             //用方法进行反射操作
             //a1.print("hello", "WORLD");
             o = m1.invoke(a1, "hello","WORLD");
             System.out.println("===================");
           //  Method m2 = c.getMethod("print", new Class[]{});
                Method m2 = c.getMethod("print");
               // m2.invoke(a1, new Object[]{});
                m2.invoke(a1);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 

    }
}
class A{
    public void print(){
        System.out.println("helloworld");
    }
    public void print(int a,int b){
        System.out.println(a+b);
    }
    public void print(String a,String b){
        System.out.println(a.toUpperCase()+","+b.toLowerCase());
    }
}
  • 为什么要用方法的反射
    why?指定方法名称调用方法
    举个实际应用的案例 —->通过标准JavaBean的属性名获取其属性值
    BeanUtil类
public class MethodDemo2 {
    public static void main(String[] args) {
        UserService us = new UserService();
        /*
         * 通过键盘输入命令执行操作
         * 输入update命令就调用update方法
         * 输入delete命令就调用delete方法
         * ...
         */
        try {
            BufferedReader br = new BufferedReader(
                    new InputStreamReader(System.in));
            System.out.println("请输入命令:");
            String action = br.readLine();
            /*if("update".equals(action)){
                us.update();
            }
            if("delete".equals(action)){
                us.delete();
            }
            if("find".equals(action)){
                us.find();
            }*/
            /*
             * action就是方法名称, 都没有参数--->通过方法的反射操作就会简单很多
             * 通过方法对象然后进行反射操作
             */
            Class c = us.getClass();
            Method m = c.getMethod(action);
            m.invoke(us);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
public class UserService {
    public void delete(){
        System.out.println("删除用户");
    }
    public void update(){
        System.out.println("修改用户");
    }
    public void find(){
        System.out.println("查找用户");
    }
}
public class MethodDemo3 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        User u1 = new User("zhangsan", "123456", 30);
        System.out.println(BeanUtil.getValueByPropertyName(u1, "username"));
       System.out.println(BeanUtil.getValueByPropertyName(u1, "userpass"));
    }

}
public class BeanUtil {
    /**
     * 根据标准javaBean对象的属性名获取其属性值
     * 
     * @param obj
     * @param propertyName
     * @return
     */
    public static Object getValueByPropertyName(Object obj, String propertyName) {
        // 1.根据属性名称就可以获取其get方法
        String getMethodName = "get"
                + propertyName.substring(0, 1).toUpperCase()
                + propertyName.substring(1);
        //2.获取方法对象
        Class c = obj.getClass();
        try {
            //get方法都是public的且无参数
            Method m= c.getMethod(getMethodName);
            //3 通过方法的反射操作方法
            Object value = m.invoke(obj);
            return value;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}
第6章 通过反射了解集合泛型的本质
6-1 Java 通过反射了解集合泛型的本质
  • 通过Class,Method来认识泛型的本质
public class MethodDemo4 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList();

        ArrayList<String> list1 = new ArrayList<String>();
        list1.add("hello");
        //list1.add(20);错误的
        Class c1 = list.getClass();
        Class c2 = list1.getClass();
        System.out.println(c1 == c2);
        //反射的操作都是编译之后的操作

        /*
         * c1==c2结果返回true说明编译之后集合的泛型是去泛型化的
         * Java中集合的泛型,是防止错误输入的,只在编译阶段有效,
         * 绕过编译就无效了
         * 验证:我们可以通过方法的反射来操作,绕过编译
         */
        try {
            Method m = c2.getMethod("add", Object.class);
            m.invoke(list1, 20);//绕过编译操作就绕过了泛型
            System.out.println(list1.size());
            System.out.println(list1);
            /*for (String string : list1) {
                System.out.println(string);
            }*///现在不能这样遍历
        } catch (Exception e) {
          e.printStackTrace();
        }
    }

}

《反射——Java高级开发必须懂的》视频地址

猿创征文|Qt 文件和目录应用讲解【QCoreApplication】【QFile、QFileInfo】【QTemporaryDir和QTemporaryFile】【QDir】【QFileSyste】 Qt 文件和目录精准讲解【QCoreApplication】【QFile、QFileInfo】【QTemporaryDir和QTemporaryFile】【QDir】【QFileSyste】【QFileDialog】 第一章 QCoreApplication类 第一节 QCoreApplication常用函数方法 第二节 QCoreApplication举例 第二章 QFile类 第一节 静态函数方法 第二节 成员函数方法 第三章 QFileInfo类 第一节 常用函数方法 第四章 QDir类 阅读详情

相关推荐

MCSDK5.4.8电机库双电阻采样适配:从扇区判断到固定采样的重构实践

本文详细解析了MCSDK5.4.8电机库中双电阻采样技术的重构实践,从扇区判断到固定采样的关键步骤。通过硬件配置优化、核心文件重构及电流读取函数改造,实现高效稳定的电机控制,特别适用于成本敏感型项目。文章还提供了占空比限制计算、参数调整及常见问题排查等实用技巧,助力工程师快速掌握两电阻采样方法。

weixin_42532938的博客 281

java反射必知必会

java反射在学习工作中时常使用,自己也利用反射做了一些工具(比如《利用反射打造自定义注解,自动校验或处理数据》),但一直对反射缺乏较为系统的了解。以下内容是慕课网教程《反射——Java高级开发必须懂的》的学习笔记,相关代码见github工程github.com/zxiaofan/JDK-Study,该项目主要用于学习JDK相关源码以及基础知识。当然,想要更为系统地直接地了解反射,还需要去研究源码

zxiaofan.com 5343

晶圆表面缺陷检测现状概述

凹坑,凸起,尖角,沟槽),使用光束对晶圆进行照射,收集反射光和散射光信息进行缺陷判断,进一步可分为无图案晶圆表面检测和宏观缺陷检测设备。KLA使用SR-DUV光,检测精度在10nm以下。扫描电子显微(电子束和晶圆表面产生二次电子,X射线等)获取高分辨率的图像,然后用图像处理表面缺陷(凹坑,凸起,尖角,沟槽等)表面容貌和材料信息,分辨率可达5-10nm。晶圆表面缺陷检测设备主要检测晶圆外观呈现出来的缺陷,损伤、毛刺等缺陷,主要设备供应商KLA,AMAT,日立等,其中KLA在晶圆表面检测设备占有市场52%左右。

qq_36786800的博客 1万+

慕课网 反射

Class类的使用 Foo.java //类是对象,类是java.lang.Class类的实例对象。 //任何一个类都是Class的实例对象,这个实例对象有三种表示方式 public class Foo { public static void main(String[] args) throws ClassNotFoundException, InstantiationException,

yuhan_9204的专栏 416

MWORKS 2025a电气模型库实战:手把手教你搭建全桥LLC电路(附避坑指南)

本文详细介绍了如何使用MWORKS 2025a电气模型库搭建全桥LLC电路,包括环境准备、电路拓扑构建、参数优化及故障诊断。通过实战案例和避坑指南,帮助电源工程师高效设计谐振转换器,提升转换效率至98%以上。文章特别强调了Modelica模型库在电气系统建模中的关键作用。

s8t9u0v1w的博客 603

Swin Transformer注意力计算复杂度为何比全局注意力少那么多?

本文对比分析了Vision Transformer(ViT)和Swin Transformer的计算复杂度。ViT采用全局注意力机制,计算复杂度为4[hwc^2]+2[(hw)^2C],当图像尺寸较大时计算量显著增加。而Swin Transformer采用窗口注意力机制,将图像划分为M×M的窗口(如7×7),计算复杂度降为4[hwc^2]+2[(hw)(M*M)*C]。以224×224图像为例,Swin Transformer的计算量比ViT减少约900倍,大幅节省了计算资源。文章通过矩阵乘法运算详细推导了

人工智能研究所的博客 62

慕课的反射笔记

反射笔记 Class类 1、万事万物皆对象,类也是对象,是java.lang.Class的实例对象。 2、反射表示Class类有三种方法: (1)类.Class (2)类的对象.getClass(); (3)Class.forName(“类的全名”); package Iterator; public class Foo { public static void main(String...

weixin_44745208的博客 163

手把手教你学SIMULINK模块库文件专栏--Scope 模块详解

模块是 Simulink 中的一个信号接收模块,用于实时显示信号波形。该模块可以捕捉并可视化仿真过程中信号的变化,帮助用户直观地分析系统的动态行为。模块都能提供强有力的支持。通过深入了解其参数的影响及结合 MATLAB 脚本的应用,读者可以更加有效地利用这一模块进行仿真和研究。此外,通过实际应用场景的扩展以及常见问题解答部分的帮助,能够更好地掌握。模块是一个非常实用的工具,适用于需要实时显示信号波形的各种场景。模块的参数,可以进一步增强学习体验。模块参数的影响,下面我们将详细探讨每个参数如何影响波形显示。

MHD0815的博客 312

python慕课版电子版教材,python慕课版课后题答案

下面是一个病人的体温记录统计图.(1)护士每隔______小时给病人量一次体温.(2)病人在12时的体温是______.(3)是某服装厂1月份∽5月份的产值情况统计图.(1)一月份是四月份的()(),一月份是四月份的()().(2)五月份的产值比。是某服装厂1月份∽5月份的产值情况统计图.(1)一月份是四月份的()(),一月份是四月份的()().(2)五月份的产值比。五年级各班体育成绩达标的人数情况如下表,根据表中的数据,制成折线统计图.班级五(1)五(2)五(3)五(4)五(5)人。

gk12336的博客 956

【TC3xx芯片】TC3xx芯片看门狗复位的默认行为分析

TC3xx芯片看门狗复位的默认行为分析

qq_36056498的博客 350

【Python进阶】VSCode Python开发完全指南:从环境配置到高效调试

本文通过15个实战案例,系统讲解VSCode进行Python开发的环境配置、编码技巧、调试方法及性能优化,帮助初学者快速构建专业开发环境。

赶紧的博客 3761

【笔记】再学JavaScript ES(6-10)全版本语法-真香!!

文章目录序课程体系笔记 序 工作之余,用了半个月的时间学习完了慕课网的《再学JavaScript ES(6-10)全版本语法》这门课程,学习过程中反观在工作中用到的那些ES6-ES10中的语法,感觉醍醐灌顶,同时一些晦涩难懂的语法内容并不是学习完一遍就能记得住的,包括记下的这些笔记,过一段时间后再看还会有一些打壳儿,这说明学习完之后还需要在实际工作中主动去使用这些新的特性和功能,共勉之! 课程体系 摘自慕课网 笔记 ...

程序边界 4275

安全监控:人员行为分析_(2).人员行为分析基础理论

人员行为分析是指利用计算机视觉技术对视频中的人类行为进行实时或离线检测、识别和理解的过程。视频采集:通过摄像头等设备获取视频数据。视频预处理:对视频数据进行噪声过滤、图像增强等处理,以便后续分析。特征提取:从视频中提取出与人员行为相关的特征,如人体姿势、动作轨迹等。行为识别:利用机器学习或深度学习模型对提取的特征进行分类,识别出具体的人员行为。行为理解:对识别出的行为进行进一步分析,理解其背后的意图或状态。在人员行为分析中,常用的公开数据集包括UCF101、HMDB51、ActivityNet等。

zhubeibei168的博客 1345

慕课网java学习笔记

Java入门第一季 1.JAVA标识符注意事项: (1)JAVA标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含@、%、空格等其它特殊字符,不能以数字开头。 (2)标识符不能是Java关键字和保留字(Java预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。 (3)标识符是严格区分大小写的。 (4)标识符的命名最好能反映出其作用,做到见名...

mkvsxuwe的博客 629

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【RPC】慕课网RPC教程

RPC Remote Procedure Call,远程过程调用 跨进程到跨物理机器 RPC是分布式系统常见的一种通信方法; 跨进程交互形式:RESTful、WebService、HTTP、基于DB做数据交换、基于MQ做数据交换、以及RPC 图解 依赖中间件做数据交互 系统A和B异步执行的; 客户端和服务端同步执行的; RPC中 Server:Provider,服务提供者 Client:Consumer、服务消费者 Stub:存根、服务描述 服务治理:RPC调用和服务管理 RPC核心原理 注册中

~yzzheng~的博客 3771

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

慕课网java反射

Class类 1)在面向对象的世界里,万事万物皆对象。    类是对象,类是java.lang.Class类的实例对象。    There is a class named Class 2)//Foo的实例对象如何表示      Foo foo1=new Foo();//foo1就表示出来了    //Foo这个类也是一个实例对象,Class类的实例对象,如何表示呢?    //任何

翟果仁的博客 278

springboot教学资料网下载课视频课设vue

Spring封装了很多的java类库文件,在开发过程中,不需要写太多复杂的类文件,只需要引用spring这个框架,就可以完成快速开发的需要,所以Java编程的逻辑代码就变得比较清晰,各层之间的解耦性也比较强,可重用性也得到了很好的发挥,使得开发难度也更加轻松容易,它的主要两个特性就是依赖注入、面向接口思想;(AOP)切面思想;Vue实现了MVVM框架,通过后台的模型进行业务逻辑的处理,并将数据绑定到视图层中,在视图层绑定显示控件,将Model对象的数据绑定到页面控件中,实现数据的自动同步。

懒人的博客 609

零基础学python比较好的网课-自学编程哪些网课值得推荐?

建议选择一个技术方向,比如安卓开发,后台开发之类的,然后在这个方向上去用搜索引擎去搜索博客。因为视频的更新速度远落后于博客。如果不是零基础不要看视频了,还是比较浪费时间的……如果是零基础,选好方向,慕课网入门即可。然后看书看博客,自己去敲。有条件买付费课程,质量很高的。#自己学编程的心路历程#哇,想学编程的好多……不知道题主是是基于什么样的目的,是听说薪资高?还是听说门槛低?这里先先波一波冷水吧,...

q6q6q的专栏 2978

狂神说注解和反射笔记整理

doris

doris的博客 4888

python编程 网课_自学编程哪些网课值得推荐?

建议选择一个技术方向,比如安卓开发,后台开发之类的,然后在这个方向上去用搜索引擎去搜索博客。因为视频的更新速度远落后于博客。如果不是零基础不要看视频了,还是比较浪费时间的……如果是零基础,选好方向,慕课网入门即可。然后看书看博客,自己去敲。有条件买付费课程,质量很高的。#自己学编程的心路历程#哇,想学编程的好多……不知道题主是是基于什么样的目的,是听说薪资高?还是听说门槛低?这里先先波一波冷水吧,...

weixin_39744512的博客 226

java程序设计唐大仕慕课答案_200+最常见的Java面试题合集!(附答案)

作者:王磊来源:慕课网又临近年底了,大家是不是要准备一波面试呀。有人说,这个时间不是金三银四,也不是金九银十的,不是面试的好时机呢~小慕觉得,正是因为大家有这样的想法,所以才很少选择这个时机去跳槽;而且很多人都等着年终奖,更是不愿意跳槽了。如果咱们愿意放弃年终奖,那机会就是属于咱们的啦。如果咱们获得了入职机会,也可以借放弃上家公司年终奖,来提高本次入职的薪资。那小慕就为大家准备了一波面试...

weixin_30476033的博客 1019

反射内存网与以太网技术比较

反射内存网与以太网技术比较 一、通信确定性与实时性   反射内存(RFM)是基于环状/星状的,高速复制的共享内存网络。它支持不同总线结构的多计算机系统,并且可以使用不同操作系统来共享高速的、稳定速率的实时数据。 基于反射内存构建的实时网络是一种强实时高带宽局域网技术,在互连的计算机间提供高效的数据传输。反射内存网在所有互连的节点中虚拟出一段全局共享的网络内存,在分布系统中实现内存至内存的通

雕虫小技 6925

Java设计模式精讲—慕课网—课程笔记4(第8章 单例模式)

Java设计模式精讲—慕课网—课程笔记3 8 单例模式讲解+Coding+源码解析 8.1 单例模式讲解 8.2 单例设计模式——懒汉式及多线程Debug实战 8.3 单例设计模式——DoubleCheck双重检查实战及原理解析 8.4 单例设计模式——静态内部类——基于类初始化的延迟加载解决方案及原理解析 8.5 单例设计模式——饿汉式 8.6 单例设计模式——序列化破坏单例模式原理解析及解决方案 8.7 单例设计模式——反射攻击解决方案及原理分析 8.8 单例设计模式—Enum枚举单例、原理源码解析以及

江南土豆的博客 377

慕课网 Java注解 学习笔记

注解的作用: 能够读懂别人写的代码,特别是框架相关的的代码让变成更加简洁,代码更加清晰让别人高看一眼 不懂注解就不能说学过Spring,mybatis  Java 1.5 开始引入注解。 注解概念: Java提供了一种源程序中的元素关联任何信息和任何元数据的途径和方法。 Java常见的注解 JDK 自带注解: @Override  @Deprecate

linyk3的专栏 555

全面解析Java注解--慕课网笔记

第1章 概述1-1 Java注解概述 为什么要学习注解?学习注解有什么好处?学完能做什么?能够读懂别人的代码,特别是框架相关的代码 让编程更加简洁,代码更加清晰 让别人高看我们一眼 注解在Java1.5引入 Java提供了一种原程序中元素关联任何信息和任何元素的途径和方法 Java中的常见注解 注解分类 自定义注解 注解应用实战 第2章 Java中的常见注解2-1 JDK中的注解JDK自带注解

学习笔记 627

反射内存 延时_PCI5565反射内存网技术的应用研究

随着嵌入式与通信技术的发展,数控系统经历了由传统的单处理器的集中式体系结构到开放式体系结构,再到多处理器的分布式数控系统体系结构的发展过程。分布式数控系统以高精、高速的加工特征为发展核心,同时以达到异构网络间信息的无缝融合,实现高实时性、高可靠性和高兼容性的新一代生产制造系统为发展方向。针对如何提高分布式数控系统实时通信能力的问题,陶林等[1]提出了一种基于以太网的分布式数控系统实时通信网络; 宋...

weixin_36208314的博客 1022

【慕课网】WEB安全-XSS学习笔记

一、XSS课程大概介绍 二、XSS的攻击方式 反射型:发出请求时,XSS代码出现在url中,作为输入提交到服务器端,服务端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。 存储型:存储型XSS和反射型XSS的差别在于,提交代码会存储在服务器端(数据库、内存、文件系统等),下次请求目标页面时不同再提交XSS代码。    

Cyan1614的博客 665
上一篇: Java Socket应用---慕课网笔记
下一篇: 全面解析Java注解--慕课网笔记
lmjun3
博客等级 码龄11年 78粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值