• @author 70241

*/

public class ClassDemo {

@Testpublic void classTest1() {try {Class class1 = Class.forName("com.dingyu.User");// 第一种获取Class对象的方法User user = new User();Class class2 = user.getClass();// 第二种获取Class对象的方法Class class3=User.class;//第三种获取Class对象的方法System.out.println("接下来判断到底同一类的不同对象的Class对象是不是同一个:"+ (class1.hashCode() == class2.hashCode()&&class1.hashCode() == class3.hashCode()));} catch (ClassNotFoundException e) {e.printStackTrace();}}@Testpublic void classTest2() {String[] s1 = new String[10];String[] s2 = new String[30];String[][] s3 = new String[3][30];System.out.println(s1.getClass().hashCode()==s2.getClass().hashCode());System.out.println(s1.getClass().hashCode()==s3.getClass().hashCode());}

}

![](https://img2018.cnblogs.com/blog/1248002/201811/1248002-20181123202746256-488057352.png)![](https://img2018.cnblogs.com/blog/1248002/201811/1248002-20181123202803465-194277815.png)### 2.Class获取类的属性,构造器,方法和注解的简单使用 

package com.dingyu;

import java.lang.annotation.Annotation;

import java.lang.reflect.Constructor;

import java.lang.reflect.Field;

import java.lang.reflect.Method;

import org.junit.Test;

/**

  • Class的简单用法

  • @author dingyu

*/

public class ClassDemo02 {

@Testpublic void usingClass() throws Exception {Class userClass = Class.forName("com.dingyu.User");// 获得类名System.out.println(userClass.getName());// 获得全类名System.out.println(userClass.getSimpleName());// 获得类名// 获得属性Field[] fields = userClass.getDeclaredFields();// 获得所有的属性for (Field field : fields) {System.out.println(field.getName());}System.out.println(userClass.getDeclaredField("id").getName());// 获得指定的属性// 获得方法Method[] methods = userClass.getDeclaredMethods();// 获得所有的方法for (Method method : methods) {System.out.println(method.getName());}Method method = userClass.getDeclaredMethod("setId", int.class);// 获得指定的方法,前面方法名,后面方法的参数System.out.println(method.getName());// 获得构造器Constructor[] constructors = userClass.getDeclaredConstructors();System.out.println(constructors.length);Constructor constructor = userClass.getDeclaredConstructor(int.class, String.class, int.class);// 获得指定的构造器,需要指定构造的参数System.out.println(constructor.getName());// 获得注解Annotation[] annotations = userClass.getAnnotations();for (Annotation annotation : annotations) {System.out.println(annotation);}// 指定注解名MyAnnotation annotation = (MyAnnotation)userClass.getDeclaredAnnotation(MyAnnotation.class);System.out.println(annotation);}

}

### 3.Class动态的调用构造器,方法,修改属性 

package com.dingyu;

import java.lang.reflect.Constructor;

import java.lang.reflect.Field;

import java.lang.reflect.Method;

import org.junit.Test;

/**

  • 使用反射动态的调用构造器,方法,修改属性

  • @author 70241

*/

public class ClassDemo03 {

@Test@SuppressWarnings("all")public void usingClass() throws Exception {Class class1 = Class.forName("com.dingyu.User");//使用反射去调用构造器User user1 = (User) class1.newInstance();//调用的是无参的Constructor constructor = class1.getDeclaredConstructor(int.class,String.class,int.class);//获得有参的构造器User user2 = (User) constructor.newInstance(04,"dingyu",20);//动态生成对象//使用反射去调用方法Method methodSetId = class1.getDeclaredMethod("setId",int.class);methodSetId.invoke(user1, 02);//执行user1中的setId,后面是给的参数System.out.println(user1.getId());

最后

既已说到spring cloud alibaba,那对于整个微服务架构,如果想要进一步地向上提升自己,到底应该掌握哪些核心技能呢?

就个人而言,对于整个微服务架构,像RPC、Dubbo、Spring Boot、Spring Cloud Alibaba、Docker、kubernetes、Spring Cloud Netflix、Service Mesh等这些都是最最核心的知识,架构师必经之路!下图,是自绘的微服务架构路线体系大纲,如果有还不知道自己该掌握些啥技术的朋友,可根据小编手绘的大纲进行一个参考。

如果觉得图片不够清晰,也可来找小编分享原件的xmind文档!

且除此份微服务体系大纲外,我也有整理与其每个专题核心知识点对应的最强学习笔记:

  • 出神入化——SpringCloudAlibaba.pdf

  • SpringCloud微服务架构笔记(一).pdf

  • SpringCloud微服务架构笔记(二).pdf

  • SpringCloud微服务架构笔记(三).pdf

  • SpringCloud微服务架构笔记(四).pdf

  • Dubbo框架RPC实现原理.pdf

  • Dubbo最新全面深度解读.pdf

  • Spring Boot学习教程.pdf

  • SpringBoo核心宝典.pdf

  • 第一本Docker书-完整版.pdf

  • 使用SpringCloud和Docker实战微服务.pdf

  • K8S(kubernetes)学习指南.pdf

需要下载的请**点击传送门:《出神入化——SpringCloudAlibaba》**

另外,如果不知道从何下手开始学习呢,小编这边也有对每个微服务的核心知识点手绘了其对应的知识架构体系大纲,不过全是导出的xmind文件,全部的源文件也都在此,照样可免费分享给有需要的你!

书-完整版.pdf

  • 使用SpringCloud和Docker实战微服务.pdf

  • K8S(kubernetes)学习指南.pdf

需要下载的请**点击传送门:《出神入化——SpringCloudAlibaba》**

[外链图片转存中…(img-oKuYAszg-1628225262249)]

另外,如果不知道从何下手开始学习呢,小编这边也有对每个微服务的核心知识点手绘了其对应的知识架构体系大纲,不过全是导出的xmind文件,全部的源文件也都在此,照样可免费分享给有需要的你!

rabbitmq原理总结,Java反射的简单入门相关推荐

  1. 通过java反射实现简单的关于MongoDB的对象关系映射(ORM).

    通过阅读MongoDB  3.2.1的官方文档中关于java 编程发现最新的文档并没有实现对对象到Document的映射,所以自己有了利用反射实现简单的关系映射. 1.定义抽象类:AbstractMo ...

  2. Java反射机制简单使用

    1.Java反射相关类所在package: java.lang.reflect.* 2.开始使用Reflection: 使用reflect相关类,遵循三个步骤: a.获取想要操作类的 java.lan ...

  3. Java 反射机制快速入门及常见方法全归纳。

    目录 一.反射机制 1.基本介绍 2.原理示意图 3.反射基本代码实现 4.反射性能 二.Class 类 1.基本介绍 2.获取 Class类对象的方式 3.有 Class对象的类 三.类加载 1.基 ...

  4. 【java反射】简单说说静态代理和动态代理

    在上篇博客中,我们说了反射的原理和简单应用,这次我们说说反射更深一层的应用,即动态代理. 代理模式 定义 代理模式是为其他对象提供一种代理以控制对这个对象的访问.代理模式分为静态代理和动态代理. 原理 ...

  5. java函数式 new_java8简单入门--函数式接口 @FunctionalInterface

    1.介绍 看了几篇关于 java8 入门的例子,其中引入了许多令人期待已久的特性(虽然我没有过这样的体会),但不管你的代码是普通青年款还是文艺青年款,你都可以从被 java8 的重新组织的代码看到她的 ...

  6. 详解Java反射机制------入门篇

    一.什么叫Java反射机制? Java中的反射机制是指在运行状态中,对于任意一个类,能够动态获取这个类中的属性和方法:对于任意一个对象,都能够任意调用它的属性和方法.这种动态获取类的信息以及动态调用对 ...

  7. java反射字段6,java反射判断字段类型

    java动态获取字段类型,深入理解 Java 虚拟机 Java内存区域与内存溢出异常,java反射判断字段类型,java动态添加字段原理 利用java反射获取泛型类的类型参数具体类对象_计算机软件及应 ...

  8. java 反射初探(1)

    从接触java开始,很少使用过反射,记得只有在去年做一个舆情项目的时候,用反射做过一个代理模式来判断抓取的哪个网站的数据.先说说自己对反射的理解吧. 反射的原理: JAVA反射机制是在运行状态中,对于 ...

  9. Java 反射 - 指南

    作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 该系列文章中所描述介绍的是 Java 6 版本的反射机制. Java 反射的例子 下面是一个 Java 反射的简 ...

最新文章

  1. [LintCode] Maximum Subarray 最大子数组
  2. BZOJ2298 [HAOI2011]problem a
  3. 项目发布时候出错--项目文件包含 ToolsVersion=12.0
  4. 线上活动 | 2020年PM如何提高求职成功率?
  5. 设计模式:结构型模式总结
  6. 经典C语言程序100例之五六
  7. iPad连android热点掉线,苹果终于承认,iOS 13有这个问题,网络断连的原因找到了...
  8. Markdown 进阶
  9. 温故之 “插入排序”
  10. java 设计模式学习笔记十四 template模版模式
  11. CSS3 多列布局列的填充方式column-fill属性
  12. 从tensorflow的summary中提取数据,并进行平滑操作与显示
  13. 使用plugins让打包更便捷
  14. Android考察报告模板,《跨越星弧》星球地质考察报告首次公开!
  15. MybatisPlus自定义sql分页查询
  16. JAVA实现时间换算
  17. PTA7-4 考试周
  18. 怎么去掉ECShop购物流程中收货人电子邮箱必填
  19. python用四个圆画成花_【元旦手工】最美元旦手工花手工教程,赶紧提前收藏吧!...
  20. C# GDI画图系列(五) 添加文字和导出图片等附加功能

热门文章

  1. 中国数字绘图板行业市场供需与战略研究报告
  2. 中国临床诊断自动化行业市场供需与战略研究报告
  3. 使用 Docker 打造超溜的前端环境
  4. ES6 javascript 实用开发技巧 1
  5. node npm cnpm 全局安装淘宝NPM 镜像
  6. 我的世界java版如何装mod_我的世界考古“初代贝爷生存”?开局3滴血,还没进游戏就要自闭了...
  7. 按比例算出成绩 用c语言,Excel按指定比例生成学生总分,并迭代计算出各学科分数...
  8. 我为什么辞去 Netflix 价值 45 万美元的开发工作
  9. 如何在 Deno 中构建一个 URL 短链生成器
  10. PHP 官方被黑与“网络军火商”Zerodium 有关?CEO 辟谣:这个漏洞就是垃圾