面试
文章平均质量分 60
莽晨
这个作者很懒,什么都没留下…
展开
-
String—笔试判断
String-不同情况的字符串对象进行"=="比较的结果(jdk1.8)public class Main{ public static void main(String args[]){ String str1 = "a"; String str2 = "b"; String str3 = "ab"; String str4 = str1 + str2; String str5 = "a" + "b";原创 2021-10-06 14:06:15 · 70 阅读 · 0 评论 -
java面试—SpringBoot的作用
SpringBoot的作用[SpringBoot是什么?SpringBoot的优缺点有哪些?]( SpringBoot是什么?SpringBoot的优缺点有哪些? (biancheng.net) )核心功能独立运行的Spring项目SpringBoot可以以jar包的形式独立运行,运行一个springboot项目只需要通过Java-jar xx.jar来运行.内嵌Servlet容器SpringBoot可以选择内嵌Tomcat / Jetty / Undertow, 这样可以以war原创 2021-10-03 22:56:39 · 773 阅读 · 0 评论 -
ThreadLocal底层原理
ThreadLocal 底层原理ThreadLocalThreadLocal中set的使用如下:ThreadLocal<T> tl = new ThreadLocal<>();tl.set(new T());ThreadLocal类中的set()方法源码如下:public void set(T value) { Thread t = Thread.currentThread();//获取当前线程对象 ThreadLocalMap map原创 2021-10-03 20:08:10 · 144 阅读 · 1 评论 -
sleep、wait、join、yield的区别
sleep(),wait(),join(),yield()的区别锁池:所有需要竞争同步锁(sycnchronized)的线程都会放在锁池中,某个对象的锁已经被其中一个线程得到,其他线程需要在这个锁池中进行等待,当前面的线程释放同步锁后,锁池中的线程去竞争同步锁,当某个线程获得同步锁已经其他所需资源(除cpu资源外)后会进入就绪队列,等待分配cpu资源运行.等待池:当我们调用了wait()方法后,线程会放在等待池中,等待池的线程是不会去竞争同步锁的,只有调用了notify()或者notifyAll()原创 2021-09-19 21:02:42 · 2296 阅读 · 0 评论 -
线程的生命周期(有哪些状态)
线程的生命周期?线程有哪些状态?线程通常有5种状态: 创建,就绪,运行,阻塞,死亡阻塞情况分为三种:等待阻塞: 运行的线程执行wait方法,该线程会释放占用的所有资源,JVM会把该线程放入"等待池中".进入这个状态后,是不能自动唤醒的,必须依靠其他线程调用notify()或者notify All()方法才能被唤醒,wait是object类的方法;同步阻塞: 运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入"锁池"中.其他阻塞: 运行的线程执行sleep()或jo原创 2021-09-19 20:16:29 · 367 阅读 · 0 评论 -
如何实现一个IOC容器
如何实现一个IOC容器配置文件配置包扫描路径;递归包扫描获取.class文件;反射、确定需要交给IOC管理的类;对需要注入的类进行依赖注入;配置文件中指定需要扫描的包路径,定义一些注解,分别表示控制层、业务服务层、数据持久层、依赖注入注解、获取配置文件注解;从配置文件中获取需要扫描的包路径,获取到当前路径下的文件信息及文件夹信息,我们将单腔路径下所有以.class结尾的文件添加到一个Set集合中进行存储,遍历这个set集合,获取在类上有指定注解的类,并将其交给IOC容器,定义一个安全的M原创 2021-09-19 16:06:03 · 393 阅读 · 0 评论 -
java面试—(List和Set)(ArrayList和LinkedList)(hashCode和equals)(HashMap和HashTable)
List和Set的区别List和Set的区别哔哩哔哩List有序可以重复,按对象进入的顺序来保存对象,允许多个null元素对象,可以使用Iterator取出所有元素,在逐一遍历,还可以使用get(int index)获取指定下标的元素。Set无序不可重复,最多允许一个null元素对象,取元素时只能用Iterator接口取得所有元素,在逐一遍历各个元素。hashCode 与 equalshashCode 与 equals哔哩哔哩equalsequals是Object类中的方法,Obje原创 2021-07-16 20:18:35 · 191 阅读 · 0 评论 -
java面试—接口和抽象类
接口和抽象类java面试抽象类和接口哔哩哔哩抽象类可以存在普通成员函数(不一定要是抽象方法),而接口中只能存在抽象方法抽象类只能继承一个,而接口可以实现多个抽象类中可以定义各种类型的成员变量,而接口中只能定义静态常量(static final double PI=3.14;)接口的设计目的是对类的行为进行约束,提供一种机制,可以强制要求不同的类具有相同的行为,它仅仅是约束了行为的有无,不对如何实现进行限制。抽象类的设计目的地代码的复用,当不同的类具有某些相同的行为方法时(每个类中可能还原创 2021-07-15 21:41:39 · 125 阅读 · 0 评论 -
java面试—String-StringbufferStringBuilder
String、StringBuffer、StringBuilder的区别及如何确定何时使用java 面试哔哩哔哩String 是final修饰的,不可变,每次操作都会产生新的String对象。StringBuffer和StringBuilder都是在原对象上操作。StringBuffer是线程安全的,StringBuilder是线程不安全的。线程安全: 当多个线程访问某一个类(对象或方法)时,这个类始终能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。线程安全就是多线程访问时,采用了加原创 2021-07-15 20:49:21 · 113 阅读 · 0 评论 -
java面试—final关键字
finalfinal关键字哔哩哔哩最终的修饰类:表示类不可以被继承修饰方法:表示方法不可被子类覆盖,但是可以重载修饰变量:表示变量一旦被赋值就不可以更改它的值修饰成员变量如果final修饰的是类变量,只能在静态初始化块中指定初始值或者声明该类变量时指定的初始值。//final修饰的类变量只能有以下两种赋值方式:public class User{ public int userId; public final static int Id=2;//类变量原创 2021-07-15 20:27:49 · 107 阅读 · 0 评论 -
java面试—JVM基础理解及GC调优
JVM性能调优JVM性能调优面试题哔哩哔哩**java跨平台特性:**由于java虚拟机JVM会在软件层面屏蔽不同操作系统在底层硬件和指令上的不同。(下载安装JDK时,会选择不同系统版本,分不同系统的原因就是JVM对不同操作系统的实现不一样)JVM组成由三大块组成:类转载子系统---->运行时数据区(JVM中的一大块内存)---->字节码执行引擎当java中的class文件开始执行时,JVM就开始工作。最大的一块区域就是内存区域,虚拟机调优也就是对运行时数据区的调优。栈(线原创 2021-07-14 21:43:41 · 417 阅读 · 1 评论 -
java面试题--什么是面向对象
什么是面向对象,谈谈你对面向对象的理解来自bilibili面试题讲解笔记面向对象需要与面向过程对比来看,在做一件事情的时候连着侧重的方向不一样。举例:使用电脑播放视频这样一件事情。面向过程会将事情拆分成一系列的步骤,也就是函数,首先打开电脑-->点击播放器-->选择视频-->点击播放-->视频播放。而面向对象会将整个事件拆分出两个对象:一个是人一个是电脑,人要做的事情是:打开电脑,点击播放器,选择视频电脑要做的事情是:开机,开启播发器,播放视频,面向对象和面原创 2021-07-14 09:13:02 · 242 阅读 · 0 评论