写点什么

Java 面试史上最全的 JAVA 专业术语面试 100 问 (前 1-50)

发布于: 2020 年 09 月 15 日

前言:



说在前面,

面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。

先更新50道,下一波吧后面的也更出来。

求赞求关注!!





废话也不多说,现在就来看看有哪些面试题



1、面向对象的特点有哪些?



抽象、继承、封装、多态。



2、接口和抽象类有什么联系和区别?



3、重载和重写有什么区别?



4、java有哪些基本数据类型?



5、数组有没有length()方法?String有没有length()方法?



数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用size()方法。



6、Java支持的数据类型有哪些? 什么是自动拆装箱?



7、int 和 Integer 有什么区别?



8、Java类的实例化顺序?



父类静态成员和静态代码块 -> 子类静态成员和静态代码块 -> 父类非静态成员和非静态代码块 -> 父类构造方法 -> 子类非静态成员和非静态代码块 -> 子类构造方法



9、什么是值传递和引用传递?



10、String能被继承吗?为什么?



11、String和StringBuilder、StringBuffer的区别?



StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况(是线程不安全的)

StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况(一般很少)(是线程安全的)

首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String



12、Java集合框架的基础接口有哪些?



13、Java集合框架是什么?说出一些集合框架的优点?



14、HashMap 与HashTable有什么区别?



15、ArrayList 和 LinkedList 有什么区别?



16、简单介绍Java异常框架? Error与Exception有什么区别?



17、java中的throw 和 throws关键字有什么区别?



18、列举几个你了解的几个常见的运行时异常?



19、final, finally, finalize有什么区别?



20、描述Java内存模型?



21、java中垃圾收集的方法有哪些?



22、如何判断一个对象是否存活?(或者GC对象的判定方法)?



23、Java GC是在什么时候,对什么东西,做了什么事情?



24、什么是类加载器双亲委派模型机制?



25、类加载器有哪些?



26、描述类加载器工作机制?



27、分别写出堆内存溢出与栈内存溢出的程序?



28、Java 8 内存模型进行了哪些改进?



29、简述java内存分配与回收策率以及Minor GC和Major GC?



30、JVM,JDK和JRE有什么区别与联系?



31、Java线程同步的方式有哪些?



32、解释一下锁的一些基本概念:可重入锁、可中断锁、公平锁、读写锁?



33、synchronized什么情况下会释放锁?



获取锁的线程执行完了该代码块,然后线程释放对锁的占有;

线程执行发生异常,此时JVM会让线程自动释放锁。

调用wait方法,在等待的时候立即释放锁,方便其他的线程使用锁.





34、synchronized和lock有什么区别?



35、使用过哪些数据库连接池,分别有什么优点和缺点?



36、Java CAS(Compare And Swap) 无锁算法?



CAS(Compare And Swap) 无锁算法:



CAS是乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。



37、线程池的作用有哪些?



线程池的作用: 在程序启动的时候就创建若干线程来响应处理,它们被称为线程池,里面的线程叫工作线程



降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。

提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。

提高线程的可管理性。

常用线程池:ExecutorService 是主要的实现类,其中常用的有



Executors.newSingleThreadPool(),

newFixedThreadPool(),

newCachedTheadPool(),

newScheduledThreadPool()。



38、反射创建类实例的三种方式?



39、反射机制有哪些优点和缺点?



40、哪些项目中用到了Java反射机制?



jdbc中有一行代码:Class.forName(‘com.MySQL.jdbc.Driver.class’).newInstance();

很多框架都用到反射机制,hibernate,struts都是用反射机制实现的。



41、Java 反射机制的作用?



42、你了解哪些设计模式,列举几个?jdk中用到了哪些设计模式?



43、单例模式用java有哪几种实现方式?



44、Java元注解有哪些,都有什么作用?



45、jdk自带了哪些注解,有什么作用?



46、Java8有哪些新特性?



47、简单介绍原生jdbc执行sql过程?



class.forName()加载数据驱动

DriverManager.getConnection()获取数据库连接对象。

根据SQL或sql会话对象,有两种方式Statement、PreparedStatement。

执行sql处理结果集,如果有参数就设置参数。

关闭结果集,关闭会话,关闭资源。



48、char 型变量中能不能存贮一个中文汉字,为什么?



char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode,一个char类型占2个字节(16比特),所以放一个中文是没问题的。



49、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?



50、构造器(constructor)是否可被重写(override)?



Constructor(构造器)不能被继承,所以不能被override(重写),但是可以被overloading(重载)。



最后:



再次金九银十招聘季,小编整理了一整套大厂面试真题,需要的朋友添加助手vx:bjmsb10;免费获取



用户头像

还未添加个人签名 2020.09.07 加入

还未添加个人简介

评论

发布
暂无评论
Java面试史上最全的JAVA专业术语面试100问 (前1-50)