首页 > 编程语言 >博客摘录「 2024年 Java 面试八股文(20w字)」2024年7月2日

博客摘录「 2024年 Java 面试八股文(20w字)」2024年7月2日

时间:2024-07-05 19:02:25浏览次数:18  
标签:反射 Java 20w 对象 2024 实例 JVM Class 加载

反射机制: Reflection(反射)  是Java语言被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作对象的内部属性以及方法。

加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),  这个对象包含了完整的类结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过镜子看到类的结构,所以,我们形象的称之为:反射

正常方式: 引入需要的“包类”名称 - 通过new实例化  -  取得实例化对象

反射方式: 实例化对象 - getClass()方法 - 得到完整的“包类”名称

优点:可以实现动态创建对象和编译,体现出很大的灵活性

缺点: 对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它满足我们的要求。这类操作总是慢于直接执行相同的操作。 

Class类

对象照镜子后可以得到的信息:某个类的方法、属性和构造器、某个类到底实现了哪些接口。对于每个类而言,Jre都为其保留了一个不变的Class类型的对象。一个Class对象包含了特定某个结构(class/interface/enum/annotation/primitive type/void/[])的有关信息。

  • Class本身也是一个类
  • Class对象只能由系统建立对象
  • 一个加载的类在JVM中只会有一个Class实例
  • 一个Class对象对应的是一个加载到JVM中的一个.class文件
  • 每个类的实例都会记得自己是由哪个Class实例所生成
  • 通过Class可以完整的得到一个类中的所有被加载的结构
  • Class类是Reflection的根源,针对任何你想动态加载、运行的类,唯有先获得相应的Class对象

Class对象常用方法:  

标签:反射,Java,20w,对象,2024,实例,JVM,Class,加载
From: https://blog.csdn.net/weixin_51506133/article/details/140119209

相关文章

  • 周总结2024/7/5
    大二学生加入软件工程专业的第一个预习周:1.本人规划了每天至少需要学习4个小时,其中呢包括了两个小时的java语言的基本语法和一些语句,还有两个小时的MYSQL的学习;2.通过第一周的学习,我发现java语言和大一所学习的c,c++有所不同,java语言在学习中有一个最大的特点是跨平台性(虽然现在......
  • JAVA中的IO流技术(JAVA基础)
    IO流的基础概念1.如何理解IO1.输入(Input)指的是:可以让程序从外部系统获得数据(核心含义是“读”,读取外部数据)。2.输出(Output)指的是:程序输出数据给外部系统从而可以操作外部系统(核心含义是“写”,将数据写出到外部系统)。3.java.io包为我们提供了相关的API,实现了对所有外......
  • Java基础
    Java基础部分,包括语法基础,泛型,注解,异常,反射和其它(如SPI机制等)。@立刀旁目录#1.1语法基础#面向对象特性?#a=a+b与a+=b的区别#3*0.1==0.3将会返回什么?true还是false?#能在Switch中使用String吗?#对equals()和hashCode()的理解?#final、fin......
  • 20240705比赛总结
    T1酸碱度中和https://gxyzoj.com/d/hzoj/p/3731因为是要将一些数变为一个值,所以差相对小的一些数修改的会更少,所以可以先将原数组排序因为当x可以时,x+1必然可以,所以考虑二分接下来考虑到因为上下变动的都至多为m,所以开头和结尾的差必然不超过2m它就可以看作用一些长度为2m的......
  • 2024年idea系列激活码(持续更新)
      如果过期了,去下面小程序:   IntellijIDEA(简称IDEA)是Java语言的集成开发环境,在业界公认为是一款优秀的Java开发工具。分为Community社区版(免费)和Untimate终极版(付费)。IDEA是一款智能编译器。它可以进行智能代码补全、提供问题工具窗口、代码上下文检查操作、......
  • 2024.7.5 鲜花
    空白とカタルシス——TOGENASHITOGEARI。震惊,K某He强推竟然是这首歌,三天重复上百遍……どれだけ手に入れてもどれだけ自分のものにしてもしてもしても追いつけないな高望みしすぎなんて腐ったような言葉誰しも誰よりも優れて欲しくはないんだよ理由はただ一つ打ち砕......
  • Java使用线程实现异步运行
    在Java中,实现异步运行的一个常用方式是使用Thread类。下面,我将给出一个详细且完整的示例,该示例将创建一个简单的异步任务,该任务将模拟一个耗时的操作(比如,模拟网络请求或文件处理)。1.使用Thread类实现异步运行假设我们有一个任务,该任务需要模拟一个耗时操作,比如从网络下载一个大......
  • Java使用线程实现异步运行
    在Java中,实现异步运行的一个常用方式是使用Thread类。下面,我将给出一个详细且完整的示例,该示例将创建一个简单的异步任务,该任务将模拟一个耗时的操作(比如,模拟网络请求或文件处理)。1.使用Thread类实现异步运行假设我们有一个任务,该任务需要模拟一个耗时操作,比如从网络下载一......
  • 源代码防泄密很重要!2024源代码加密软件推荐
    一、源代码防泄密的重要性源代码作为软件的核心资产,其防泄密工作至关重要。一旦源代码泄露,可能引发一系列严重后果。知识产权被盗用,意味着竞争对手可能凭借获取的源代码迅速开发出相似产品,抢占市场份额。例如,某创新型软件公司研发的独特算法源代码被泄露,竞争对手很快推出了功......
  • 通义灵码入选 2024 世界人工智能大会最高荣誉「镇馆之宝」
    7月4日,2024上海世界人工智能大会正式开幕,并揭晓了今年的「镇馆之宝」名单,通义灵码入选,是首个入围该名单的AI编程助手。镇馆之宝是世界人工智能大会展览的最高荣誉,从科技含量、市场前景、创新性以及社会经济效益等维度综合考量评选,每年入选数量不超过10个,获奖产品不仅代......