JAVA基础笔试题
java培训都有什么课程?
java培训都有什么课程?
第一阶段:Java基础语法
第二阶段:面向对象编程思想
第三阶段:GUI-图形界面编程-项目实战
第四阶段:高级进阶
第五阶段:MySql与数据库操作
第六阶段:JavaWeb开发
第七阶段:基于真实在线商城项目驱动
第八阶段:基于真实大型进销存项目驱动
第九阶段:高薪技术
推荐优就业,上市企业
面试题:Java中Sychronized关键字有什么作用?
这是面试中,常常被问道的问题,如何回答这个问题呢?
首先,sychronized关键字有3中用法,分别是:
修饰普通方法,加锁的对象是this
修饰static方法,加锁的对象时类对象,即
修饰方法快,加锁对象就是修饰的变量
有些面试官比较鸡贼,有一些变形的问法,例如:在两个线程中,同时调用一个对象的Synchronized关键字修饰的static方法和普通方法,有资源竞争的问题吗?根据对三种用法的分析,因为加锁的是不同对象,所以不会有资源竞争问题。
synchronized是java中的一个关键字 我们称其为同步关键字 主要是用来处理java中的同步机制同一个资源被用户并发访问时,会出现并发问题,比如:有一个实例变量x,第一个用户访问它,并赋值为100,但还没有来得及打印出x,另一个哥们进来访问了x,并改为200,这时候第一个哥们兴高采烈的打印出x的值,但却发现不是100,是200.这哥们就郁闷了,怎么回事呢?这就是并发问题,但如果把上面的代码用同步代码块包含起来,任意一个时间只能有一个哥们访问实例变量x,一直到这哥们执行完同步代码块中的所有代码后,其他哥们才能再访问。