Java面试题
文章平均质量分 62
分享面试题,从面试题中得到一些方向和经验
不念过往--不语未来
不念过往,不语未来
不惜过客,不必强求
展开
-
100道Java高频面试题
这次只放出九十道,剩下10道准备找认识的几位面试官去要,希望不会被拒绝。这些题我认为认真思考还是很有价值的,答案整理中,全部整理好,我会做出PDF,做好后大家公众号后台回复“Java面试题”领取。90道高频面试题 自我介绍一下 项目中用到的技术栈介绍一下 项目中做的认为比较满意的部分讲一讲? 如果这个技术方案让你重新设计,你怎么做? Java集合类都有哪些?平常用到哪些? ArrayList 和 LinkedList 区别? Hash转载 2021-04-29 13:24:20 · 156 阅读 · 0 评论 -
Java面试:说一下New一个对象发生了什么?
New一个对象发生了什么? 1.把class文件加载到方法区中, 2.堆中分配对象内存,栈中分配引用内存 3.方法区中实例变量复制一份到堆中 4.实例对象从方法区中调用构造方法进行初始化堆中对象例如:new Person() 发生了什么1. 加载Person.class文件到方法区,同时加载Person类中的static属性2. 在main方法所在的栈区分配引用(reference) p;3. 在java堆中开辟空间存放Person类,但是不进行初始化操作...原创 2020-06-24 14:41:13 · 532 阅读 · 0 评论 -
Java面试:说一下堆、栈、方法区的区别
堆和栈都是Java用来在RAM中存放数据的地方。区别总结:1.存储数据类型不同 2.线程使用情况不同 3.存取速度不同堆 1.提供所有类实例和数组对象存储区域 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 3.Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。 4.堆的优势是可以动态地分配内存空间,需要多少内存空间不必事先告诉编译器,因为它是在运...原创 2020-06-22 11:04:30 · 768 阅读 · 0 评论 -
跨域:一文解释web跨域,域 是什么含义
1.跨域的含义 既然有人造这个词,个人还是喜欢先从字面意思去解释,“跨域”理解跨域不同领域,在我们IT这“域”理解为领域,平台,应用,资源,意为跨域不同的领域,不同的机器,不同的平台获取资源。(有些资源不存在跨域,例如静态资源)...原创 2020-05-07 11:55:57 · 2214 阅读 · 0 评论 -
Java面试:说一下Java内存泄漏和排查方法
ps -ef| grep java1.查看进程CPU、内存占用情况: top –H –p 585272.查看服务器内存使用 df -h 查看磁盘情况 du -h --max-depth=1 文件目录占用资源情况。3.查看内存使用情况,缓存区的情况,使用,空闲 free -m S0C:年轻代中第一个survivor(幸存区)的容量 (字节) S1C:年轻代中第二个survivor(幸存区)的容量 (字节) S0U:年轻代中第一个sur...原创 2020-05-30 22:13:07 · 558 阅读 · 0 评论 -
Java面试:说一下 事务传播类型、事务隔离级别
事务传播类型 7种spring的事务传播行为,我们具体来看看它的实现。在这里,我们使用spring annotation注解实现事务。 1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。 2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就...原创 2019-01-17 13:48:02 · 374 阅读 · 0 评论 -
Java面试:说一下过滤器,拦截器,监听器的区别
1.记住三句话: ①.监听应用(应用于整个程序应用) ②.过滤请求/资源(应用于容器) ③.拦截方法(相较于过滤器更细粒化的拦截,应用于方法) 作用范围从小打到,加载顺序也是2.对比与联系 ①.拦截器是基于java反射机制来实现的,而过滤器是基于函数回调来实现的。(有人说,拦截器是基于动态代理来实现的) ②.拦截器不依赖servlet容器,过滤器依赖于servlet容器。 ③.拦截器只对Action起作用,过滤器可以对所有请求起作用。...原创 2020-05-30 20:00:46 · 1221 阅读 · 0 评论 -
Java面试:说一下Mysql事务特性,表锁和行锁
1.事务的四大特性 原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、 持久性(Durability)。 原子性:就是操作的纯粹性,一个事务中的所有操作成功或失败。即事务操作的纯粹性,最小单元的完整性。 一致性:事务操作预期和结果保持一致。 隔离性:就是一种防止事务污染的一种机制。 持久性:数据一旦提交,写入磁盘。锁的作用:资源竞争、防止污染(数据锁,程序锁)...原创 2020-05-24 22:11:45 · 477 阅读 · 0 评论 -
Java面试:说一下Gc,Full Gc
1.先了解几个概念: ①.java数据类型氛围基础数据类型(:boolean、byte)和引用数据类型(类、接口、数组) ②.堆、方法区 、栈 堆区: 提供所有类实例和数组对象存储区域 jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈区: 每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象)...原创 2020-05-23 21:47:53 · 1438 阅读 · 0 评论 -
Java面试:说一下类的加载顺序和双亲委派模型
1.加载顺序:关键字(加载 连接 初始化)①.加载 通过类的全限定名即包名+类名 进行加载成二进制数据流,在jvm进行相应的处理,比如生成代表这个类的class对象②.链接: 验证: 确保加载类的准确性, 准备:分配内存③.初始化: 类的初始化顺序: ( 静态变量、静态初始化块)–>(变量、初始化块)–> 构造器; 父类static方法 –> 子类static方法 –> 父类构造方法- -> 子类构造方法2.双...原创 2020-05-23 19:29:59 · 341 阅读 · 0 评论 -
Java面试:说一下NIO与BIO区别与联系
1.BIO 同步阻塞流传输2.NIO 异步阻塞流传输 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上, 多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。...原创 2020-05-20 14:35:42 · 425 阅读 · 0 评论 -
如何招到一个靠谱的程序员
我的上一份工作是在一家世界500强金融集团担任架构师,当时,公司的IT团队规模将近2000人。与其他IT公司一样,程序员的流动性也比较高,而作为架构师,我需要为所在的部门招聘各个层级的开发人员,当然也包括外包。在这长达5年时间里,我面试了大约400名程序员。我并没有参加过任何人力资源方面的培训,也没有正式研究过如何面试程序员,但是我通过对大量程序员的面试,以及录用后效果的观察,得出了一套自己的面试...原创 2018-10-17 19:30:48 · 313 阅读 · 0 评论 -
性能:几百万上千万数据的程序如何避免更新必定超时?
更新超时十之八九是事务太大1.要精简代码,让事务变小2.加查询条件索引,缩短更新时where条件的查询时间3.如果有查询,如果可以的话从事务里分离,在事务外面先算好,再开事务只处理更新(避免大数据量的情况下事务既有读又有写的情况) 事务:大事务拆分小事务,事务里面尽量避免查询的发生。4.几百万几千万的数据可以分批处理,比如一万笔一次更新,这样事务也小点,执行速度也会快点...原创 2020-04-30 18:22:31 · 609 阅读 · 0 评论 -
java面试题---GET与POSt提交请求的区别
概要:一、Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息...原创 2017-09-22 11:39:39 · 3017 阅读 · 0 评论 -
Callable接口和Runnable接口的区别
一、区别总结:Callable定义的方法是call,而Runnable定义的方法是run。 Callable的call方法可以有返回值,而Runnable的run方法不能有返回值,这是核心区别。 Callable的call方法可抛出异常,而Runnable的run方法不能抛出异常。二、返回值的区别 他们的核心区别是Callable可以返回Feature的对象,这个对象可以了解线...原创 2019-09-09 23:25:58 · 446 阅读 · 0 评论 -
java面试题---统计中含有字母数字中的最大字符
java面试题2统计中含有字母数字中的最大字符public class Test { public static void main(String[] args) { // TODO Auto-generated method stub String bb=" fsafdsa342786 "; //处理字符只留字符和数字 String hArray=handl原创 2017-08-02 16:59:38 · 514 阅读 · 0 评论 -
java面试题---模拟String类中的trim()方法(去掉首尾的空格符)
java面试题 3-模拟String类中的trim()方法(去掉首尾的空格符)public class Test { //模拟trim() public static void main(String[] args) { // TODO Auto-generated method stub String str=" fef fefer "; String newS原创 2017-08-02 17:06:30 · 1892 阅读 · 2 评论 -
java面试题--获取重叠字符串的个数组成一个新字符串
java面试题:-获取重叠字符串的个数组成一个新字符串如ssssddddiiiiiuuuuuusssedf--->s4d4i5u6s3edfpublic class Test7 { public static void main(String[] args) { // TODO Auto-generated method stub //获取重叠字符串的个数组成一个原创 2017-08-02 17:54:06 · 1153 阅读 · 0 评论 -
Java面试题---用IO流模拟剪切文件功能(把一文件中所有的文件剪切到指定目录中)
Java面试题---用IO流模拟剪切文件功能import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Arrays;import first.file;//IO剪切功能public class Test { public static v原创 2017-08-10 17:57:32 · 1829 阅读 · 0 评论 -
java面试题----用java代码写死锁(线程join写法)
java面试题----用java代码写死锁线程join写法public class Test2 { //join写线程死锁 //join 等待该线程终止,即把对象所在当前的线程停止 public static void main(String[] args) { // TODO Auto-generated method stub //创建线程myth1并赋相应的值原创 2017-08-12 14:15:30 · 1266 阅读 · 0 评论 -
JAVA面试题---用java程序遍历二叉树(递归与非递归)
废话不多说,直接上代码:import java.util.Stack;public class test { public static TreeNode root=new TreeNode(1,"A"); //打印二叉树 /** * 创建一棵二叉树 * * A * B C *原创 2017-08-30 11:11:27 · 492 阅读 · 0 评论 -
JAVA面试题------根据所给格式将字符串中单词倒置
根据所给字符串将字符串单词倒置例如:I just do it !public class ReverseString { public static void main(String[] args) { //处理前后空格 String str="I just do it !".trim(); //处理中间多空格 for (int i = 1; i <=5;原创 2017-09-26 23:10:38 · 989 阅读 · 0 评论 -
一文---------彻底明白浏览器Cookie机制和Session
1.浏览器第一次请求的时候会携带浏览器生成的一个cookie去请求服务器,这个cookie经过与大佬讨论并没有什么实质性的含义近相当于一次进入服务器的一个凭证(相当于你去某一家进行敲门问候:我可以进来吗,合法服务器即可以进入)2.浏览器根据请求,会生成一个Cookie,响应给客户端(浏览器),以后只要在cookie生命周期内,浏览器就去拿着这个cookie去请求服务器,服务器验证...原创 2019-06-14 14:13:31 · 1879 阅读 · 0 评论 -
Java面试题:统计字符中最多的字符(map集合解法 方法一)
Java面试题 1统计字符中最多的字符(map集合解法 方法一)import java.util.Arrays;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public cla原创 2017-08-02 16:55:46 · 430 阅读 · 0 评论