正文
2.volatile 仅能实现变量的修改可见性,并不能保证原子性;synchronized 则可以保证变量的修改可见性和原子性
3.volatile 不会造成线程的阻塞;synchronized 可能会造成线程的阻塞。
4.volatile 标记的变量不会被编译器优化;synchronized 标记的变量可以被编译器优化
● 服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达;
● ThreadLocal原理,实现及如何保证Local属性;
● String StringBuilder StringBuffer对比;
● 你所知道的设计模式有哪些; 答:Java 中一般认为有23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
● Java如何调用c、c++语言;
● 接口与回调;回调的原理;写一个回调demo;
● 泛型原理,举例说明;解析与分派;
● 抽象类与接口的区别;应用场景;抽象类是否可以没有方法和属性;
● 静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?
● 修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法;
● 说说你对泛型的了解;
● Java的异常体系;
● 如何控制某个方法允许并发访问线程的个数;
● 动态代理的区别,什么场景使用;
最新部分
● 简述synchronized?Object;Monitor机制;
● 简述happen-before规则 ;
● JUC和Object ; Monitor机制区别是什么 ; 简述AQS原理 ;
● 简述DCL失效原因,解决方法 ;
● 简述nio原理 ;
● jvm运行时数据区域有哪几部分组成,各自作用 ;
● gc算法有哪些 ; gc收集器有哪些 ;
● 简述class加载各阶段过程 ; class ; loader有哪些模型 ;