网站地图
RSS订阅
收藏本站
您的位置:网站首页 > 面试技巧

【Java】十道校招常见的面试题

作者:habao 来源:未知 日期:2019-2-27 4:56:16 人气: 标签:java校招面试
导读:,可能使用final修饰的方法,编译器针对这些方法的所有调用都转成内嵌调用,这样提高效率(但到现在一般我们不会去管这事了,编译器和JVM都越来越聪明了)你有没有…

  ,可能使用final修饰的方法,编译器针对这些方法的所有调用都转成内嵌调用,这样提高效率(但到现在一般我们不会去管这事了,编译器和JVM都越来越聪明了)

  你有没有这样的编程经验,在编译器写代码时,某个场景下一定要将变量声明为final,否则会出现编译不通过的情况。为什么要这样设计?

  其中我们可以看到:方法或作用域内的局部变量和方法参数都要显示使用final关键字来修饰(在jdk1.7下)!

  Java只是实现了capture-by-value形式的闭包,也就是匿名函数内部会重新拷贝一份变量,然后函数外部和函数内部就有两份数据。

  要想实现内部外部数据一致性目的,只能要求两处变量不变。JDK8之前要求使用final修饰,JDK8聪明些了,可以使用effectively final的方式

  那当你在匿名内部类里面尝试改变外部基本类型的变量的值的时候,或者改变外部引用变量的指向的时候,表面上看起来好像都成功了,但实际上并不会影响到外部的变量。所以,Java为了不让自己看起来那么奇怪,才加了这个final的。

  char是固定长度,varchar长度可变。varchar:如果原先存储的无法满足其存储的需求,就需要一些额外的操作,根据存储引擎的不同,有的会采用拆分机制,有的采用分页机制。

  三个线程分别打印A,B,C,要求这三个线程一起运行,打印n次,输出形如“ABCABCABC….”的字符串。

  原博主给出了4种方式,我认为信号量这种方式比较简单和容易理解,我这里粘贴一下(具体的可到原博主下学习)..

  圣洁神艾斯特莱雅如果生产者的队列满了(while循环判断是否满),则等待。如果生产者的队列没满,则生产数据并消费者进行消费。

  如果消费者的队列空了(while循环判断是否空),则等待。如果消费者的队列没空,则消费数据并生产者进行生产。

  基于原作者的代码,我修改了部分并给上我认为合适的注释(下面附上了原作者出处,感兴趣的同学可到原文学习)

  // 4.再睡一会儿关闭线.shutdown等待任务执行完才中断线程(因为消费者一直在运行的,所以会发现程序无法结束)

  众所周知,HashMap不是一个线程安全的类。但有可能在面试的时候会被问到:如果在多线程下使用HashMap会有什么现象发生呢??

  RESTful的,它把HTTP当成应用层协议,比较地遵守了HTTP协议的各种(充分利用了HTTP的方法);另一种是SOA的,它并没有完全把HTTP当成应用层协议,而是把HTTP协议作为了传输层协议,然后在HTTP之上建立了自己的应用层协议:

  

本文网址:
下一篇:没有资料
共有:条评论信息评论信息
发表评论
姓 名:
验证码: