![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试知识点
Ysdo
热爱记录和分享的打工人er
展开
-
反射机制,知识点概括
一、反射机制是指在运行状态中,对于任何一个类,都能够知道这个类的属性和方法;对于任何一个对象,都能调用他的属性的方法。二、反射提供的功能: 在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的方法生成动态代理三、通过反射获取类的三种方法:通过Class.forName(); ...原创 2019-03-31 09:46:39 · 160 阅读 · 0 评论 -
Spring Bean的作用范围
通过Scope来指定Bean的作用范围:-singleton 单例(默认),只要IOC容器一创建就会创建Bean的实例,而且是单例的,每次调用getBean都是调用的同一个对象。-prototype 多例,原型 ,IOC容器创建时不会实例该Bean,只有调用getBean方法时,才会实例-request 每次请求会实例化一个Bean-session 每次会话会实例化一个Be...原创 2019-09-22 11:39:23 · 228 阅读 · 0 评论 -
java中 boolean类型占多少字节
1、1个bit理由是boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中只需要1位(bit)即可存储,位是计算机最小的存储单位。2、1个字节理由是虽然编译后1和0只需占用1位空间,但计算机处理数据的最小单位是1个字节,1个字节等于8位,实际存储的空间是:用1个字节的最低位存储,其他7位用0填补,如果值是true的话则存储的二进制为:00...原创 2019-09-21 20:56:13 · 1282 阅读 · 0 评论 -
CAS机制
悲观锁(Pessimistic Lock)顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁(Optimistic Lock)...原创 2019-09-09 09:56:27 · 157 阅读 · 0 评论 -
java闭锁CountDownLatch
java.util.concurrent包下有个CountDownLatch类,文翻译为倒计时锁存器,是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行:确保某个计算在其需要的所有资源都被初始化之后才继续执行; 确保某个服务在其依赖的所有其他服务都已经启...原创 2019-09-09 14:09:04 · 106 阅读 · 0 评论 -
HashMap的容量为什么一直是2的次幂
初始容量HashMap的初始化容量的为16,长度始终保持2的n次方,给HashMap初始化容量时如果不是2的指数次幂,它会自动变成最接近它的上面的2的指数次幂,如HashMap<Integer,String> hm = new HashMap<>(13) ,它的容量会自动转成16;这样做的好处当然是为了提高效率。HashMap是根据key的hash值决策key放入到...原创 2019-09-06 22:22:46 · 871 阅读 · 0 评论 -
ArrayList为什么是线程不安全的
提到线程安全我们应该第一时间想到锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用,所以通过加锁我们就可以保证一个线程的安全性,list接口下面有两个实现,一个是arraylist,另外一个是vector。 从源码的角度来看,因为vector的方法前加了,synchronized 关键字,也就是同步的意思,sun公司希望vector是线程安全的...原创 2019-09-06 20:52:04 · 2262 阅读 · 1 评论 -
自增变量
先来看一个小程序:public class Up { public static void main(String[] args) { int i=1; i=i++; int j=i++; int k=i + i++ * ++i; System.out.println("i="+i); ...原创 2019-08-31 16:40:19 · 872 阅读 · 0 评论 -
java面试题整理(带答案)
1.根据以下程序选出正确答案: public class Test { private static int j = 0; private static Boolean methodB(int k) { j += k; return true; } pu...原创 2019-08-26 16:02:51 · 365 阅读 · 0 评论 -
java如何跳出多重循环
单纯使用break语句会跳出当前整个循环,如果多重循环嵌套时想跳出多个循环可自定义一个标记来指定进行跳出first: for (int i = 0; i <10 ; i++) { second: for (int j = 0; j <5 ; j++) { for (int k = 0; k < 3; k++) { ...原创 2019-09-29 10:32:56 · 278 阅读 · 0 评论