java基础经典面试题10道
1.预留关键字:
const goto 是java的预留关键字,就是现在java语言中没有使用这两个单词,单词没有特殊的含义,将来用不用不知道。
2.变量在内存【jvm的内存】中的体现:
jvm的内存划分【jvm运行时的数据区划分】
1.寄存器:存放执行程序的指令地址【基本上是系统来管理】
2.本地方法栈:为执行本地的方法来服务的资源【由系统管理的】
3.栈内存:加载java的方法的相关信息并执行方法的区域
4.堆内存:加载类对象的相关信息的
5.方法区:加载类的相关信息、静态信息、常量池等信息
3.静态变量和非静态变量的区别
①.所属不同:
静态变量:属于类
非静态变量:
全局变量:属于对象
局部变量:属于方法
②.内存中的位置不同:
静态变量:存储在方法区的静态区
非静态变量:
全局变量:堆空间的对象空间里
局部变量:栈空间的方法中
③.声明周期不一样:
静态变量:随着类的加载而加载,随着类的消失而消失
非静态变量:
全局变量:随着对象的创建而创建,随着对象的消失而消失
局部变量:随着方法的调用而产生,随着方法的执行完毕就消失
④.访问方式不一样
静态变量:类名.属性名 或者类名.getter和setter方法
非静态变量:
全局变量:对象名.属性名或者对象名.getter和setter方法,或者直接使用
局部变量:直接使用变量名使用。
4.重载和重写的对比:
重载:
①.同一类中
②.方法名相同
③.参数列表不同
重写:
①.在两个类中【子父类】
②.方法名相同
③.参数列表相同
④.返回值类型相同
⑤.修饰符可以不同但是子类的权限大于等于父类的权限
5.==和equals的区别:
==:可以比较所有的数据类型
基本数据类型:比较的就是数值大小
引用数据类型:比较的对象的地址值的大小【本质比较的还是值得大小】
注意:Object类得equals方法底层其实使用的就==比较,所以地址值的比较
equals():只能比较引用数据类型的对象,不能比较基本数据类型
类中没有重写equals方法:
调用就是父类【Object】中的equals方法比较的是地址值
类中冲洗equals方法:比较的是对象中属性的内容值是否一致。
6.StringBuilder和StringBuffer的对比:
相同点:
1.他们都是字符串缓冲区,它里面的字符串可以改变
2.他们的功能是一摸一样的,使用也是一摸一样的使用方法
不同点:
1.出现的时机不同【StringBuffer是早期出现】
2.StringBuffer是线程安全的,效率是低的
3.StringBuilder是线程不安全的,效率高
7.集合和数组的对比:
数组:
创建后只能存放单一数据类型【所有的数据类型】创建前可以存放任意数据类型
创建后长度不能改变
基本上没有功能【方法】
集合:
属于类和接口体系【本身也是引用数据类型】
集合只能存放引用数据类型,不能存放基本数据类型
集合长度自动维护,所以可变
集合拥有自己的操作方法
8.List中set方法和add方法对比:
add方法是一个插入方法,会使集合的元素增加不是覆盖行为
set方法是一个修改方法,不会使集合的元素增加是一个覆盖行为
9.HashMap和HashTable的不同:
相同点:都是Map集合的典型实现类
功能的使用是一摸一样的
不同点:
①:出现的时间不同【HashTable早于HashMap】
②:HashTable是线程安全的,HashMap是线程不安全的
③:HashTable是效率低的,HashMap是效率搞得
④:HashTable的key和value不支持null值;HashMap支持null值
10.缓冲流的两个方法close()和flush()对比:
相同点:都可以刷新缓冲区,将内容书写到目标文件中
不同点:
flush():
1.刷新缓冲区,调用者是输出缓冲流对象属于输出缓冲流
2.flush方法调用后io流的对象继续存在,并能顾继续使用close();
close():
1.关闭流对象的,调用者可以是所有流对象,属于所有io流
2.close方法调用io流对象就消失了,不能使用,再使用会streamclsed异常
注意事项:
flush方法虽然有刷新缓冲区的作用,但是不建议频繁使用。频繁的使用消除了缓冲区的作用。
java基础经典面试题10道相关推荐
- 分享18道Java基础面试笔试题
转载自 分享18道Java基础面试笔试题(面试实拍) 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简 ...
- Java基础常见面试题(一)
Java基础常见面试题(一) 1. 为什么说 Java 语言"编译与解释并存"? 我们可以将高级编程语言按照程序的执行方式分为两种: 编译型 :编译型语言会通过编译器将源代码一次性 ...
- c语言超长编程程序,全国青少年软件编程等级考试C语言经典程序题10道五
全国青少年软件编程等级考试C语言经典程序题10道五 [程序41] 题目:学习static定义静态变量的用法 1.程序分析: 2.程序源代码: #include "stdio.h" ...
- c++经典编程题_全国青少年软件编程等级考试C语言经典程序题10道十
全国青少年软件编程等级考试C语言经典程序题10道十 [程序91] 题目:时间函数举例1 1.程序分析: 2.程序源代码: #include "stdio.h" #include & ...
- java编程10以内随机数字乘除,Java实现随机出题,10道10以内加减法计算代码实例...
本文实例为大家分享了java实现随机出题,10道10以内加减法计算l的具体代码,供大家参考,具体内容如下 package com.swift; import java.awt.toolkit; imp ...
- 蓝桥杯 Java 基础练习 vip试题
蓝桥杯 Java 基础练习 vip试题 高精度加法 其实这道题调用函数就会变得更简单 import java.math.BigDecimal; import java.util.Scanner; pu ...
- n1 c语言程序,全国青少年软件编程等级考试C语言经典程序题10道七
全国青少年软件编程等级考试C语言经典程序题10道七 程序61] 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 1 ...
- java 1.8有没有jshell_收藏了800道Java后端经典面试题,分享给大家,希望你找到自己理想的Offer呀~...
前言 在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,分享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,我打算后面慢慢完善在github ...
- 收藏了800道Java后端经典面试题,共享给大家
在茫茫的互联网海洋中寻寻觅觅,我收藏了800+道Java经典面试题,共享给你们.建议大家收藏起来,在茶余饭后拿出来读一读,以备未雨绸缪之需.另外,面试题答案的话,我打算后面慢慢完善在github, 希 ...
最新文章
- Docker容器指定使用那几个CPU、memory资源限制
- hdc和hwnd的区别
- 全国人工智能大赛 AI+4K HDR赛项 冠军团队方案分享
- 每日一笑 | 你知道程序媛最“大”的烦恼是什么吗?
- 2021“MINIEYE杯”中国大学生算法设计超级联赛(1)zoto(二维数颜色)
- ant中的loading按钮使用
- 机器学习实战学习笔记 一 k-近邻算法
- 硬核图解| Kafka 如何保证消息不丢失?
- c语言结果输出10遍,C语言 如何实现输出这样一系列输出结果
- 7月6号奥特曼服务器维护中,泰迦奥特曼:7月6号开播,泰迦是泰罗儿子,优幸可变为三个奥特曼...
- UIFont各种字体
- 动态规划(dp)的总结
- 台式计算机按住开关风扇才能转,台式机风扇转但不开机的解决方法
- NOIP 模拟题 国际跳棋
- (四)C++游戏开发-本地存储-二进制文件读写
- [4G5G专题-6]:架构 5G的八大组网方案
- 侦探系列-照片隐藏信息提取
- Android 设置桌面背景
- 微信移动UI设计规范
- 【第3版emWin教程】第55章 emWin6.x按钮Button控件自定义回调函数,实现各种按钮效果