本帖最后由 唯我独赞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中级面试题相关推荐

  1. java中级职称考试试题_Java中级开发工程师笔试题及答案2016

    Java中级开发工程师笔试题及答案2016 java中级工程师考试试题你做了吗?下面随yjbys小编一起来看看最新Java中级开发工程师笔试题及答案,仅供考生参考! 1) 描述Web Service的 ...

  2. 中级java笔试题_Java中级面试题合集

    Java中级面试题合集:1.弹出式选择菜单(Choice)和列表(List)有什么区别 Choice是以一种紧凑的形式展示的,需要下拉才能看到所有的选项.Choice中一次只能选中一个选项.List同 ...

  3. java中级工程师面试题_java中级工程师面试题

    java中级工程师面试题 目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长.在未来5年内,合格软件人才的需求将远大于供给.下面是关于java中级工程师面试题,希望大家认真阅读! 一 ...

  4. java综合面试题_JAVA 综合面试题 PDF 下载

    主要内容: Java面试题整理 Java面向对象 1. super()与this()的区别? This():当前类的对象,super父类对象.Super():在子类访问父类的成员和行为, 必须受类继承 ...

  5. JAVA工程师定向招聘_Java工程师面试题整理[社招篇]

    http://blog.csdn.net/jackfrued/article/details/44921941 1.面向对象的特征有哪些方面? 2.访问修饰符public,private,protec ...

  6. java线程实例题_java线程相关试题实例源码代码

    java线程相关试题实例源码代码. /** * 计算输出其他线程锁计算的数据 */ class ThreadA { public static void main(String[] args) { T ...

  7. java页面间面向对象的方法面试题_JAVA面向对象面试题带答案(墙裂推荐)

    1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用(c)关键字来申明父类的这些方法. a) Finalc b) Static c) Abstract d) Void ...

  8. java static面试题_Java static面试题

    首页 > 基础教程 > 关键字 > static关键字 Java static面试题 1. 为什么要用static关键字? 通常来说,用new创建类的对象时,数据存储空间才被分配,方 ...

  9. java校招笔试题目_Java校招笔试题

    2020校招笔试题答案及评分标准 满分100分 时间1小时 一.简答题: (5分)写出你用过的linux命令,举例说明其中几个的具体用法. 答案:略.评分标准:正确五个,1分一个. (5分)写出TCP ...

  10. java面试全套清单_Java 全套面试题 PDF 下载

    主要内容: Java 最常见 面试题全解析:面试必备 序言 在本篇文章开始之前,我想先来回答一个问题:我为什么要写这样一篇关于面试的文章?原因有三个:第一,我想为每一个为梦想时刻准备着的"有 ...

最新文章

  1. mysql部署 linux_linux 怎么部署mysql数据库
  2. 国产岚图入局高端智能电动车,对标特斯拉,放话一年内量产
  3. 科大星云诗社动态20201210
  4. 机器学习性能度量(1):P-R曲线与ROC曲线,python sklearn实现
  5. 物料主数据(MM03)跳转函数
  6. 80%的销售来源于第4至11次的跟踪!
  7. ros与arduino通讯(一)ros_arduino_bridge功能包
  8. 短信验证码 超时 java_短信验证码被刷怎么办?java 短信验证码防刷策略
  9. 蓝光三维扫描仪用于钢板焊接变形全尺寸测量
  10. 为什么计算机软件比一般作品较多,插画-从入门到进阶的小心得
  11. java 0.1 0.2_0.1+0.2结果却不等于0.3
  12. React Native布局实践:开发京东客户端首页(三)——轮播图的实现
  13. 一、安装docker
  14. 如何使用飞秋FeiQ实现两电脑通信(或传输文件)
  15. React:Redux和Flux
  16. [转]中国为什么培育不出自己的跨国公司(搜藏)
  17. 华中科技大学计算机科学与技术学院郑强教授,华中科技大学教授声讨后勤被处分 校方:通报批评,取消2年评优...
  18. Android串口通信(基于Tiny6410平台)
  19. 美团外卖实时数仓建设实践
  20. Android 基于MediaCodec开发抖音短视频录制(贰)

热门文章

  1. Oracle8.1.7 报错01033,win10系统下oracle数据库报错ORA-01033如何解决
  2. px和毫米的换算_px和mm换算(px相当于多少毫米)
  3. ps一点等于多少厘米_ps像素和厘米换算(ps100像素等于多少厘米)
  4. 谷歌移动UI框架Flutter入门
  5. oracle group by优化
  6. Android如何修改手机文件名称
  7. Python书单推荐
  8. linux下chm文件制作,自己动手将在线文档制作成CHM文件
  9. MATLAB自带插值函数
  10. oracle 删除索引报错ORA-01418:sepecified index does not exist