java 中级面试题_java中级面试题
本帖最后由 唯我独赞mo 于 2015-11-12 22:47 编辑
1、 java中wait和sleep有什么区别?多线程条件下如何保证数据安全?
答:最大区别是等待时wait会释放锁,而sleep会一直持有锁,wait通常用于线程时交互,sleep通常被用于暂停执行。
2、java中volatile和synchronized有什么区别?
1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。
2.volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的。
3.volatile仅能实现变量的修改可见性,并不能保证原子性;而synchronized则可以保证变量的修改可见性和原子性。
4.volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。
5.volatile标记的变量不会被编译器优化;synchronized标记的变量可以被编译器优化。
3、java抽象类和接口有什么区别?项目中怎么去使用它们?
相同点:
A. 两者都是抽象类,都不能实例化。
B. interface实现类及abstractclass的子类都必须要实现已经声明的抽象方法。
不同点:
A. interface需要实现,要用implements,而abstract class需要继承,要用extends。
B. 一个类可以实现多个interface,但一个类只能继承一个abstract class。
C. interface强调特定功能的实现,而abstract class强调所属关系。
D. 尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的 形式不同。interface中的每一个方法都是抽象方法,都只是声明的 (declaration, 没有方法体),实现类必须要实现。而abstract class的子类可以有选择地实现。
使用:
abstract:在既需要统一的接口,又需要实例变量或缺省的方法的情况下,使用abstract;
interface:使用: 类与类之前需要特定的接口进行协调,而不在乎其如何实现。 作为能够实现特定功能的标识存在,也可以是什么接口方法都没有的纯粹标识。需要将一组类视为单一的类,而调用者只通过接口来与这组类发生联系。需要实现特定的多项功能,而这些功能之间可能完全没有任何联系。
4、对socket熟悉?TCP通讯有几次握手?有使用过哪些socket框架?
答:3次握手,客户端-->服务端,服务端-->客户端,客户端-->服务端,当这些过程完成之后,才真正建立起通信。java中比较有名的socket框架有:mina,netty,都是韩国小棒子写的。
5、了解java反射机制?反射生成类,能访问私有变量?
答:即动态生成java的实例,可以
6、JVM内存模型是如何?垃圾回收机制有哪些?如何对JVM进行调优?
答:由栈和堆组成,栈是运行时单位,堆内存则分为年轻代、年老代、持久代等,年轻代中的对象经过几次的回收,仍然存在则被移到年老代;持久代主要是保存class,method,filed等对象。
sun回收机制:主要对年轻代和年老代中的存活对象进行回收,分为以下:
年轻代串行(Serial Copying)、年轻代并行(ParNew)、年老代串行(Serial MSC),年老代并行(Parallel Mark Sweep),(Concurrent Mark-Sweep GC,即CMS)等等,目前CMS回收算法使用最广泛。
JVM调优主要是对堆内容和回收算法进行配置,需要对jdk产生的回收日志进行观察,同时通过工具(Jconsole,jProfile,VisualVM)对堆内存不断分析,这些优化是一个过程,需要不断地进行观察和维护
java 中级面试题_java中级面试题相关推荐
- java中级职称考试试题_Java中级开发工程师笔试题及答案2016
Java中级开发工程师笔试题及答案2016 java中级工程师考试试题你做了吗?下面随yjbys小编一起来看看最新Java中级开发工程师笔试题及答案,仅供考生参考! 1) 描述Web Service的 ...
- 中级java笔试题_Java中级面试题合集
Java中级面试题合集:1.弹出式选择菜单(Choice)和列表(List)有什么区别 Choice是以一种紧凑的形式展示的,需要下拉才能看到所有的选项.Choice中一次只能选中一个选项.List同 ...
- java中级工程师面试题_java中级工程师面试题
java中级工程师面试题 目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长.在未来5年内,合格软件人才的需求将远大于供给.下面是关于java中级工程师面试题,希望大家认真阅读! 一 ...
- java综合面试题_JAVA 综合面试题 PDF 下载
主要内容: Java面试题整理 Java面向对象 1. super()与this()的区别? This():当前类的对象,super父类对象.Super():在子类访问父类的成员和行为, 必须受类继承 ...
- JAVA工程师定向招聘_Java工程师面试题整理[社招篇]
http://blog.csdn.net/jackfrued/article/details/44921941 1.面向对象的特征有哪些方面? 2.访问修饰符public,private,protec ...
- java线程实例题_java线程相关试题实例源码代码
java线程相关试题实例源码代码. /** * 计算输出其他线程锁计算的数据 */ class ThreadA { public static void main(String[] args) { T ...
- java页面间面向对象的方法面试题_JAVA面向对象面试题带答案(墙裂推荐)
1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用(c)关键字来申明父类的这些方法. a) Finalc b) Static c) Abstract d) Void ...
- java static面试题_Java static面试题
首页 > 基础教程 > 关键字 > static关键字 Java static面试题 1. 为什么要用static关键字? 通常来说,用new创建类的对象时,数据存储空间才被分配,方 ...
- java校招笔试题目_Java校招笔试题
2020校招笔试题答案及评分标准 满分100分 时间1小时 一.简答题: (5分)写出你用过的linux命令,举例说明其中几个的具体用法. 答案:略.评分标准:正确五个,1分一个. (5分)写出TCP ...
- java面试全套清单_Java 全套面试题 PDF 下载
主要内容: Java 最常见 面试题全解析:面试必备 序言 在本篇文章开始之前,我想先来回答一个问题:我为什么要写这样一篇关于面试的文章?原因有三个:第一,我想为每一个为梦想时刻准备着的"有 ...
最新文章
- mysql部署 linux_linux 怎么部署mysql数据库
- 国产岚图入局高端智能电动车,对标特斯拉,放话一年内量产
- 科大星云诗社动态20201210
- 机器学习性能度量(1):P-R曲线与ROC曲线,python sklearn实现
- 物料主数据(MM03)跳转函数
- 80%的销售来源于第4至11次的跟踪!
- ros与arduino通讯(一)ros_arduino_bridge功能包
- 短信验证码 超时 java_短信验证码被刷怎么办?java 短信验证码防刷策略
- 蓝光三维扫描仪用于钢板焊接变形全尺寸测量
- 为什么计算机软件比一般作品较多,插画-从入门到进阶的小心得
- java 0.1 0.2_0.1+0.2结果却不等于0.3
- React Native布局实践:开发京东客户端首页(三)——轮播图的实现
- 一、安装docker
- 如何使用飞秋FeiQ实现两电脑通信(或传输文件)
- React:Redux和Flux
- [转]中国为什么培育不出自己的跨国公司(搜藏)
- 华中科技大学计算机科学与技术学院郑强教授,华中科技大学教授声讨后勤被处分 校方:通报批评,取消2年评优...
- Android串口通信(基于Tiny6410平台)
- 美团外卖实时数仓建设实践
- Android 基于MediaCodec开发抖音短视频录制(贰)
热门文章
- Oracle8.1.7 报错01033,win10系统下oracle数据库报错ORA-01033如何解决
- px和毫米的换算_px和mm换算(px相当于多少毫米)
- ps一点等于多少厘米_ps像素和厘米换算(ps100像素等于多少厘米)
- 谷歌移动UI框架Flutter入门
- oracle group by优化
- Android如何修改手机文件名称
- Python书单推荐
- linux下chm文件制作,自己动手将在线文档制作成CHM文件
- MATLAB自带插值函数
- oracle 删除索引报错ORA-01418:sepecified index does not exist