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

JAVA面试题——初级

1、关于常用包

java.long 基础包:String Math Integer…

java.util 工具包:Collection Map Date

java.sql 数据库相关:Conection

java.io 输入输出:OutputStream File

2、JDK、JRE、JVMA的区别

JDK:是java开发的工具箱,包含jre,还包含将java文件编译为class文件的javac工具类(编译器),除此之外还包括java原生的API;包含J2SE(标准版)、J2EE(企业版)、J2ME(用于移动设备)

JRE:是java运行环境,所有的java程序都要在JRE下才能运行;包括JVM

JVM:虚拟机,java运行依赖虚拟机,因为虚拟机所以才能跨平台

3、&与&&区别

&&具有短路的功能,即第一个表达式为false,则不再计算第二个表达式;&不管第一个正确与否都会计算第二个

4、char型变量能不能储存一个汉字

char型变量是用来存储Unicode编码的字符的,unicode编码的字符集中包含汉字所以,char行变量中可以存储汉字。但是char不能存储unicode中包含的汉字。补充:char 型的变量占两个字节

5、switch默认接受的数据类型

byte 、shot、int、char String

6、java基本数据类型

byte shot int long float double char boolean

7、String类型是基本数据类型?

java.lang.String 是final类型类、因此不能被继承,不能被修改。

8、int与Integer有什么区别(自动装拆)

int是原始类型。Integer为引用类型。

9、String与StringBuffer的区别

String 的值不可改变。StringBuffer的值可以进行修改

10、java面向对象的三大特征

封装、继承、多态

11、静态变量、成员变量、局部变量

静态变量

成员变量

局部变量

所属

属于类

属于对象

属于方法

位置

类中方法外

类中方法外

方法内

内存

静态区

堆空间

栈空间

周期

随类加载

随对象加载

随方法加载

初始值/调用

默认初始值,通过类名调用

默认初始值,通过对象调用

无初始值、通过方法使用

12、静态代码块、构造代码块、构造方法的执行顺序

① static { System.out.println(“静态代码块”) }

②  { System.out.println(“构造代码块”); }

③  public Student() { System.out.println(“构造方法”); }

执行顺序① ② ③

执行多次出现结果①执行一次 ② ③重复执行

13、Collection 、Collections、List、Set的区别

List与Set都继承于Collection,Collection是集合的顶级接口。而Collections是集合工具类。list为有序集合接口,ArrayList、LinkedList、Vector为其实现类;Set是无序不重复集合接口,HashSet、LinkedHashSet、TreeSet为其实现类

14、ArrayList、LinkedList、Vector的区别

ArrayList Vector:底层为数组、查询快、增删慢 。ArrayList 效率高、线程不安全;Vector效率低、线程安全

LinkedList:底层为链表结构、查询慢、增删快

15、HashMap、HashTable

HashMap的效率高、线程不安全、允许键或值为空

HashTable线程安全、效率低、不允许键或值为空

16、数组与集合的区别

数组可以存储基本数据类型,也可以存储对象,长度固定

集合只能存储对象,长度可变

17、常见数据结构

栈、队列、数组、链表、树

18、Map接口与Collection接口的区别

Map是双列的、Collection是单列的

Map的键值唯一、Collection的子接口set是唯一的

Map的数据结构只针对键有效。Collection针对元素有效

19、Integer与int值的问题

integer直接赋值,如果数在-128到127之间,==结果则为true、否则为false

两个new Integer 不会相等

int 和 integer(无论是new出的、还是直接赋值的),只要值相同、则为true

20、运行时异常与编译时异常的区别

运行时异常:RuntimeException类及其子类 编译过程中没有错误,运行时会报错

编译时异常:编译过程中出错。必须解决才能运行

21、异常的处理方式

try catch 在方法内直接解决

throws 将异常抛给上一级解决,可以抛出多个异常,可能会抛出

ps:throw 抛出一个异常对象,一定会抛出

22、final、finally、finalize的区别

final 修饰变量为常量,修饰方法不能被重写,修饰类不能被继承

finally try-catch-finally语句代码,一定执行

finalize 垃圾回收器方法

23、osi七层模型

第一层:物理层 ,

第二层:数据链路层 ,

第三层:网络层 ,

第四层:传输层,

第五层:会话层,

第六层:表示层,

第七次:应用层。

24、封装概念

隐藏对象的属性与实现细节,仅提供公共的访问的方式

25、继承概念

将类中重复的属性和方法抽取到一个类中,其他类无序定义这些属性,只需要继承这个类即可

26、多态概念

允许不同类的对象对同一消息作出响应。

27、Overload与Override的区别

重写与重载都是java多态的体现。重写是父类与子类之间的多态性的一种表现形式,重载是一个类中多态性的表现形式。重写时,参数、返回值、方法名都必须相同;而重载时参数不同、返回值可以不同,方法名相同。

28、error与exception有什么区别

error表示恢复不是不可能,但很难的问题,比如内存溢出

exception则表示程序设计问题,通过修改程序就能解决

29、抽象类与interface的区别

抽象类中可以有抽象方法,也可以没有,而interface中必须都为抽象方法。

抽象类只能被单继承,而interface可以多实现。

抽象类中extend实现抽象类,implement实现接口。

抽象类有构造方法,接口没有。

抽类中可以有main方法,接口中没有。

30、数组length属性 String length方法

31、描述一下JVM加载class文件的原理机制
 JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

56、多线程有几种实现方法,都是什么同步有几种实现方法,都是什么
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 。
同步的实现方面有两种,分别是synchronized,wait与notify。

相关文章:

  • 20 个 JS 工具函数助力高效开发
  • python珍藏宝藏学习资料
  • mysql<回表,覆盖索引,最左匹配,索引下推>
  • 基于Python的电子病历实体识别系统
  • 计算机视觉项目-人脸识别与检测
  • Nature全球潮汐可视化兼影像数据下载网站:Intertidal change
  • 每日优鲜深陷“破产风波”,生鲜电商路在何方?
  • 需求分析的基本任务 ,需求分析参与人 ,目前用于需求分析的结构化分析方法遵守的准则,确定对系统的综合要求及案例
  • Python每日一练(牛客数据分析篇新题库)——第31天:中位函数
  • 电源硬件设计----电源基础知识(2)
  • 【魔方代码】1200行C语言代码实现“魔方”程序,学会它买魔方的钱都省了,拿走不谢~
  • 4、乐趣国学—“满招损,谦受益。”
  • 商城项目07_网关工程初步搭建、商品分类树状结构展示、网关配置、解决跨域问题
  • 【Python刷题篇】——Python入门 09 字典(下)
  • MySQL-查询数据库(二)
  • 10个确保微服务与容器安全的最佳实践
  • 2017届校招提前批面试回顾
  • Java面向对象及其三大特征
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • - 概述 - 《设计模式(极简c++版)》
  • 关于Java中分层中遇到的一些问题
  • 观察者模式实现非直接耦合
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 什么软件可以剪辑音乐?
  • 思维导图—你不知道的JavaScript中卷
  • 一些css基础学习笔记
  • C# - 为值类型重定义相等性
  • gunicorn工作原理
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #laravel 通过手动安装依赖PHPExcel#
  • $.each()与$(selector).each()
  • (3)STL算法之搜索
  • (9)STL算法之逆转旋转
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十) 初识 Docker file
  • (一)80c52学习之旅-起始篇
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转) 深度模型优化性能 调参
  • (转)iOS字体
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @AutoConfigurationPackage的使用
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [ACM] hdu 1201 18岁生日
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [C#]winform部署PaddleOCRV3推理模型
  • [C#基础]说说lock到底锁谁?
  • [C++基础]-初识模板