JAVA面试题
文章平均质量分 79
本专栏资料转载于https://www.javanav.com/,为了方便自己的扩充,才于此写下来学习,记录
江西昊仔
程序员的修炼之路---手撕源代码
展开
-
线程池---巨详细
原文链接简书链接我们知道,线程需要的时候要进行创建,不需要的时候需要进行销毁,但是线程的创建和销毁都是一个开销比较大的操作。为什么开销大呢?虽然我们程序员创建一个线程很容易,直接使用 new Thread() 创建就可以了,但是操作系统做的工作会多很多,它需要发出 系统调用,陷入内核,调用内核 API 创建线程,为线程分配资源等,这一些操作有很大的开销。所以,在高并发大流量的情况下,频繁的创建和销毁线程会大大拖慢响应速度,那么有什么能够提高响应速度的方式吗?方式有很多,尽量避免线程的创建和销毁是.转载 2021-11-24 17:42:22 · 139 阅读 · 2 评论 -
Java经典面试题:HashMap和HashTable以及ConcurrentHashMap分析
本文转载于:https://segmentfault.com/a/1190000038989327前言:HashMap 应该算是 Java 后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的 Java 基础。比如HashMap和HashTable以及ConcurrentHashMap,这个就是hashmap面试的精髓,大家来一起看看是如何面试的吧!开场面试官: 你先自我介绍一下吧!我: 我是,毕业于**,目前在--公司做--系统开发。开发的项目有--布拉布.转载 2021-08-28 19:53:53 · 421 阅读 · 0 评论 -
Java基础之(0-100)
每日十个面试题--(java基础篇)-(1-10)1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什 么限制?2、Java有没有goto?3、说说&和&&的区别。4、在JAVA中如何跳出当前的多重嵌套循环?5、switch语句能否作用在byte上,能否作用在long上,能否作用在 String上?6、short s1= 1; s1 =(s1+1是int类型,而等号左边的是short类型,所以需要强转)1 + 1;有什么错? short s1 = 1;原创 2021-08-21 11:15:32 · 303 阅读 · 0 评论 -
2021-08-04双亲委派机制
原文链接:https://blog.csdn.net/m0_38075425/article/details/81627349 双亲委派机制,其工作原理的是,如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式,即每个儿子都很懒,每次有活就转载 2021-08-04 15:25:18 · 50 阅读 · 0 评论 -
SpringMVC过程模拟--史上详细
springmvc过程模拟客户点餐(指定厨师和菜品),服务员收到单子,然后去找后厨管理员,问这位厨师来了吗?然后后厨管理员给他一个回复,如果没来,服务员就会回复客户,不好意思我们这不能为你服务(404),因为你指定的厨师没来;如果后厨管理员回复服务员说“来了”,然后服务员就去找厨师,将菜单给厨师,然后厨师根据菜单制作菜品,厨师偷懒,自己不做,分给最好的徒弟做,然后让徒弟做完,最后徒弟将做好的菜品给师傅,师傅又将菜品转手给服务员,服务员从后厨那拿到菜,还要给菜进行封装,这样更优仪式感,就需要推车,需要摆放灯原创 2021-07-07 14:53:27 · 140 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(91-100)
91,什么是ORM?对象关系映射(Object-Relational Mapping,简称ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术;简单的说,ORM是通过使用描述对象和数据库之间映射的元数据(在Java中可以用XML或者是注解),将程序中的对象自动持久化到关系数据库中或者将关系数据库表中的行转换成Java对象,其本质上就是将数据从一种形式转换到另外一种形式。92,Hibernate中SessionFactory是线程安全的吗?Session是线程安全的吗(两个线转载 2021-07-15 21:01:18 · 91 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(81-90)
81,使用Spring框架的好处是什么?轻量:Spring 是轻量的,基本的版本大约2MB。控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。容器:Spring 包含并管理应用中对象的生命周期和配置。MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。事务管理:Spring 提供一个持续的事务管理接口,可以扩展到转载 2021-07-14 21:06:11 · 67 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(71-80)
71,谈谈你对Struts的理解。1.struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为 ActionServlet,或是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件将各个请求分别分配给不同的action去处理。(struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀)2.ActionServlet把请转载 2021-07-13 21:52:11 · 64 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(61-70)
61,JDBC访问数据库的基本步骤是什么?1,加载驱动com.mysql.cj.jdbc.Driver2,通过DriverManager对象获取连接对象ConnectionDriverManager.getConnection(url,name,password)3,通过连接对象获取PreparedStatement对象conn.prepareStatement(sql)4,通过PreparedStatement对象执行sql语句,等到结果集ps.executeQuery() | ps.e原创 2021-07-12 20:05:15 · 173 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(51-60)
51、说一说Servlet的生命周期?Servlet有良好的生存期的定义,包括【加载】和【实例化】、【初始化】、【处理请求】以及【服务结束】。这个生存期由 javax.servlet.Servlet接口的init(),service()和destroy方法表达。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。web容原创 2021-07-11 18:32:46 · 77 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(41-50)
41、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?hashCode() 方法对应对象整型的 hash 值。它常用于基于 hash 的集合类,如 Hashtable、 HashMap、LinkedHashMap等等。它与 equals() 方法关系特别紧密。根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code。42、字节流与字符流的区别底层二进制,包装字符串要把一段二进制数据数据逐一输出到某个设备中,原创 2021-07-10 09:24:18 · 80 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(31-40)
31、String s = new String(“xyz”); 创建了几个String Object?是否可以继承String类?问题分析 : 考官主要是对jvm方面问题考察两个或一个都有可能1.两个对象,一个在堆区,一个在字符串池。一个是xyz, 一个是指向xyz的引用对象s”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。new String每写一遍,就创建一个新的对象,它是使用常量”xyz”对象的内容来创建出一个新Strin原创 2021-07-09 08:42:14 · 111 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(21-30)
21、ArrayList和Vector的区别这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是与HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素。ArrayList与Vector的区别主要包括两个方面:(1)同步性:Vector是线程安全的,也就是说原创 2021-07-08 09:01:51 · 107 阅读 · 1 评论 -
每日十个面试题--(java基础篇)-(11-20)
11、是否可以从一个static方法内部发出对非static方法的调用?不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。12原创 2021-07-07 07:25:54 · 118 阅读 · 0 评论 -
每日十个面试题--(java基础篇)-(1-10)
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什 么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto?java中的保留字,现在没有在java中使用。3、说说&和&&的区别。1.&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。2转载 2021-07-06 09:01:07 · 111 阅读 · 0 评论 -
MyBatis面试题集合
1、什么是Mybatis?首先:它是一个框架。是什么框架呢?是一个半自动的对象关系映射持久层框架。最简单话的回答:Mybatis是一个半自动的对象关系映射持久层框架。对象关系映射:Object Relation Mapping,缩写:ORM那什么是叫半自动?什么叫对象关系映射?什么是持久层?半自动:需要手动写SQL语句 。Hibernate属于全自动ORM映射工具,使用Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。Mybatis在查询关联对象原创 2021-06-22 19:12:30 · 100 阅读 · 0 评论