文章目录
-
- 1、什么是B/S架构?什么是C/S架构
- 2、Java都有那些开发平台?
- 3、什么是JDK?什么是JRE?
- 4、Java语言有哪些特点
- 5、面向对象和面向过程的区别
- 6、什么是数据结构?
- 7、Java的数据结构有那些?
- 8、什么是OOP?
- 9、类与对象的关系?
- 10、Java中有几种数据类型
- 11、标识符的命名规则。
- 12、instanceof关键字的作用
- 13、什么是隐式转换,什么是显式转换
- 14、Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型
- 15、什么是拆装箱?
- 16、Java中的包装类都是那些?
- 17、一个java类中包含那些内容?
- 18、那针对浮点型数据运算出现的误差的问题,你怎么解决?
- 19、面向对象的特征有哪些方面?
- 20、访问修饰符 public,private,protected,以及不写(默认) 时的区别?
- 21、String 是最基本的数据类型吗?
- 22、flfloat f=3.4;是否正确?
- 23、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1; 有错吗?
- 24、重载和重写的区别
- 25、equals与==的区别
- 26、++i与i++的区别
- 27、程序的结构有那些?
- 28、数组实例化有几种方式?
- 29、Java中各种数据默认值
- 30、Java常用包有那些?
- 31、Object类常用方法有那些?
- 32、java中有没有指针?
- 33、java中是值传递引用传递?
- 34、实例化数组后,能不能改变数组长度呢?
- 35、假设数组内有5个元素,如果对数组进行反序,该如何做?
- 36、形参与实参区别?
- 37、构造方法能不能显式调用?
- 38、什么是方法重载?
- 39、构造方法能不能重写?能不能重载?
- 40、内部类与静态内部类的区别?
- 41、Static关键字有什么作用?
- 42、fifinal在java中的作用,有哪些用法?
- 43、StringString StringBuffffffffer 和 StringBuilder 的区别是什么?
- 44、String str=”aaa”,与String str=new String(“aaa”)一样吗?
- 45、讲下java中的math类有那些常用方法?
- 46、String类的常用方法有那些?
- 47、Java中的继承是单继承还是多继承?
- 48、Super与this表示什么?
- 49、普通类与抽象类有什么区别?
- 50、什么是接口?为什么需要接口?
- 51、接口有什么特点?
- 52、抽象类和接口的区别?
- 53、Hashcode的作用?
- 54、 Java的四种引用,强弱软虚?
- 55、Java创建对象有几种方式?
- 56、有没有可能两个不相等的对象有相同的hashcode
- 57、拷贝和浅拷贝的区别是什么?
- 58、static都有哪些用法?
- 59、a=a+b与a+=b有什么区别吗?
- 60、fifinal、fifinalize()、fifinally
- 61、JDBC操作的步骤
- 62、在使用jdbc的时候,如何防止出现sql注入的问题。
- 63、怎么在JDBC内调用一个存储过程?
- 64、是否了解连接池,使用连接池有什么好处?
- 65、你所了解的数据源技术有那些?使用数据源有什么好处?
- 66、&和&&的区别?
- 67、静态内部类如何定义?
- 68、什么是成员内部类?
- 69、Static Nested Class和Inner Class的不同?
- 70、什么时候用assert?
- 71、Java有没有goto?
- 72、数组有没有length()这个方法? String有没有length()这个方法?
- 73、用最有效率的方法算出2乘以8等於几?
- 74、flfloat型flfloat f=3.4是否正确?
- 75、排序都有哪几种方法?请列举。
- 76、静态变量和实例变量的区别?
- 77、说出一些常用的类,包,接口,请各举5个。
- 78、a.hashCode() 有什么用?与a.equals(b) 有什么关系?
- 79、Java中的编译期常量是什么?使用它又什么风险?
- 80、在Java中,如何跳出当前的多重嵌套循环?
- 81、构造器(constructor)是否可被重写(override)?
- 82、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
- 83、是否可以继承 String类?
- 84、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
- 85、String和StringBuilder、StringBuffffer的区别?
- 86、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
- 87、char 型变量中能不能存贮一个中文汉字,为什么?
- 88、抽象类(abstract class)和接口(interface)有什么异同?
- 89、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
- 90、Java中会存在内存泄漏吗,请简单描述。
- 91、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?
- 92、是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用?
- 93、如何实现对象克隆?
- 94、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类?
- 是否可继承具体类(concreteclass)?
- 95、一个”java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
- 96、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?
- 97、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
- 98、Java中的fifinal关键字有哪些用法?
- 最后
最近面试的小伙伴很多,对此我整理了一份Java面试题手册:基础知识、一键获取JavaOOP、Java集合/泛型面试题、Java异常面试题、Java中的IO与NIO面试题、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、SpringBoot、SpringCloud、RabbitMQ、Dubbo、MyBatis、ZooKeeper、数据结构、算法、Elasticsearch、Kafka、微服务、Linux等等。
可以分享给大家学习。【持续更新中】
完整版Java面试题地址:一键获取JavaOOP面试题总结
1、什么是B/S架构?什么是C/S架构
2、Java都有那些开发平台?
3、什么是JDK?什么是JRE?
答:
- JDK:java development kit:java开发工具包,是开发人员所需要安装的环境
- JRE:java runtime environment:java运行环境,java程序运行所需要安装的环境
4、Java语言有哪些特点
5、面向对象和面向过程的区别
6、什么是数据结构?
7、Java的数据结构有那些?
8、什么是OOP?
9、类与对象的关系?
10、Java中有几种数据类型
11、标识符的命名规则。
12、instanceof关键字的作用
**答:**instanceof严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:
boolean result = obj instanceof Class
其中obj为一个对象,Class表示一个类或者一个接口,当obj为Class的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result都返回true,否则返回false。
注意:编译器会检查obj是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。
inti=0;
System.out.println(i instanceof Integer);//编译不通过i必须是引用类型,不能是基本类型
System.out.println(i instanceof Object);//编译不通过
Integer integer=newInteger(1);
System.out.println(integer instanceof Integer);//true
//false,在JavaSE规范中对instanceof运算符的规定就是:如果obj为null,那么将返回false。 System.out.println(nullinstanceofObject);
13、什么是隐式转换,什么是显式转换
14、Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型
15、什么是拆装箱?
答:
- 装箱就是自动将基本数据类型转换为包装器类型(int–>Integer);调用方法:Integer的valueOf(int) 方法拆箱就是自动将包装器类型转换为基本数据类型(Integer–>int)。
- 调用方法:Integer的intValue方法在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:
Integer i = new Integer(10);
而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:
Integer i = 10