java基础
一直伪装着笑下去
一条咸鱼的码农的被坑记录
展开
-
类加载
一、类的加载与ClassLoader的理解1.加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象(一个类只有一个Class对象)2.链接: 将Java类的二进制代码合并到JVM的运行状态之中的过程。(1)验证:确保加载的类信息符合JVM规范,没有安全方面的问题(2)准备:正式为类变量(static) 分配内存并设置类变量默认初始值的阶段,这些内存都将在方法区中进行分配。(3)解析:虚拟机常量池内的原创 2020-10-07 21:45:48 · 86 阅读 · 0 评论 -
如何利用反射获取对象并利用field去修改属性
一、如何利用反射获取对象所使用的pojo:public class Person { private String name; private static int age = 58; public Person() { System.out.println("Person的无参构造器"); } public Person(String name) { this.name = name; System.ou原创 2020-10-07 17:00:12 · 2754 阅读 · 0 评论 -
Reflection(反射)
1.Reflection (反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。Class c = Class. forName("java.lang.String")2.加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子, 透过这个镜子看到类的结构,所以,我原创 2020-10-07 11:33:48 · 434 阅读 · 0 评论 -
注解以及如何利用反射获取注解
什么是注解1.Annotation是从JDK5.0开始引入的新技术2.Annotation的作用 :(1)不是程序本身,可以对程序作出解释(这一点和注释(comment)没什么区别)(2)可以被其他程序(比如:编译器等)读取3.Annotation的格式:注解是以"@注释名"在代码中存在的,还可以添加一-些参数值,例如:@SuppressWarnings(value="unchecked")4.Annotation在哪里使用?可以附加在package , class , method ,原创 2020-10-07 10:59:48 · 7642 阅读 · 1 评论