这里写目录标题
-
- 1.1、jdk和jre的区别
- 1、说一下JAVA的三种注释
- 2、说一下java的数据类型
- 3、整型的默认数据类型是什么,浮点型的数据类型是什么?
- 4、final关键字作用?
- 5、如何将一个整型转为字符串,反之,将一个字符串类型的数据转为整型
- 6、说一下break与continue作用
- 7、什么是方法的重载
- 8、说一下值传递与引用传递
- 9、如何获取数组元素的数量
- 10、写出数组排序(冒泡法排序)
- 11、String能被继承吗?
- 12.说一下字符串操作常见的API ?(10个左右即可)
- 13、字符串比较:==与equals区别?
- 14、String与StringBuffer的区别?
- 15、StringBuffer与StringBuilder的区别?
- 16、说一下你知道的java中常见的包
- 17.1 、说一下什么是封装?
- 17、说一下java中类的四种封装?
- 18、面向对象的三大特点是什么?
- `19、java中如何实现继承?java中能实现多重继承吗?`
- 20、什么是方法的重写?
- 21、说一下类与对象的区别
- 22、类与抽象类的区别
- 23、final 、finally、finalize的区别?
- 24、什么是多态?
- 25、java中的多态三个条件?
- 26、请解释一下this 与super关键字?
- 27、什么是接口?
- 28、接口中能定义的主要成员有哪些?
- 29、抽象类与接口的区别?
- 30、解释一下向上转型与向下转型
- 31、说一下JAVA中的异常分类
- 32、JAVA中异常父类(根父类)是哪一个?
- 33、说出常见的几个运行时异常?(5个以上)
- 34、throw与throws区别?
- 35、异常处理的基本结构?
- 36、栈与队列的区别?
- 37、顺序存储结构与链式存储结构的优缺点
- 38、数据查找:遍历、二分查找,说一下二分查找的条件
- 39、java中常见的三种集合是哪三种?
- 40、ArrayList与LinkedList的区别
- 41、ArrayList与Vector区别
- 42、HashMap与Hashtable区别?
- 43、HashMap与TreeMap区别?
- 44、集合迭代器的接口?
- 45、遍历List有哪些不同的方式?
- 46、HashSet和TreeSet的区别
- 47、int与Integer关系?
- 48、什么是包装类?
- 49、Collection与Collections的区别?
- 50 、什么是Properties 类?
- 51、JAVA中有几种类型的流?
- 52、字节流与字符流的区别?
- 53、BufferedReader流的作用?
- 54、什么是序列化,什么是反序列化?
- 55、什么是XML?
- 56、什么是反射?
- 57、获取Class类的几种方法
- 58、通过反射如何创建对象?
- 59、什么是线程、什么是进程?
- 60、如何创建一个线程?
- 61、如何启动一个线程?
- 62、start()方法与run()方法的区别?
- 63、什么是线程池,为什么要使用线程池?
- 64、什么是线程同步?
- 65、java中的线程锁?
- 66、说一下线程的几种状态
- 67、线程操作常见的API
- 68、sleep与wait区别
- 69、oracle数据库的端口号、mysql端口、sqlserver端口?
- 70、解释一下:DQL、DML、DDL、DCL、TCL
- 71、Oracle数据分页?
- 71.1、Oracle数据类型char和vchar的区别?
- 72、mysql分页SQL?
- 73、什么是事务?
- 74、事务的特性
- 75、什么是视图?
- 76、什么是索引?如何创建索引?
- 77、过程与函数的区别?
- 78、Oracle数据库中的约束有哪些?
- 79、union与union all的区别?
- 80、比较truncate和delete命令 ?
- 81、C/S与B/S区别
- 82、说一下tomcat目录结构?
- 83、说一下web项目目录结构?
- 84、什么是Servlet ?
- 85、如何创建一个Servlet?
- 86、Servlet生命周期?
- 87、Servlet 9大内置对象是什么?
- 88、什么session对象,session对象作用?
- 89、页面转发与页面重定向的区别?
- 90、什么是Cookie?Cookie能做什么?
- 91.1、什么是mybatis?
- 91、说一下mybatis工作原理?
- 92、mybaits核心配置文件中常见的配制有哪些?
- 92.1、mybaits如何分页?
- 93、映射文件常用节点有哪些?
- 94、映射文件中节点的常用属性有哪些?
- 95、什么是IOC?
- 96、IOC核心组件有哪些?
- 97、什么是AOP?
- 98、什么是连接点、切点、增强、切面?
- 99、请说出你对spring框架的理解?
- 100、在spring框架中,如何创建一个bean对象?
- 101、说一下bean的作用域?
- 101.1、什么时候用单例、多例?
- 102、spring框架的常用注解?
- 103、springmvc的工作原理?
- 104、springmvc方法的返回值有哪些?
- 105、Springmvc如何返回一个JSON格式的数据?
- 106、springmvc如何向页面传数据?
- 附加:Springmvc如何接收参数值
- 107、为什么在开发中大家都使用Springboot?
- 108、springboot工作原理?
- 109、解释一下MVVM?
- 110、Vue生命周期
- 110.1、Vue中v-if和v-show的区别?
- 111、请简述一下你的第x个项目主要功能实现?
- 114、问具体问题(涉及的技术、一些概念解释?)
- 115、项目总结、体会?
- 116、Linux常用的命令?
- 第二部分——拓展题
- 1.SpringBoot三个核心注解?
- 2.什么是webSocket?
- 3.SpringBoot前后端分离如何维护接口文档?
- 4.SpringBoot中的starter到底是扫描?
- 5.什么是JavaConfig?
- 6.SpringBoot需要独立器运行吗?
- 7.java中如何保证多线程运行安全?
- 8.怎么防止死锁?
- 9.SpringBoot有哪些方式可以实现热部署?
- 10.RequestMapping在springmvc中的作用?
- 11.什么是线程死锁?
- 11.什么是装箱、拆箱?
- 12.什么是javabean对象?
- 13.HttpServletRequest对象是什么?
- 14.http响应结构是怎样的?
- 15.get和post的区别?
- 16.继承于Thread类和实现Runnable有什么区别?
- 17.oracle分页的两个参数?
- 18.如何将字符串反转?
- 19.list、set、map中常用的方法?
- 20.HashSet实现原理?
- 21.迭代器Iterator是什么?
- 22.什么情况下使用序列化?
- 23.客户端禁止Cookie能实现session还能吗?
- 24.forward与redirect区别?
- 25.spring中bean的作用域?
- 26.mybatis是什么?
- 27.shiro安全框架是一个身份验证和授权相当于一个过滤器?
- 28.什么是springMvc?
- 29.什么是json?
- 30.什么是springBoot?
- 31.什么是JavaWeb?
- 32.component注解和Bean注解的区别?
- 33.什么是JdbcTemplate?
- 34什么是HTML?
- 35什么是javascript?
- 36.什么是bootstrap?
- 36.请求方式get、post、delete、put的区别?
- 37.为什么使用数据库连接池?
- 38.mybatis中什么是ORM?
- 39.什么是ajax?
- 40.什么是自旋锁?
主要讨论区别有题型: 1.1、6、8、13、14、15、21、22、23、26、29、30、34、36、37、40、41、42、43、46、47、49、52、54、59、62、70、77、78、79、80、81、89、103、107、108。
难题: 21、22、23、29、40、68、70、80、90.1、90.2
难题2:
1-21题:2、8、12、16、17.1
22-40题:23、27、29、33、37、40
41-60题:50、53、55、56、57
61-80题:65、66、67、68、70、71、74、76、77、78、80
81-100题:81、82、83、87、94、96、98
101-110题:101、102、107、108
拓展题:116
1.1、jdk和jre的区别
jdk是java的开发工具包,jre是java的运行环境
- JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。
- JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境
- JVM:将编译生成的字节码文件根据对应的操作系统和硬件解析成对应的机器指令;不同的平台需要安装对应版本的JVM。
- 总结: JDK 包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,就需要安装 JDK。
1、说一下JAVA的三种注释
// 单行注释 /…/ 多行注释 /…*/ 文档注释
文档注释的作用 :主要是用来生成说明文件时用的
@author:作者。
@version:版本。
@docroot:表示产生文档的根路径。
@deprecated:不推荐使用的方法。
@param:方法的参数类型。
@return:方法的返回类型。
@see:用于指定参考的内容。
@exception:抛出的异常。
@throws:抛出的异常,和exception同义
2、说一下java的数据类型
Java的数据类型包含两种:一种是基本数据类型,另一种是引用类型;基本数据类型包括整型有(byte、short、int、long)(1,2,4,8)、浮点型有(float、double)(4,8)、字符型有(char)(2)、还有一个布尔型(boolean);引用类型一般有类、接口、数组。
数据类型 字节数 位数 默认值 包装类型 使用说明[取值范围]
byte 1 8 0 Byte -128~127
short 2 16 0 Short -2 ( ( (15)))~2 ( ( (15)))-1
int 4 32 0 Integer -2 ( ( (31)))~2 ( ( (31)))-1
long 8 64 0L或0l Long -2 ( ( (63)))~2 ( ( (63)))-1
float 4 32 0.0F或0.0f Float 1.4E-45~3.4E38
double 8 64 0.0d Double 4.9E-324~1.8E308
char 2 16 空 Character 使用Unicode编码(2个字节),可存汉字
boolean - - false Boolean 只有true和false两个取值
3、整型的默认数据类型是什么,浮点型的数据类型是什么?
整型的默认数据类型是int
浮点型默认数据类型是double
4、final关键字作用?
①final修饰类时表示该类不能被继承。
②final修饰变量时表示该变量为常量,只能赋值一次;
③final修饰方法时表示该方法不能被重写;
拓展1:final修饰一个变量,是引用地址不能变,还是对象不能变?
答:final修饰的对象,该对象地址不会再改变,但对象的内容是可以改变的。
5、如何将一个整型转为字符串,反之,将一个字符串类型的数据转为整型
整型转为字符串用 String.valueOf(int parameter)
字符串转为整型用 Integer.parseInt(String parameter)
6、说一下break与continue作用
①break语句有两个作用:第一个是跳出当前循环体,执行循环体之外的语句,第二个是跳出switch语句,
②continue语句是表示中止本次循环,继续执行下一次循环。
7、什么是方法的重载
同一个类中方法名相同,参数的类型、数量、顺序不同的一组方法。
8、说一下值传递与引用传递
1、Java数据类型包括基本数据类型和引用数据类型,基本数据类型使用值传递,传递的是数值的副本,当使用值传递交换数据时,原数据不会发生改变;
2、引用数据类型使用的是引用传递,传递的是地址,当使用引用传递交换数据时,因为地址指向的数据内容相同,所以修改数据时原数据也会发生改变。
9、如何获取数组元素的数量
数组通过length属性获取
字符串通过length()方法获取
拓展1: java中的length属性,length()、size()的区别?
答:length属性可以获取数组的长度;
length()方法是字符串里的一个方法,用来获取字符串长度;
size()方法是集合中的方法,用来获取集合中元素的个数。
拓展2: 什么是泛型?
答:是用来统一集合中存放元素的数据类型。
10、写出数组排序(冒泡法排序)
冒泡排序就是依次比较相邻的两个数,以升序为例,就是将小数放前面,大数放后面;假设需要排序的序列个数为n,则需要经过n-1轮,最终完成排序。在第一轮中,比较的次数是n-1次,之后每轮次数减一。
/* 冒泡排序 */
public static void bubleSort(int[] arr) {
int temp;// 临时变量
for (int i = 0; i < arr.length - 1; i++) {
// 需要比较n-1轮
for (int j = 0; j < arr.length - i - 1; j++) {
// 每轮需要比较的次数逐轮减少1次
if (arr[j] > arr[j + 1]) {
// 相邻元素比较,符合条件交换
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
11、String能被继承吗?
String是被final关键字修饰的最终类,不能被继承。
12.说一下字符串操作常见的API ?(10个左右即可)
首先看到一个字符串,
①(字符串本身方法)首先想到的是他的长度length()方法,判断是否为空empty()方法,然后是指定位置的字符串charAt(),某个字符串第一次出现时的下标indexOf()方法,替换某个字符replace()方法,字符串以什么开头startsWith()方法,以什么结尾endsWith()方法,字符串转为大写toupperCase()方法,转为小写toLowerCase()方法,字符串截取subString()方法,是否包含某个字符串contains()方法。
②字符串转换:以什么分隔符分割为数组split()方法,转为数组toCharArray()方法,去掉字符串两边空格trim()方法,转为整型String.valueOf()
| +、 concat(String str) | 字符串连接 |
|---|---|
| equals(Object anObject)、equalsIgnoreCase(String another String) | 字符串比对 |
| charAt(index) | 获取指定位置字符值 |
| length() | 获取字符串长度 |
| indexOf(String str) | 获取指定字符串第一次出现的下标值 |
| replace(char oldChar,char newChar) | 字符串替换 |
| startsWith(String prefix)|endsWith(String prefix) | 判断是否以指定字符串开始|结束 |
| toLowerCase()|toUpperCase() | 所有字符转换为小写|大写 |
| substring(index) | 字符串截取 |
| trim() | 去除左右空格 |
| String.valueOf(int i) | 将整型转为字符串 |
| contains(String str) | 判断字符串是否包含某子字符串 |
| isEmpty() | 判断字符串是否为空 |
| split(String regex) | 指定分隔符返回分割后的字符数组 |
| toCharArray() | 将字符串转为字符数组 |
13、字符串比较:==与equals区别?
“==”在基本数据类型中比较的是值,在对象中比较的是地址。
“equals”原先是Object类中定义的方法,是用来比较两个对象是否相同的;但在String类中对此方法进行了重写,使其用来比较两个字符串的值是否相同。
拓展1 为什么string类创建的字符是不可变的?
答:string类底层采用char[]数组来存放字符串,这个数组是被final修饰的,一旦创建就指向某一对象,之后不可变。
拓展2 为什么stringBuffer和stringBuilder是可变的?
答:stringBuffer/stringBuilder底层也使用了字符数组,但没有被final修饰,因此可变。
拓展3 string、stringBuffer和stringBuilder三个类的区别?
答:三者都是被final修饰的最终类,只是string的字符数组被final修饰,而stringBuffer和stringBuilder的字符数组没有被final修饰。
14、String与StringBuffer的区别?
String创建一个不可变的字符序列;
StringBuffer创建一个可变的字符序列。
在对字符串进行追加操作时StringBuffer比String效率高。
拓展1: 为什么StringBuffer的效率高于string?
答:对string进行追加操作时每次都要创建一个新的string对象;而对StringBuffer进行追加操作时,是直接对StringBuffer对象本身进行操作的,不用重新创建新对象。
15、StringBuffer与StringBuilder的区别?
StringBuffer和StringBuilder都是创建一个
可变的字符序列;
StringBuffer是线程安全的,而StringBuilder是线程非安全的;
在对字符串进行修改操作时,StringBuilder效率高于StringBuffer。
拓展1: StringBuffer为什么是线程安全的?
答:因为StringBuffer中的方法都加了synchronized关键字。
拓展2: StringBuilder效率为什么高于StringBuffer?
答:因为StringBuffer是线程安全的,使用StringBuffer时需要维护同步数据会比较消耗资源。
拓展3: 大家在开发时一般使用StringBuilder还是StringBuffer?
答:一般对字符串进行操作,并不会使用到多线程,所以一般开发时使用StringBuilder。
16、说一下你知道的java中常见的包
java.lang:系统基础类库。比如有:String、Math、System、Thread等等;
java.util:Java工具类,包含对集合的操作、日期时间设置等等各种使用工具类;
java.io:io流文件的读写操作;
java.net:为实现网络应用程序而提供的类;
java.awt/javax.swing:用于窗体开发的类;
java.sql:数据库操作类库。
17.1 、说一下什么是封装?
封装:就是将抽象得到的属性和行为结合起来,形成一个有机的整体,也就是类。类里面的一些属性和方法(尤其是属性)需要隐藏起来,不希望直接对外公开,但同时提供外部访问的方法来访问这些需要隐藏的属性和方法。
拓展1 封装的作用是什么?
答:封装是面向对象的三大特征之一,封装之后会参数真正的独立体,提高了程序的复用性,只对外界提高简单的入口操作,提高了程序的安全性。
17、说一下java中类的四种封装?
| 修饰符 | 类内部 | 同一个包中 | 子类 | 任何地方 |
|---|---|---|---|---|
| private | √ | |||
| default | √ | √ | ||
| protected | √ | √ | √ | |
| public | √ | √ | √ | √ |
18、面向对象的三大特点是什么?
封装、继承、多态
拓展1 多态的作用?
答:降低了程序的耦合度,提高了程序的扩展力。


927

被折叠的 条评论
为什么被折叠?



