
Java面试题
香草天空Sky
坚持今天要做的事,希望和成功或许就在明天
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 面试收到offer必备 208 道面试题 | 总章
Java 面试收到offer必备 208 道面试题 | 总章原文链接:https://www.zhihu.com/question/27858692原创 2019-09-18 09:41:36 · 556 阅读 · 0 评论 -
spring-boot-starter原理及实现方法
目录spring-boot-starter原理实现测试源码spring-boot-starterspring-boot可以省略众多的繁琐配置,它的众多starter可以说是功不可没。例如spring-boot中集成redis,只需要pom.xml中引入spring-boot-starter-data-redis,配置文件中加入spring.redis.database...原创 2020-03-02 15:28:03 · 1513 阅读 · 0 评论 -
Java 208 道面试题:第一模块答案 Java基础
Java 基础1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。 具体来说 JDK 其实包含了 JRE,同时还包含了编译 j...原创 2019-09-04 15:45:45 · 160 阅读 · 0 评论 -
Java 208 道面试题:第二模块答案 容器
18. java 容器都有哪些?常用容器的图录:19. Collection 和 Collections 有什么区别? java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最...原创 2019-09-04 17:58:07 · 168 阅读 · 0 评论 -
Java 208 道面试题:第三模块答案 多线程
多线程35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。 在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。 所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性...原创 2019-09-05 11:08:23 · 192 阅读 · 0 评论 -
通俗理解并发和并行的区别
所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候执行。并发与并行是两个既相似而又不相同的概念:并发性,又称共行性,是指能处理多个同时性活动的能力;并行是...原创 2019-09-05 14:22:32 · 924 阅读 · 0 评论 -
Java 208 道面试题:第四模块答案 反射
57. 什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类。 在运行时构造任意一个类的对象。 在运行时判断任意一个类所...原创 2019-09-16 17:34:18 · 178 阅读 · 0 评论 -
Java 208 道面试题:第五模块答案 对象拷贝
61. 为什么要使用克隆?想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了,Java语言中克隆针对的是类的实例。62. 如何实现对象克隆?有两种方式:1). 实现Cloneable接口并重写Object类中的clone()方法; 2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克...原创 2019-09-16 18:15:42 · 186 阅读 · 0 评论 -
Java 208 道面试题:第六模块答案 Java Web
64. jsp 和 servlet 有什么区别? jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类) jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。 Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpSer...原创 2019-09-17 10:36:26 · 181 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第七模块答案 异常
74. throw 和 throws 的区别?throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。而throw则是指抛出的一个具体的异常类型。75. final、finally、finalize 有什么区别? final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不...原创 2019-09-17 11:08:52 · 171 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第八模块答案 网络
79. http 响应码 301 和 302 代表的是什么?有什么区别?答:301,302都是HTTP状态的编码,都代表着某个URL发生了转移。区别: 301redirect:301代表永久性转移(PermanentlyMoved)。 302redirect:302代表暂时性转移(TemporarilyMoved)。 80...原创 2019-09-17 11:22:53 · 348 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第九模块答案 设计模式
88. 说一下你熟悉的设计模式?单例模式简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式实现起来也很容易,直接看demo吧publi...原创 2019-09-17 11:34:36 · 325 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十模块答案 Spring / Spring MVC
90. 为什么要使用 spring?1.简介 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。2.轻量 从大小与开销两方面而言Spring都是轻量的。完整的Sp...原创 2019-09-17 11:36:03 · 204 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十一模块答案 Spring Boot / Spring Cloud
104. 什么是 spring boot?在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建<bean>,依赖注入即为由spring容器为应用程序的某个对象提供资源,比如 引用对象、...原创 2019-09-17 13:46:38 · 234 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十二模块答案 Hibernate
113. 为什么要使用 hibernate? 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 hibernate的性能非常好,因为它是个轻量...原创 2019-09-17 13:48:26 · 321 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十三模块答案 Mybatis
125. mybatis 中 #{}和 ${}的区别是什么? #{}是预编译处理,${}是字符串替换; Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值; Mybatis在处理${}时,就是把${}替换成变量的值; 使用#{}可以有效的防止SQL注入,提高系统安全性。 126. my...原创 2019-09-17 13:52:07 · 167 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十四模块答案 RabbitMQ
135. rabbitmq 的使用场景有哪些?①. 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。②. 多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。在企业应用集成...原创 2019-09-17 13:52:39 · 160 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十五模块答案 Kafka
152.kafka可以脱离zookeeper单独使用吗?为什么?kafka不能脱离zookeeper单独使用,因为kafka使用zookeeper管理和协调kafka的节点服务器。153.kafka有几种数据保留的策略?kafka有两种数据保存策略:按照过期时间保留和按照存储的消息大小保留。154.kafka同时设置了7天和10G清除数据...原创 2019-09-18 10:41:10 · 227 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十六模块答案 Zookeeper
157.zookeeper是什么?zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是googlechubby的开源实现,是hadoop和hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。158.zookeeper都有哪些功能? 集群管理:监控节点存活状态、运行请求等。...原创 2019-09-18 10:42:11 · 399 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十七模块答案 MySql
164.数据库的三范式是什么? 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。 第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。 第三范式:任何非主属性不依赖于其它非主属性。 165.一张自增表里面总共有17条数据,删除了最后2条数据,重启mysql数据库,又插入了一条数据,此...原创 2019-09-18 10:42:50 · 255 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十八模块答案 Redis
179.redis是什么?都有哪些使用场景?Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis使用场景: 数据高并发的读写 海量数据的读写 对扩展性要求高的数据 180.redis有哪些功能? 数据缓存功能 分布式锁的功能 ...原创 2019-09-18 10:43:21 · 163 阅读 · 0 评论 -
Java 最常见的 208 道面试题:第十九模块答案 JVM
194.说一下jvm的主要组成部分?及其作用? 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库接口(Native Interface) 组件的作用:首先通过类加载器(ClassLoader)会把Java代码转换成字节码,运行时数据区(Runtime...原创 2019-09-18 10:44:05 · 249 阅读 · 0 评论 -
java面试题汇总,你值得拥有!!!
就业指导Java就业指导面试收到offer必备 208 道面试题Java面试收到offer必备 208 道面试题Java 208 道面试题:第一模块答案Java 208 道面试题:第二模块答案Java 208 道面试题:第三模块答案Java 208 道面试题:第四模块答案Java 208 道面试题:第五模块答案Java 208 道面试题:第六模块答案...原创 2019-09-18 10:44:48 · 220 阅读 · 0 评论 -
是否有资格跳槽,自己测(java基础篇01期)
1. 简单说下什么是跨平台术语:操作系统指令集、屏蔽系统之间的差异由于各种操作系统所支持的指令集不是完全一致,所以在操作系统之上加个虚拟机可以来提供统一接口,屏蔽系统之间的差异。2. Java有几种基本数据类型有八种基本数据类型。数据类型 字节 默认值 byte 1 0 short 2 0 int 4 0 ...原创 2019-09-18 10:48:33 · 131 阅读 · 0 评论 -
是否有资格跳槽,自己测(java基础篇02期)
1. 两个对象的hashCode相同,则equals也一定为true,对吗?不对,答案见下面的代码:@OverridepublicinthashCode(){return1;}两个对象equals为true,则hashCode也一定相同,对吗?这块肯定是有争议的。面试的时候这样答:如果按照官方设计要求来打代码的话,hashcode一定相等。但是如果不按官方...原创 2019-09-19 06:25:30 · 354 阅读 · 0 评论 -
是否有资格跳槽,自己测(java网络篇03期)
1. OSI七层模型总结一下: 应用用层按协议打包数据 由传输层加上双方的端口号 由网络层加上双方的IP地址 由链路层加上双方的MAC地址,并将数据拆分成数据帧 数模信号转换并由物理层传输到另一端 每一层的协议 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关) 数据链路:PPP、FR、HDLC、VL...原创 2019-09-19 06:28:03 · 113 阅读 · 0 评论 -
Java中高级面试题(1)
List和Set比较,各自的子类比较对比一:Arraylist与LinkedList的比较1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。3、LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存空...原创 2019-09-19 10:44:01 · 158 阅读 · 0 评论 -
Java中高级面试题(2)
JVM的内存结构根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、Java虚拟机栈:线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。2、堆:线程共享;被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存...原创 2019-09-19 10:44:47 · 386 阅读 · 0 评论 -
Java中高级面试题(3)
接口有什么用1、通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。2、通过接口可以指明多个类需要实现的方法。3、通过接口可以了解对象的交互界面,而不需了解对象所对应的类。另:Java是单继承,接口可以使其实现多继承的功能。说说http,https协议HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应...原创 2019-09-19 10:45:42 · 169 阅读 · 0 评论 -
Java笔试题库(01期)
前言不知不觉运营这个公众号有一段时间了,很高兴认识了这么多朋友,Java知音后续会以推送一些网络上精选的技术文章为主。同时不定期整理一些笔试题,数据结构题供大家在空闲时间练练。 所选题型基本来源网络,这里会做简单的甄别,但因为能力以及时间的问题,不可避免会有一些错误,如果您发现哪些题目答案错误,欢迎在文章下留言,也欢迎积极讨论。 1、S...原创 2019-09-19 10:46:31 · 241 阅读 · 0 评论 -
Java笔试题库(02期)
1,有关线程的哪些叙述是对的( ) A,一旦一个线程被创建,它就立即开始运行。 B,使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。 C,当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。 D,一个线程可能因为不同的原因停止并进入就绪状态。答案:BCD在抢占式...原创 2019-09-19 10:47:02 · 1357 阅读 · 0 评论 -
Java笔试题库(03期)
1,volatile关键字是否能保证线程安全?()答案:否volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对volatile的写操作,无法保证线程安全。假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加...原创 2019-09-19 10:47:35 · 118 阅读 · 0 评论 -
Java笔试题库(04期)
1,下列说法正确的是()A.一个文件里可以同时存在两个public修饰的类B.构造函数可以被重写(override)C.子类不能访问父类非public和protected修饰的属性D.final修饰的类可以被继承答案:C 一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必须与之一致,否则无法编译,如果源文件中没有一个public类,则文...原创 2019-09-19 10:48:06 · 199 阅读 · 0 评论 -
Java笔试题库(05期)
1,关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是( ) A,它负责接收HTTP请求 B,加载配置文件 C,实现业务操作 D,初始化上下应用对象ApplicationContext正确答案:C SpringMVC是Spring中的模块,它实现了mvc设计模式,首先用户发起请求,请求到...原创 2019-09-21 09:56:24 · 548 阅读 · 0 评论 -
Java笔试题库(06期)
见如下代码:public class IntTest { public static void main(String[] args) { Integer i1 = 100; Integer i2 = 100; Integer i3 = 150; Integer i4 = 150; System.out.println(i1 == i2);...原创 2019-09-21 09:57:10 · 168 阅读 · 0 评论 -
【面试题】2019年最全Java面试通关秘籍汇总集!
前几天在交流群里有些小伙伴问面试相关的试题,当时给出了一些问题,苦于打字太累就没写下去了,但觉得这是一个很不负责任的表现,于是下来整理了一下近几年的私藏,特分享给大家!此套面试题适用于Java开发的各个阶段面试,不过更偏向初级和中级开发人员!由于每一个问题的答案不唯一且都可以在网上搜索到答案,这里只给出问题,不列出参考答案,有兴趣的可以留言讨论,也欢迎大家的补充!一、基础篇1.1、...原创 2019-09-21 09:58:05 · 272 阅读 · 0 评论 -
【面试题】2019年最全Java面试通关秘籍第二套!
注:本文是从众多面试者的面试经验中整理而来,其中不少是本人出的一些题目,网络资源众多,如有雷同,纯属巧合!禁止一切形式的碰瓷行为!未经允许禁止一切形式的转载和复制,如有违反则追究其法律责任!首先,我很懂你!当你看到这篇文章的时候可能是又喜又悲!喜的是,别人没看到这些悉心整理的面试题你看到了;悲的是,面试你的面试官可能也看到了!前几天整理了很多关于面试的经典题目,例如Redis为什么是单线程的、...原创 2019-09-21 09:59:12 · 280 阅读 · 0 评论 -
【面试题】2019年最全Java面试通关秘籍第三套!
注:本文是从众多面试者的面试经验中整理而来,其中不少是本人出的一些题目,网络资源众多,如有雷同,纯属巧合!禁止一切形式的碰瓷行为!未经允许禁止一切形式的转载和复制,如有违反则追究其法律责任!不要问我为什么没答案了,原因还是以前那句话,单纯的背面试题是解决不了任何问题的,只有深入其内部原理,才能游刃有余!后期一系列的文章会不断的探讨这一个个经典的面试题,敬请期待!也欢迎大家在留言处补充和讨论!...原创 2019-09-21 09:59:43 · 194 阅读 · 0 评论 -
【面试题】2019年最全Java面试通关秘籍第五套!
注:本文是从众多面试者的面试经验中整理而来,其中不少是本人出的一些题目,网络资源众多,如有雷同,纯属巧合!禁止一切形式的碰瓷行为!未经允许禁止一切形式的转载和复制,如有违反则追究其法律责任!不要问我为什么没答案了,原因还是以前那句话,单纯的背面试题是解决不了任何问题的,只有深入其内部原理,才能游刃有余!后期一系列的文章会不断的探讨这一个个经典的面试题,敬请期待!也欢迎大家在留言处补充...原创 2019-09-21 10:12:46 · 161 阅读 · 0 评论 -
阿里面试题
1.如何防止网络抖动产生的重复建单?答:原因:你这种情况应该是客户端请求发过去了,服务器写到数据库了,返回完成状态的时候网断了,这时客户端没有收到反馈以为订单没有生成,再点击下单,这时网络好了,结果生成了两个。解决办法:(1).待支付订单如果正在支付,就把这边订单锁定,变更为一个中间状态,这样就不会重复去支付这笔订单了(前端将提交按钮第一次点击提交时变成disable状态,直到后台返回状态...原创 2019-09-21 10:13:20 · 224 阅读 · 0 评论