![](https://img-blog.csdnimg.cn/7f8e683a03294d11ab8762e7452539d4.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java面试题
文章平均质量分 84
你能造什么样的火箭,决定你能去拧什么样的螺丝。
爪哇小白2021
跨行如跨山,前路征途漫漫,吾将上下而求索,与生活,亦如是。不足以与外人道也。
展开
-
Eureka服务注册中心
什么是注册中心 注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。 简单理解就是:在没有注册中心时候,服务间调用需要知道被当服务调方的具体地址(写死的 ip:port)。更换部署地址,就不得不修改调用当中指定的地址。而有了注册中心之后,每个服务在调用别人的时候只需要知道服务名称(软编码)就好,地址都会通过注册中心根据服务名称获取到具体的服务地址进行调用。举个现实生活中的例子,原创 2021-12-04 14:48:11 · 223 阅读 · 1 评论 -
强软弱虚,你真的懂java中的引用吗?
通过上述4个例子和代码,应该对这4个概念掌握了。这下就算面试官在问,也能手撕面试官了。ok,我已讲完。原创 2023-07-04 09:46:12 · 193 阅读 · 1 评论 -
Java 提供了哪些 IO 方式? NIO 如何实现多路复用?
Java的IO, BIO/NIO/AIO库库的学啊。原创 2023-06-21 11:12:20 · 552 阅读 · 0 评论 -
Exception 和 Error
在这个示例中,我们使用了四个 catch 块来捕获可能出现的异常,分别处理不同的异常情况。总的来说,Error表示严重的系统级别错误,无法通过程序本身进行修复,只能依赖于操作系统等外部因素进行处理,而Exception则是可以通过程序本身进行处理的异常。当然,在实际开发中,应该根据具体情况进行判断,尽可能地避免产生异常,从而提高程序的稳定性和可靠性。当然,在实际开发中,应该根据具体情况进行判断,尽可能地避免产生异常,从而提高程序的稳定性和可靠性。在Java中,Throwable是所有异常类的父类。原创 2023-03-29 22:40:08 · 238 阅读 · 0 评论 -
字节码与常量池之间的关系
常量池和jvm内存虚拟机加载之后, 方法区中的常量池.常量池中(符号引用, 以表的方式存在).xxx指向utf8 , string1和2在string中有一个tag标识位置, 然后右边有一个相对应的index, 然后index指向utf8中的位置, 所以string1->xxx.intern方法返回是常量池里面字面值的地址。如果常量池里面没有这个字面值,那么先把这个字面值放到常量表里面之后返回常量表的地址.intern()原创 2023-03-24 14:47:40 · 215 阅读 · 0 评论 -
类加载机制和加载过程
以Hello.java为例子.原创 2023-03-23 16:09:34 · 300 阅读 · 0 评论 -
Redis
它与被认为是不间断操作的容错技术有所不同。是目前企业防止核心系统因故障而无法工作的最有效保护手段高可用一般指服务的冗余,一个服务挂了,可以自动切换到另外一个服务上,不影响客户体验。原创 2023-03-21 13:06:59 · 365 阅读 · 0 评论 -
ThreadLocal
是 Java 中的一个线程局部变量,用于在每个线程中存储数据。ThreadLocal 提供了 get()、set()、remove() 方法,用于获取、设置和删除线程局部变量。原创 2023-03-20 13:31:32 · 429 阅读 · 0 评论 -
Java中有哪几种方式来创建线程执行任务?
以上几种方式,底层都是基于Runnable。所以创建线程的方式有4种也可以说是1种。原创 2023-03-15 23:33:37 · 538 阅读 · 0 评论 -
回忆当年面试的时候,面试官浅问了一下Spring【一年经验】
什么是Spring?目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。IoC是一种设计思想,DI是IoC的一种实现什么是IOC(控制反转)?将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制 ,由 IoC 容器进行注入、组合对象。这样对象与对象之间是松耦合、便于测试、功能可复用(减少对象的创建和内存消耗),使得程序的整个体系结构可维护原创 2022-03-05 20:44:27 · 358 阅读 · 0 评论 -
Java面试题-day28 项目合集之项目中你需要知道的事儿~
之前 我们讲了在项目开发前,作为开发人员我们必须要知道的项目常识,接下来我们继续讲解项目中要注意的事儿!1. 项目的周期大概是多长?这个要看项目的规模及投入的人力,物力的多少。一般java项目,可以回答半年左右,但这半年不全是开发,集中开发可能只有两个月时间,其它时间是做需求,设计,测试,部署等。还有的项目做个一,两年都正常。2. 核心开发人员负责多少模块合适?架构师将项目根据需求分解为各个模块,会将比较难的,复杂的交给核心开发人员。具体多少个模块也要看这个模块涉及到的功能点及复杂程度。.原创 2022-02-13 19:27:59 · 2935 阅读 · 4 评论 -
Java面试题-day27 项目合集之项目开始前的职责分工~
写在前面????作者简介:大家好,我是 爪哇小白2021。脑子比较笨所以就选择文字记录生活,很乐于与大家交流各种技术,共同进步!此篇内容主要讲Java开发在项目开始前,在项目组中的一些一些常识~???? 总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????✉️ 努力固然中腰,但也请不要勉强、苛责自己,对自己好一点。项目合集之项目前期一、引入我相信有很多人,第一次去找工作在准备面试的过程中是十分慌张的,不怕问技术就怕对面直接开口:“你在项目开发前期,你在项目组的分原创 2022-01-18 09:30:00 · 1201 阅读 · 16 评论 -
Java面试题-day26 数据库之存储过程和触发器
写在前面????作者简介:大家好,我是 爪哇小白2021。喜欢用文字记录生活,很乐于与大家交流各种技术,共同进步!点赞 ➕ 评论 ➕ 收藏 == 养成习惯???? 总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 ????✉️ 人生的“最后的目的”究竟是什么? 答案可能是:人生根本没有目的。存储过程和触发器1) 存储过程和函数存储过程重在处理数据,函数可以返回值 存储过程是procedure用户定义的一系列sql语句的集合,涉及特定表或其它对象 的任务,用户可以调用原创 2022-01-13 23:43:04 · 1057 阅读 · 19 评论 -
Java面试题-day25 数据库之事务
数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。 事务由事务开始与事务结束之间执行的全部数据库操作组成。原创 2021-12-19 23:45:52 · 149 阅读 · 5 评论 -
Java面试题-day24 数据库之基础
数据库,又称为数据管理系统,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的资料执行新增、截取、更新、删除等操作[1]。所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。文章目录前言一、 SQL概念二、常用函数三、常用的数据字段(oracle)四、集合操作五、视图和游标六、 数据库视图和表的区别,什么是视图?怎么使用视图?物化视图?七、 数据库的索引有什么用,带来的问题是原创 2021-11-18 23:45:00 · 148 阅读 · 1 评论 -
Java面试题-day23 SpringBoot
1. Springboot和springcloud?现在很多公司已经开始使用微服务架构(SpringCloud或Dubbo),而SpringBoot对于微服务的环境支持很好。微架构,与Spring4一起诞生。比如@RestController可以快速上手,整合一些子项目(开源框架或第三方开源库)可以依赖很少的配置就可以快速搭建并运行项目基于spring,开发者快速入门,门槛很低。Springboot可以创建独立运行的应用而不依赖容器不需要打成war包,可以放入tomcat中直接运行。提原创 2021-11-16 14:00:00 · 153 阅读 · 1 评论 -
Java面试题-day22 SpringMVC
SpringMVC1. Spring MVC比较 Struts2springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request请求内容解析,并给方原创 2021-11-06 14:46:08 · 120 阅读 · 0 评论 -
Java面试题-day21 Mybatis
Mybatis1. Mybatis架构或工作流程mybatis配置SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环 境等信息。mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需 要在SqlMapConfig.xml中加载。2) 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂3) 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行原创 2021-11-04 21:00:00 · 173 阅读 · 3 评论 -
Java面试题-day20 Spring
Spring1. Spring特点1) 为何使用SpringSpring是一个轻量级J2EE框架。它的主要功能有控制反转(IoC)、面向切面编程 AOP)、面向接口开发、事务管理、还可以包容其它框架,使系统中用到的其它框架耦合程度大大降低,拓展性强、简单易用好管理。2. IOC1) Spring中,如何给对象的属性赋值?通过构造函数通过set方法给属性注入值自动装配(了解)byName通过参数名自动装配,如果一个bean的name 和另外一个bean的 property 相同就原创 2021-11-03 23:30:00 · 125 阅读 · 1 评论 -
Java面试题-day19 Struts2
Struts21. Struts工作原理①请求发送给 StrutsPrepareAndExecuteFilter②. StrutsPrepareAndExecuteFilter判定该请求是否是一个Struts2请求③. 若该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter把请求的处理交给 ActionProxy④. ActionProxy 创建一个 ActionInvocation 的实例,并进行初始化⑤. ActionInvocation原创 2021-11-02 22:15:00 · 114 阅读 · 0 评论 -
Java面试题-day18 Hibernate
1. Hibernate基础1) Hibernate工作原理通过Configuration对象读取并解析配置文件读取并解析映射信息,创建SessionFactory对象打开session创建事务Transaction持久化操作,对对象进行CRUD操作提交事务关闭session和SessionFactory对象2) Hibernate优缺点优点:对 JDBC 访问数据库的代码做了封装,简化了数据访问层繁琐的重复性代码映射的灵活性, 它支持各种关系数据库, 从一对一到多对多的原创 2021-11-01 17:45:00 · 92 阅读 · 0 评论 -
Java面试题-day17 Servlet
Servlet1) HttpServlet中的方法doGet()/doPost()方法通过覆盖HttpServlet类中的doGet()方法,可以处理浏览器端发送过来的GET请求post是一种邮寄的方式,在浏览器的地址栏不显示提交的信息,但是这种方式传送的数据是没有限制的;get是一种手把手的提交到服务器上,最大的信息量是1K,而且提交的信息显示在浏览器上。init()在第一次调用servlet时,会创建servlet实例,在创建这个实例时,会调用HttpServlet中的init()方法(这原创 2021-10-31 21:26:20 · 193 阅读 · 0 评论 -
Java面试题-day16 JDBC的常用知识
JDBC的常用知识1) Class.forName的作用?为什么要用?按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的Class实例对象否则,按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该类,则抛出ClassNotFoundException。加载完这个Class字节码后,接着就可以使用Class字节码的newInstance方法去创建该类的实例对象了。有时候,我们程序中所有使用的具体类名在设计时(即开发时)无法确定,只有程序原创 2021-10-30 04:30:00 · 189 阅读 · 0 评论 -
Java面试题-day15 JSP相关知识点合集(续)
JSP相关知识点合集(续)1) jsp 有哪些内置对象? 作用分别是什么?答:JSP 共有以下 9 个内置的对象:request: 用户端请求,此请求会包含来自 GET/POST 请求的参数response: 网页传回用户端的回应pageContext: 网页的属性是在这里管理session: 与请求有关的会话期application: 与当前应用对应的 ServletContext 对象, 应用中只有一个out: 用来传送回应的输出 {}<%=%>config:原创 2021-10-29 21:00:00 · 119 阅读 · 0 评论 -
Java面试题-day14 JSP相关知识合集
jsp:服务器1) Tomcat,Apache,JBoss的区别? Apache解析静态的html文件;Tomcat可解析jsp动态页面、也可充当servlet容器。 Apache是Http服务器,Tomcat是web服务器,只支持jsp+servlet JBoss是应用服务器,支持EJB. Weblogic,WebSphere2) 虚拟目录设置虚拟路径的优势有两点。第一、我们开发一个项目,在未定版之前需要进行无数次的修改,如果部署测试项目的时候直接将项目打成war包放到webapps目录原创 2021-10-28 00:45:00 · 114 阅读 · 0 评论 -
Java面试题-day13 XML
XML1) xml 有哪些解析技术? 区别是什么?有 DOM,DOM4j,SAX等DOM: 一次性将整个文档加载到内存中, 生成一个对象树, 在处理大型文 件时其性能下降的非常厉害。DOM4J: 对 DOM 的进一步封装, API 使用更简洁SAX:基于事件驱动的方法回调机制。每读取一小部分数据时就会回调事件 处理器对象的方法, 但解析一旦开始就不能停止.2) 你在项目中用到了 xml 技术的哪些方面? 如何实现的?用到了数据存贮,信息配置两方面。在做数据交换平台时,将数据源的数据组装成原创 2021-10-27 12:30:00 · 116 阅读 · 0 评论 -
Java面试题-day12 Jquery
Jquery1) jquery有哪些好处?jQuery 是轻量级的 javascript 框架强大的选择器出色的 DOM 操作的封装可靠的事件处理机制完善的 ajax 封装出色的浏览器的兼容性支持链式操作,隐式迭代支持丰富的插件jquery 的文档也非常的丰富2) Query的常用选择器?ID选择器通过ID获取一个元素Class选择器通过类(css)获取元素标签选择器通过标签获取元素通用选择器(*) 获取所有元素层次选择器3) jquery中.get()提交和.get()原创 2021-10-26 17:30:00 · 131 阅读 · 2 评论 -
Java面试题-day11 JavaScript
JavaScript1) javascript与Java的不同Java代码必须编译才能执行,而JavaScript不需编译,只需由浏览器解释执行;Java多运行于服务器,而JavaScript多用于客户端;JavaScript使用的是弱类型的语言,而Java使用的是强类型的语言。JSP(java server page) 运行于服务器2) 数据类型Javascript 有三种主要数据类型、两种复合数据类型和两种特殊数据类型。主要(基本)数据类型是:• 字符串• 数值• 布尔复合(引用原创 2021-10-25 10:15:00 · 120 阅读 · 1 评论 -
Java面试题-day10 HTML
HTML关于前端,目前市面上基本的项目都讲究前后端分离,一些基本的前端知识还是需要掌握的。1) 超链接标签跳转:< a href = “资源路径” target="_blank">href : 用于指定链接的资源target: 设置打开新资源的目标。_blank 在独立的窗口上打开新资源_self 在当前窗口打开新资源2) 框架标签frameSet 一个frameSet可以把一个页面切割成多份。只能按照行或者列切割。frame 不能被切割的。 frame是位于fr原创 2021-10-24 17:20:01 · 76 阅读 · 0 评论 -
Java面试题-day09高级问题
高级问题1) JVM优化升级JVM版本。如果能使用64-bit,使用64-bitJVM。选择一个正确的GC(GargageCollection)。由于当JAVA程序GC的时候,会停下当前程序。尤其FullGC的时候,会停留很长时间。一般对于GUI程序来说,是很难接受的。JAVA5以后,开始自带了好几种GC,你可以选择一个适合你的种类。有以下四种SerialCollector,Parallelcollector(推荐使用并行收集),ConcurrentCollector。正确设置内存大小原创 2021-10-21 01:15:00 · 168 阅读 · 0 评论 -
Java面试题-day08网络
网络1) 常用网络通信协议TCP/IP协议TCP传输控制协议:TCP协议是一种可靠的端对端协议,重发一切没有收到 的数据,进行数据内容准确性检查并保证分组的正确顺序。IP网际协议:规定数据传输格式HTTP协议/HTTPSHTTP超文本传输协议,基于请求和响应模式。FTP协议文件传输协议SMTP协议简单邮件传输协议POP3/IMAP协议POP3邮局协议版本3IMAP:Internet消息访问协议2) SOCKET中有几中连接方式,各有什么区别?Sock原创 2021-10-19 22:25:06 · 91 阅读 · 0 评论 -
Java面试题-day07线程
线程1) 创建线程方式实现多线程可以通过继承Thread类和实现Runnable接口。(1)继承Thread定义一个类继承Thread类复写Thread类中的public void run()方法,将线程的任务代码封装到run 方法中直接创建Thread的子类对象,创建线程调用start()方法,开启线程(调用线程的任务run方法)另外可以通过Thread的getName()获取线程的名称。(2)实现Runnable接口;定义一个类,实现Runnable接口;覆盖接口的public原创 2021-10-17 22:30:00 · 164 阅读 · 3 评论 -
Java面试题-day06IO
IO1) Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?字节流,字符流两种类型流。字节流继承于InputStream、OutputStream字符流继承于Reader、Writer。其它与IO操作相关的类都是派生至上述4个抽象类。如字节相关的:FileInputStream、FileOutputStream类;字符相关的:BufferedReader、BufferedWriter类2) 什么是序列化,如何实现序列化?请解释Serializab原创 2021-10-16 12:45:00 · 77 阅读 · 1 评论 -
Java面试题-day05集合
集合1) 集合类型可以归纳为三种 Iterable ->Collection ->List ->ArrayList ->LinkedList ->Vector ->Stack ->Set ->HashSet ->TreeSet Map ->Hashtable->原创 2021-10-15 22:30:00 · 121 阅读 · 0 评论 -
Java面试题-day04异常处理
异常处理1) Error、Exception区别Error类和Exception类的父类都是throwable类,他们的区别是:Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。2) Java中的异常处理机制的简单原理和应用。原创 2021-10-14 14:15:00 · 114 阅读 · 1 评论 -
Java面试题-day03面向对象
面向对象1) 你对面向对象思想的理解?面向对象编程(Object-Oriented Programming)简称OOP技术,是开发计算机应用程序的一种新方法、新思想。过去的面向过程编程中常常会导致所有的代码都包含在几个模块中,使程序难以阅读和维护,在做一些修改时常常牵一动百,使以后的开发和维护难以为继。而使用OOP技术,使用许多代码模块,每个模块都只提供特定的功能,它们是彼此独立的,可以增加代码重用的几率,更加有利于软件的开发、维护和升级。另外OOP的三大核心特性:继承、封装、多态的特性,使得在面对象编原创 2021-10-12 13:46:30 · 166 阅读 · 4 评论 -
Java面试题-day02基础语法
基础语法1) 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同2) &和&&的区别。&和&&都可以用作逻辑与的运算符,&&为短路与,&不是短路与。另外&可以做为整数的位运算符例1:对于if(str != null&原创 2021-10-10 16:37:40 · 101 阅读 · 0 评论 -
Java面试题-day01运行机制
运行机制1. 运行机制1) Java跨平台原理Java实现跨平台是JVM(Java虚拟机)起的作用。如果是C/C++的编译方式,一旦换了一个平台,那么就需要重新编译一份对应的可执行代码,但是Java则不同,编译好了一份Java字节码,换到不同的平台上时,并不需要重新编译,前提是这些平台上都安装了相应平台的JVM,JVM不是跨平台的。2) 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?垃圾回收器通常是作为一个单独的低级别的线程运行,在不可预知的情原创 2021-10-07 16:43:46 · 204 阅读 · 2 评论