Java基础背诵(三)

  • 要判断怎样的对象是没用的对象?
  • 1,采用标记计数的方法: 给内存中的对象给打上标记,对象被引用一次,计数就加1,引用被释放了,计数就减一,当这个计数为0的时候,这个对象就可以被回收了,当然,这也就引发了一个问题:循环引用的对象是无法被识别出来并回收的。
  • 2,采用根搜索算法:从一个根出发,搜索所有的可达对象,这样剩下的那些对象就是需要被回收的。
  • 静态代理和动态代理的区别,什么场景使用?
  • 静态代理:由程序员创建或由特定工具自动生成源代码,再对其编译,在程序运行前代理类的 .class 文件就已经存在了。动态代理:在程序运行时,运用反射机制动态创建而成。场景:著名的Spring框架,Hibernate 框架等等都是动态代理的使用例子。
  • Java的异常体系?
  • Throwable , Error ,Exception ;
  • 对解析与分派的认识?
  • 解析:Java 中方法调用的目标方法在Class文件里面都是常量池中的符号引用,在类加载的解析阶段,会将其中的一部分符号引用转化为直接引用,这种解析的前提是:方法在程序真正运行之前就有一个可以确定的调用版本,并且这个方法的调用版本在运行期是不可改变的,即编译期可知,运行期不可变,这类目标的方法的调用称为解析。
  • 只要能被invokestatic和invokespecial指令调用的方法,都可以在解析阶段中确定唯一的调用版本,符合条件的静态方法(invokestatic指令)私有方法,实例构造方法,父类方法(这3个是invokespecial指令),它们在类加载的解析阶段就会将符号应用解析为该方法的直接用于。
  • 分派:分派是多态性的体现,Java虚拟机底层提供了我们开发中重载和重写的底层实现,其中重载属于静态分派,而重写则是动态分派的过程。解析调用一定是个静态的过程,在编译期就完全确定,在类加载的解析阶段就将涉及的符号引用全部转变为可以确定的直接引用,不会延迟到运行期再去完成。
  • Java中实现多态的机制是什么?
  • 方法的重写Overriding和重载Overloading是Java多态性的不同表现
  • 重写是父类与子类之间多态性的一种表现。
  • 重载是一个类中多态性的一种表现。
  • 对Java反射的理解?
  • Java 反射机制是在运行状态中,对于任意一个类,都能都知道这个类是所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性看,从对象出发,通过反射(class类)能取得类的完整信息(类名 class类型,所在包,具有的所有方法Method[]类型,某个方法的完整信息(修饰符,返回值类型,异常,参数类型),所有属性Field[],某个方法的完整信息,构造器,调用类的属性或方法自己的总结:在运行过程中获得类,对象,方法的国有信息。
  • 对java注释的理解
  • 元注释:的作用就是负责注解其他注解,java5.0的时候,定义了四个标准的meta-annotation类型,他们用来提供对其他注解的类型作说明。
  • 1,@Target
  • 2,@Retention
  • 3,@Documented
  • 4@Inherited
  • JAVA中String的了解?
  • 在源码中string是用final进行修饰,他是不可更改,不可继承的常量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值