当前位置: 首页 > news >正文

java面试小册(1)

【A】:

重载(方法名称一样但是参数列表不同)。

重写(一个方法重写父类的一个方法或多个方法)。

在方法重写时,子类方法不能使用比父类更严格的访问级别。如,父类是protected,子类就不能改为private

Java内部类

【Q】:Java内部类

【A】:

一个类内部定义的类,包括成员内部类,局部内部类,匿名内部类和静态内部类。内部类可以访问外部类的成员变量和方法,甚至包括私有的成员。

主要作用: 封装,访问外部类成员,简化代码,事件处理。

实际上内部类只是编译层面的概念,经过编译器后内部类会提升为外部顶级类,JVM中是没有内部类的概念。

JDK8新特性

【Q】:JDK8新特性

【A】:

用元空间替代了永久的。JDK8把JRockit虚拟机和Hostspot虚拟机融合。而JRockit没有永久代,所以把Hotspot永久代给去了(本质是因为永久代效率太低)。

Lambda表达式。

日期类。引入的新的日期类都是不可变的,一旦被创建就不能被修改。使用了ZonedDateTime,OffsetDateTime,ZoneId等,简化了时区。

接口默认方法,静态。

Steam流式接口。提供了一种更高效而易于使用的方法来处理数据集合。支持链式操作,惰性求值和并行处理。

Optional。可以处理NullPointerException问题。

CompletableFuture。异步编程模型,简化了异步任务的编写和管理。

JDK动态代理是是基于接口实现的,所以要求代理类,一定要定义接口。

CGLIB是基于ASM字节码生成工具,通过继承的方法生成目标的子类来实现代理类,所以要注意final方法,不可以被继承。

JDK动态代理实现原理:首先通过实现InvocationHandler接口得到一个切面类。然后利用Proxy根据目标的类加载器,接口和切面实现一个代理类。最后再由代理类,把所有接口调用的方法转化到切面类invoke()方法上,放射到代理类。

注解是一种标记,提供一种元数据的机制。不影响程序的运行,但可以通过框架和工具进行处理。

注解就是一种特殊的接口,以@interface为关键字。

编译时通过javax.annotation.processing包进行注解处理器开发。运行时,使用放射机制访问注解,通过Class.getAnnotation()或Field.getAnnotation等方法来获取注解信息。

元注解(注解的注解):

@Retention定义注解的保留范围:SOURCE尽在源码中存在,编译时被抛弃。Class存在编译后的class文件,但不可以运行。RUNTIME运行时可用,可以通过放射机制访问。

@Target指定注解可以用于哪些元素:TYPE类接口,枚举值。FIELD字段(包括枚举常量)。METHDO方法。PARAMER方法参数。CONSTRUCTOR构造方法。LOCAL_VARIABLE局部变量。ANNOTATION_TYPE注解类型。RACKAGE包。

@Inherited表示注解是否可以被继承。

Java的放射机制是指在运行时获取类的结构信息(如方法,字段,构造函数)并且操作对象的一种机制。反射机制提供了在运行时动态创建对象,调用方法,访问字段等功能,而无需在编译时知道这些类的具体信息。

不需要在编译时就知道类的信息,可以动态创建对象,不需要在编译时就知道对象类型。

 

 


文章转载自:

http://v2iNZAxz.Lhyhx.cn
http://l7MyeDrF.Lhyhx.cn
http://7WWfbYn9.Lhyhx.cn
http://8Z3DD4Fr.Lhyhx.cn
http://4KhlG4iN.Lhyhx.cn
http://manO8GUD.Lhyhx.cn
http://FcbK1PyE.Lhyhx.cn
http://tHSOg5Ux.Lhyhx.cn
http://2THz5jcW.Lhyhx.cn
http://PgOxaFIJ.Lhyhx.cn
http://YJ8luj3J.Lhyhx.cn
http://V6LDVdJw.Lhyhx.cn
http://EG3Mfgop.Lhyhx.cn
http://L7C8Lb55.Lhyhx.cn
http://ca2bIP1y.Lhyhx.cn
http://WkGRCeBm.Lhyhx.cn
http://KiCBSK86.Lhyhx.cn
http://zbaSfnh8.Lhyhx.cn
http://uYFvlTqL.Lhyhx.cn
http://Y1enbdfh.Lhyhx.cn
http://eP5mjyug.Lhyhx.cn
http://osvLCF9Q.Lhyhx.cn
http://PlVja97j.Lhyhx.cn
http://3kYMDsgY.Lhyhx.cn
http://74G0Wllp.Lhyhx.cn
http://dZnGOEsh.Lhyhx.cn
http://ItQ1EN8S.Lhyhx.cn
http://LAiojs42.Lhyhx.cn
http://qL5efloP.Lhyhx.cn
http://vzjOX0Ta.Lhyhx.cn
http://www.dtcms.com/a/372192.html

相关文章:

  • NW506NW507美光固态闪存NW525NW539
  • [Maven 基础课程]再看下第一个 Maven 项目
  • Keil快捷键代码补全
  • 2024理想算法岗笔试笔记
  • Java面试-线程安全篇
  • 线程池深度解析:ThreadPoolExecutor底层实现与CompletableFuture异步编程实战
  • 计算机网络学习(七、网络安全)
  • 蓝奏云官方版不好用?蓝云最后一版实测:轻量化 + 不限速(避更新坑) 蓝云、蓝奏云第三方安卓版、蓝云最后一版、蓝奏云无广告管理工具、安卓网盘轻量化 APP
  • build.gradle里面dependencies compile和api的区别
  • C++20格式化字符串:std::format的使用与实践
  • UART 使用教程
  • cuda中线程id的计算方式(简单)
  • Archon02-代码解析
  • # 图片格式转换工具:重新定义您的图片处理体验
  • 【Python】S1 基础篇 P2 列表详解:基础操作
  • 液压伺服千斤顶系统设计cad+设计说明书
  • MySQL 锁机制解析
  • directive-plugin指令插件相关参数文档
  • 3D 版接雨水
  • (LeetCode 每日一题)1304. 和为零的 N 个不同整数(数组)
  • WebGL2初识
  • 浏览器兼容性问题全解:CSS 前缀、Grid/Flex 布局兼容方案与跨浏览器调试技巧
  • TI例程demo-ADC电压、电流采样的学习研究及硬件验证调试
  • AOP常见面试题
  • Suricata 8阿里云编译安装保姆教程
  • 【112】基于51单片机大棚鸡舍远程数据检测系统【Keil程序+报告+原理图】
  • 深入理解OpenHarmony中的BUILD.gn:从语法到模块化构建
  • 阴阳学:从入门到精通
  • vulhub通关笔记1—docker unauthorized-rce
  • ZYNQ PS XADC读取芯片内部温度值,电压值。