Java面试必问知识点
文章平均质量分 96
记录面试中必问的java知识点。
一直Tom猫
记录自己学习技术的笔记!求互关互赞!一起学习,一起进步。
展开
-
面试必问之MySQL中的事务
在数据库设计的时候需要注意的几点:1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段原创 2020-12-31 21:28:29 · 405 阅读 · 0 评论 -
面试必问之==和equals的区别
1、== 比较基本数据类型(byte、short、int、long、float、double、char、boolean)则直接比较其存储的 “值”是否相等。public class Studey { public static void main(String[] args) { int d=1; int c=1; System.out.println(d==c); }}控制台打印为true。2、== 比较引用类型是.原创 2020-10-20 21:37:22 · 506 阅读 · 0 评论 -
面试必问Spring知识点
1.什么是Spring? Spring是一个开源框架,为简化企业级开发而生,是一个IOC(DI)和AOP容器框架。使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁。2、Spring都有哪些模块?Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。3、Spring.原创 2020-09-27 21:08:08 · 400 阅读 · 0 评论 -
经典算法笔试题
1、请写一个冒泡排序的算法public class test { public static void main(String[] args) { int a[] ={34,23,45,2,11,200,1}; int temp = 0; for (int i = 0; i <a.length-1 ; i++) { for (int j = 0; j <a.length-.原创 2020-09-27 19:40:42 · 1956 阅读 · 0 评论 -
面试必问SpringBoot的自动配置原理
大家都知道SpringBoot的简单,简化了大量的配置,简直是我们java开发人员的福音,我们创建完项目,直接就可以运行该项目,不需要任何的配置,不像我们的SSM项目,需要配置两个配置文件(一般是spring。xml和springmvc.xml),而且文件里也配置了很多的配置,使用起来及其的麻烦,而SpringBoot我们在平时使用的时候,也就只需要配置application.yml文件或者application.properties文件来自定义一些配置。但是也可以不配置就可以使用,大家知道这...原创 2020-09-23 11:34:11 · 1182 阅读 · 0 评论 -
面试必问之乐观锁和悲观锁
前言乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。目录一、基本概念二、实现方式(含实例) 1、CAS(Compare And Swap) 2、版本号机制三、优缺点和适用场景四、面试官追问:乐观锁加锁吗?五、面试官追问:CAS有哪些缺点?六、总结一、基本概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐...转载 2020-09-16 21:14:16 · 667 阅读 · 0 评论 -
面试必问之单例模式有几种表达方式,请用代码来实现。
面试必问之单例模式,今天必须恶补一下,就拿它来吊打面试官!单例模式有几种?饿汉式(最常见) 懒汉式(最常见) 加锁的懒汉式 双重判断加锁的懒汉式 内部静态类是实现的懒汉式 使用枚举共有六种方式。其中在懒汉式基础上扩展的有两种。即:加锁的懒汉式及双重判断加锁的懒汉式;还有一种是使用内部类实现的。即:内部静态类的;最后一种是比较少见的。使用枚举的。懒汉式的单例模式代码实例,如下图:public class Singleton{ //由于太懒 先不新建对象 ...原创 2020-09-10 11:22:37 · 2264 阅读 · 0 评论 -
Java接入腾讯云短信验证功能,超详细,超简单!
在公众号上的个人会员注册的界面进行手机号验证功能,如下图:1、注册认证步骤详解我这里选择了腾讯云的,大家可以选其他公司的,都大同小异。那下面直接开始!新账号注册可以免费领取短信包一百条,设置成功后好像还会送一百条!如下图:点击直接注册,我们会直接到如下界面!我们直接点击短信,我们选择注册方式,微信扫码简单快速!注意需要「关注」服务号!扫码完成,就已经注册成功,接下来就是实名认证!个人认证和企业认证两种方式,我这里选择的是个人认证。填写个人认证的相关信...原创 2020-08-26 20:33:18 · 4222 阅读 · 5 评论 -
面试必问Java集合框架
部分摘于:点击查看原文了解Java 集合Java 集合,也称作容器,用来存放数据的,主要是由两大接口(Iterator、ListIterator)派生出来的:Collection 和 Map。这两大接口的不同之处在于: Collection 存放单一元素; Map 存放 key-value 键值对。 CollectionCollection是集合List、Set、Queue的基本的接口。Collection 里还定义了很多方法,这些方法也都会继承到各个子接口...原创 2020-07-29 11:09:41 · 205 阅读 · 0 评论 -
HashMap为什么线程不安全?(附源码)
Java8可以把HashMap用在多线程中呢?通过源码看到put/get方法都没有加同步锁,多线程情况最容易出现的就是:无法保证上一秒put的值,下一秒get的时候还是原值,所以线程安全还是无法保证。下图源码图:有什么线程安全的类代替么?在这样的场景,我们一般都会使用HashTable或者CurrentHashMap,Collections.synchronizedMap(Map)创建线程安全的map集合。但是因为前二者的并发度的原因基本上没啥使用场景了,所以存在线程不安全的场景我们转载 2020-07-29 09:23:47 · 1075 阅读 · 0 评论 -
面试必问HashMap知识点(附源码)
文章部分摘于:点击查看原文 在Java中,保存数据有两种比较简单的数据结构:数组和链表。数组的特点是:寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。(详见上一篇文章浅谈数组和链表)HashMap就是将数组和链表组合在一起,发挥了两者的优势,我们可以将其理解为链表的数组。jdk1.8之后,又加入了红黑树的结构,就变成了数组和链表加红黑树的组合。我们先了解一下Map的体系结构:由体系继续图我们可以知道,HashMap是继承了AbstractMap,下图是源码图:...原创 2020-07-28 12:13:37 · 270 阅读 · 0 评论 -
JAVA之反射学习篇(一)附详细演示代码
什么时反射?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。通俗一点的说就是我们平时都是new一个对象出来,而反射呢不需要使用new就可以把一个对象进行引用,我们可以得到这个对象的属性和方、法构造方法等,我们也可以对他们进行一系列的操作。 Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类; 在运行时构造任意...原创 2020-07-24 16:18:19 · 197 阅读 · 0 评论 -
浅谈数组和链表
什么是数组?相同数据类型的元素按一定顺序排列连续的集合。内存结构是连续的,每个内存大小是相等的。内存结构图:数组的优点索引速度快,因为数组有下标,获取到数组的引用可以快速根据下表获取到某一元素。数组的二分查找时间复杂度小,都是O(1)数组的缺点从头部删除、从头部插入的效率低,时间复杂度是o(n),因为需要相应的向前搬移和向后搬移。数组的存储区间是连续的,占用内存比较大,内存空间要求高,必须要有足够的连续的内存空间。数组的空间大小是固定的,不能进行动态扩展。比如:当我们要新增一个元素的话,就原创 2020-07-20 22:00:33 · 174 阅读 · 0 评论