admin管理员组

文章数量:1794759

JAVA面试题收录

JAVA面试题收录

感谢内容提供者:金牛区吴迪软件开发工作室

文章目录
  • 一、JAVASE基础
  • 二、JavaWeb部分
  • 三、框架部分
  • 四、数据库部分
  • 五、程序算法
  • 六、JVM调优
  • 七、Java优化
  • 八、Redis相关
  • 九、Nginx相关
  • 十、WebService相关
  • 十一、安全相关
  • 十二、其他

一、JavaSE基础
  • 接口和抽象类的异同点
  • 重载(overload)和重写(overwrite)区别
  • StringBufferStringBuilderString区别
  • 冒泡排序
  • 选择排序
  • 单例设计模式
  • 常见的异常类型
  • Throws和Throw的区别
  • Final,Finally,finalize关键字的作用
  • Hashtable与HashMap的区别
  • 线程和进程的区别
  • 实现多线程程序的2种方式
  • List、Set、Collection、Collections
  • sleep()和wait()有什么区别
  • error和exception有什么区别
  • head(堆)和stack(栈)有什么区别
  • GC是什么?为什么要有GC?
  • 内存泄漏和内存溢出
  • 运行时异常和checked异常的区别
  • 四个访问修饰符和访问级别
  • 逻辑运算符:&和&&的区别
  • Java中如何实现序列化,有什么意义
  • 阐述JDBC操作数据库的步骤
  • Statement和PreparedStatement有什么区别?哪个性能更好?
  • 提示输入一个数,求阶乘
  • 斐波那契数列
  • Java中基本数据类型
  • 遍历D盘下面所有的文件
  • ArrayList和LinkedList有什么区别
  • 面向对象的特征有哪些方面
  • String是最基本的数据类型么
  • 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
  • 写一个程序将D盘下面的一张图片拷贝到E盘
  • 静态类型有什么特点
  • 说一下多态的表现形式
  • 线程通常有五种状态
  • 事物的四大特性
  • Java中IO体系
  • 字节流和字符流
  • 接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类(concreteclass)?
  • Class.forName的作用?为什么要用?
  • 异常的体系结构
  • 构造函数的特点和作用
  • Java标识符的命名规则
  • Java关键字
  • 构造函数的特点和作用
  • synchronized关键字的用法
  • 启动一个线程是调用run()还是start()方法?
  • Switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
  • 数组有没有length方法?String有没有length方法?
  • 构造器(constructor)是否可被重新(override)?
  • 阐述静态变量和实例变量的区别
  • 比较一下Java和JavaScript
  • JDK、JRE、JVM的区别
  • XML和Json的特点
  • JDK常用的包
  • 什么是值传递和引用传递
  • 解释一下数据库连接池
  • 空字符串和null的区别
  • 列举Java中string类常用方法
  • 得到Class的三种方式是什么-反射
  • 什么是迭代器(Iterator)?
  • char型变量中能不能存贮一个中文汉字?为什么?
  • Java中compareTo和compare的区别
  • Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?
  • 俩个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?
  • Java的Socket通信(多线程)
  • 接口中定义
  • Break和Continu
  • 什么是内部类?StaticNestedClass和InnerClass的不同
  • 下面这条语句一共创建的多少个对象:StringS=“a”+“b”+“c”+“d”;
  • 什么情况下finally中的代码不会执行?
  • 一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制?
  • Java 有没有goto?
  • 如何将String类型转化成Number类型?什么是隐式的类型转化?
  • 显示的类型转化是什么?
  • 类型向下转化是什么?
  • 如何原地交换俩个变量的值?
  • 简述synchronized 和 java.util.concurrent.locks.Lock 的异同?
  • Thread 类的 sleep() 方法和对象的 wait() 方法都可以让线程暂停执行,它们有什么区别?
  • 线程的 sleep() 方法和yield()方法有什么区别?
  • 当一个对象被当作参数传递到方法,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
  • StaticNestedClass 和 InnerClass 的不同?
  • abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
  • 静态变量和实例变量的区别?
  • 垃圾回收的优点和原理。并考虑2种回收机制?
  • 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  • 说出一些常用的类,包,接口,请各举5个
  • java中实现多态的机制是什么?
  • 哪些类可以被继承?
  • 继承时候类的执行顺序问题
  • 数据类型之间的转换
  • 如何取得年月日、小时、分、秒
  • 如何取得从1970年到现在的毫秒数
  • 如何取得某个日期是当月的最后一天
  • 如何格式化日期
  • java和javascript的区别
  • 什么时候用assert
  • 写出一个你 最常见到的 runtimeexception
  • 介绍 JAVA 中的 CollectionFrameWork (及如何写自己的数据结构)
  • List,Set,Map是否继承自 Collection 接口?
  • 你所知道的集合类都有哪些?主要方法?
  • 说出ArrayList,Vector,LinkedList 的存储性能和特性?
  • Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用 == 还是 equals() ?它们有何区别?
  • 为什么HashMap链表长度超过 8 会转成树结构?
  • 请说出你所知道的线程同步的方法
  • 创建线程的方式
  • 线程同步有几种实现方法,都是什么
  • 同步和异步有何异同,在什么情况下分别使用他们
  • 启动一个线程是用run()还是start()
  • 线程的基本概念、线程的基本状态以及状态之间的关系
  • 简述synchronized 和 java.util.concurrent.locks.Lock的异同?
  • 用什么关键字修饰同步方法?stop() 和 suspend() 方法为何不推荐使用?
  • 什么是java序列化,如何实现java序列化?
  • java中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
  • 文件和目录(I/O)操作
  • 用JAVASOCKET编程,读服务器的几个字符,再写入本地显示
  • 什么是设计模式?分类是什么?有哪些设计模式?并简要讲一下每个模式
  • 设计模式的六大原则?
  • 开发中都用到了哪些设计模式?用在什么场合?
  • 写一个SingLeton出来
  • 说说你所熟悉或听说过的JAVAEE中的几种常用模式?及对设计模式的一些看法?
  • XML 文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
  • 你在项目中用到了xml技术的哪些方面?如何实现的?
  • 什么是重量级?什么是轻量级?
  • 为什么要用 clone
  • new 一个对象的过程和 clone 一个对象的过程区别
  • 复制对象和复制引用的区别
  • 深拷贝和浅拷贝
  • 俩个对象值相同(x.equals(y) == true),但却可有不同的hashCode,这句话对不对?
  • 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里是值传递还是引用传递?
  • 为什么函数不能根据返回类型来区分重载?
  • char 型变量中能不能存储一个中文汉字,为什么?
  • int 和 integer 有什么区别?
  • 请说下String 类常用方法
  • 字节流如何转为字符流
  • 如何将一个java对象序列化到文件里
  • 字节流和字符流的区别
  • 集合的安全性问题
  • ArrayList内部用什么实现的
  • 并发集合和普通集合如何区别?
  • List 的三个子类的特点
  • List 和 Map、Set 的区别
  • 数组和链表的区别
  • 请用俩个队列模拟堆栈结构
  • Collection 和 Map 的集成体系
  • 什么是线程池,如何使用
  • 常用的线程池有哪些
  • 请叙述一下你对线程池的理解
  • 说说你对Java中反射的理解
  • 动静态代理的区别,什么场景使用?
  • 写一个ArrayList 的动态代理类
  • 二、JavaWeb部分
  • 四种会话跟踪技术
  • JSP的九大隐式对象
  • Servlet的生命周期
  • Servlet和JSP的关系
  • 什么是MVC
  • 重定向和转发的异同点
  • Session和Cookie的区别
  • get和post的区别
  • 写出浏览器JS的对象
  • 简述在JSP的注释有哪几种方法
  • JSP中动态INCLUD与静态INCLUDE的区别
  • 尽量多的写出request下的常用方法
  • HTTP常见的状态码
  • 数据库的三大范式
  • 实体之间的关系
  • 完整性约束
  • 常用的端口
  • oracle的基本数据类型
  • JDBC访问数据库的步骤
  • 常见的应用服务器有哪些
  • innerText和innerHtml的区别
  • $(document).ready()是什么函数,为什么要用他
  • javascript中window.onload 时间和jquery ready函数有何不同
  • jquery有哪几种常用类型的选择器
  • jquey中如何实现节点遍历
  • jquey中Ajax
  • js和jquery的关系
  • 常见应用服务器有哪些
  • 在web应用开发过程中经常遇到输出某种编码的字符.如何输出一个某种编码的字符串
  • http的长连接和短连接诶
  • 三、框架部分
  • IOC的概念
  • 注入的三种方式
  • mybatis的缓存机制
  • 解释spring支持的几种作用域
  • sprig中如何注入一个java集合
  • 动态代理模式
  • spring中通知的类型
  • hibernate框架的工作原理
  • hibernate对象的三种状态是什么
  • Hibernate对象的三种状态如何转换的
  • Hibernate分页是如何实现
  • 对象关系映射
  • hibernate拒绝连接服务器崩溃的原因
  • mybatis与hibernate有什么不同
  • 什么是bean的自动装配
  • 解释自动装配的各种模式
  • 自动装配有哪些局限性
  • spring的传播特性
  • spring事务的隔离界别
  • 什么是重量级,什么是轻量级
  • springmvc的流程
  • springmvc的优点
  • springmvc的主要组件
  • mybatis的#{}和${}的区别
  • 通常一个xml映射文件都会写一个dao接口与之对应,请问,这个dao接口的工作原理是什么?dao接口里的方法,参数不同,方法重载吗
  • mybatis是如何进行分页的,分页插件的原理是什么
  • xml的映射文件中,除了常见的select,insert update delete标签外,还有哪些标签
  • spring是什么
  • spring的优点
  • spring aop的理解
  • spring bean的加载过程
  • spring框架中单例beans是线程安全的么
  • 四、数据库部分
  • 分页语句mysql和oracle
  • join和left join 区别
  • sql中where和having的区别
  • 数据库的三范式
  • 存储过程和函数的区别
  • 事务是什么
  • 游标的作用,如何知道游标已经到了最后
  • 触发器
  • 事务处理
  • java中访问数据库的步骤
  • jdbc实现分页
  • 一条sql执行过长时间,如何优化
  • mysql的隔离级别
  • 连接池的技术点
  • 五、程序算法
  • 写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
  • 用程序给出随便大小的10个数,序号为 1 - 10,按从小到大顺序输出,并输出相应的序号
  • 用 JAVA 实现一种排序,JAVA类实现序列化的方法?在COLLECTION框架中,实现比较要实现什么样的接口?
  • 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
  • 二分查找法
  • 六、JVM调优
  • java内存模型
  • GC概念
  • 垃圾回收机制
  • jvm堆大小的调整
  • 如何从jvm中获取信进行调整
  • dm系统jvm调整
  • 加速垃圾回收方式
  • jvm的生命周期
  • jvm的体系结构
  • java优化
  • 七、Java优化 八、Redis相关
  • redis支持的数据类型
  • 什么是Redis持久化,redis有哪几种持久化方式,优缺点是什么
  • redis通讯协议,能解释下什么是resp,有什么特点
  • redis有哪些架构模式,讲讲各自的特点
  • 什么是一致性hash算法,什么是hash槽
  • redis的常用命令
  • 使用过redis分布式锁么?他是怎么实现的
  • 使用过redis的异步队列么,你是怎么用的,有什么缺点
  • 什么是缓存穿透,如何避免,什么是缓存雪崩,如何避免
  • redis事务事务处理
  • 使用rredis有哪些好处
  • redis常见性能问题和解决方案
  • redis怎么和spring进行集成
  • redis内存数据集大小上升到一定大小的时候,就会执行数据淘汰策略。redis提供6种数据淘汰策略
  • redis常见性能问题有哪些,如何解决
  • 分布式缓存
  • 九、Nginx相关 十、WebService相关 十一、安全相关
  • cross-siterquestforgery
  • 十二、其他
  • 你经常读哪些书?
  • git,svn的区别
  • 本文标签: 面试题java