Podchaser Logo
Home
2020年JAVA面试208题

小崔爱读书

2020年JAVA面试208题

A daily Technology and Education podcast
Good podcast? Give it some love!
2020年JAVA面试208题

小崔爱读书

2020年JAVA面试208题

Episodes
2020年JAVA面试208题

小崔爱读书

2020年JAVA面试208题

A daily Technology and Education podcast
Good podcast? Give it some love!
Rate Podcast

Episodes of 2020年JAVA面试208题

Mark All
Search Episodes...
说到多线程的原子性、可见性和有序性。这是多线程确保线程安全的三个标准。首先。咱说说。原子性。原子性其实很好理解。原子就是最小的单元,他就是可执行的最小的单元。在程序执行的时候,最小的一个可执行单元就是一个原子。一段原子性的代码执行的时候。不会被打断。这一段代码的执行,要么不执行,要么全部执行完毕。这段代码也许只有一行代码,也许是多行代码。一行代码很多也不是原子性的,因为这个原子性并非是我们Java程序代码的原子性,而是CPU执行 阶段的原子性。并不是说代码少他就是原子性。也不是说代码
1 Java中有4中引用,强引用、软引用、弱引用、虚引用。强引用:普通new出来一个对象 ,都是强引用。软引用:SoftReference类,当内存不足的时候,会被回收。弱引用:WeakReference类,内存充足也会被垃圾回收。虚引用:最脆弱的引用,记录一个对象已经被回收了。2 当某个对象只被弱引用的时候,Java的垃圾回收机制就会回收该对象。3 我们知道一个对象定义出来,在堆内存中为其开辟空间,在栈中存储该对象的引用。比如定义一个Car a1 = new Car() ; 这时候
1 准备Spring的上下文环境,也就是ApplicationContext2 扫描XML文件,或者是注解,得到一系列的BeanDefinitaion3 BeanFactoryPostProcessor,Bean工厂的后置处理器, 要对BeanDefinition做一些处理,替换一些属性的值,比如MyBatis的Bean,就会做这个处理。4 开始实例化Bean,即new出来Java对象,当然,他不是真的new,而是通过反射实例化Bean5 开始初始化Bean,对Bean的属性赋值,即
1 AOP就是面向切面编程,通过切面来达到对目标类的增强的目的,关于面向切面就不做太多的解释了。2 AOP底层是动态代理。3 AOP针对实现了接口的类,基于原生JDK的动态代理实现的; 针对没有实现接口的类,基于CGLib来实现的。4 CGLIb的动态代理,通过实现一个子类来实现的。5 JDK的动态代理有一个限制,只能针对实现了接口的类进行动态代理,这是为什么呢?因为JDK的动态代理实现的代理类不是继承目标类,而是继承自Proxy类,而JAVA不允许双重代理,因此就要求目标类必须实现
  1 各种ApplicationContext ,核心实现的是 BeanFactory ,例如 XmlWebApplicationContext AnnotationConfigApplicationContext ,2 BeanDefination3 创建一个 DefaultListableBeanFactory, 基于BeanDefination 创建Bean ,只处理单例的 , 先实例化,再初始化, DI ,4 所有的Bean 都放到一个 Map 里面,这就是Bean的容
1 IOC 是控制反转, Inversion of Control。2 控制反转不是一种语法,不是类或方法,它是一种设计模式3 当A类依赖于B类,如果不使用控制反转,A类要主动创建B类的对象,也就是new B类,这时候控制权在A类的手中,这就是主动控制; 使用控制反转,A类只要声明自己需要B类,而控制权交给Spring容器,Spring容器在A需要B类的时候为其注入B类即可,这时候控制权在Spring容器手中,即控制反转了。4 好处是什么呢?控制反转后A类与B类的耦合性就降低了,程序
1.反射的设计初衷是为了程序在运行的过程中可以动态的创建对象,什么意思呢,也就是说在编码阶段我们不进行对象的创建,让程序运行起来之后按照需求通过反射技术动态创建所需要的对象.2.那么这个过程虽然不难,但理解起来确实不太容易理解,我们用一个场景来解析一下你就明白了3.咱们java在操作数据库的时候会使用到JDBC,那么在原生的连接数据库进行查询操作后,会获得一个resultset集合,在这个集合中有当前查询的数据表的字段名和字段名对应的值.4.但是这个resultset集合中的数据的在
1.浮动你肯定清楚是咋回事,设置属性float向左或者是向右浮动2.浮动所带来的问题是,无法撑开父元素的高度。 非浮动情况下,子元素会把父元素的高度撑开,这个好理解。当子元素是浮动的时候,子元素浮起来脱离了父元素的包裹了,自然父元素内部就空了,所以父元素的高度就塌陷了。由于有这个大问题,所以必须清除浮动,目的是让子元素即便浮动了依旧能撑开父元素的高度。3.有两种方式:一个是使用CSS的clear属性,还有一种是利用BFC机制。4.先说第一种方法,在浮动元素之后,再增加一个块儿元素,然
ArrayList和LinkedList的区别LinkedList和ArrayList的区别主要来自于他们俩的数据结构不同ArrayList是基于数组实现的,LinkedList是基于双链表实现的ArrayList是基于数组的数据结构,数组在内存中存储数据的空间是连续的,可以通过下角标直接访问数组中的元素,因此在随机访问集合元素时有较好的性能。ArrayList获取数据的时间复杂度是O(1),但是要插入、删除数据的开销很大,因为要将插入位置之后的所有元素进行后移操作。例如买票时,有人
Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features