简介: Java经典面试题第八节来啦!本节面试题包含了进程、线程、Object类、虚拟内存等相关内容,希望大家多多练习,早日拿下心仪offer~

了解更多:
Java经典面试题整理及答案详解(一)
Java经典面试题整理及答案详解(二)
Java经典面试题整理及答案详解(三)
Java经典面试题整理及答案详解(四)
Java经典面试题整理及答案详解(五)
Java经典面试题整理及答案详解(六)
Java经典面试题整理及答案详解(七)

Java经典面试题第八节来啦!本节面试题包含了进程、线程、Object类、虚拟内存等相关内容,希望大家多多练习,早日拿下心仪offer~

1.进程间通讯方式有哪些?

如果你面试的是Java开发岗位,那么这个时候所谓的通讯应该指的是JVM间的通讯。每一次执行Java命令的时候都会启动一个JVM进程,而不同进程之间的JVM通讯就可以为进程通讯。
一个简单的C/S应用,就是一个最基础的线程通讯,就是那种不怎么用的Socket编程。如果现在不想经过这么多复杂处理,还可以使用公共文件,或者直接进行管道流处理。

2.数据库事务未结束宕机后,重启事务回滚原理。

如果是Oracle那么就是relog(重做日志),你所有的记录都在日志里完成。

3.进程执行和线程执行优缺点比较。

进程的执行速度慢,线程执行速度快。每当使用Java命令去启动一个JVM进程的时候,实际上都要执行一个完整的进程生命周期,也就是说其所使用的资源会更加的庞大。而对于线程优势在于启动速度快,Java采用了多线程的处理方式,整个系统运行之中进程只会启动一次。
所有的线程都受到进程的控制,如果你的进程一旦被毁了,那么所有的线程也就都完蛋了。

4.什么时候使用Object类?

对于Object类的使用可以分为两个阶段:JDK1.5之前以及JDK1.5之后。Object之所以会被大量的进行参数的接收处理,很大一部分原因在于:你的程序里面需要接收的类型很多,并不固定。现在的开发理念之中强调的问题不再是这一点了,而是如何避免向下转型(如果避无可避,那么就用),因为从JDK1.5之后引入了泛型机制,现在的设计思想是用泛型来避免向下转型的操作(ClassCastException),你如果认真读了API文档就会发现可以接收Object类型的方法是越来越少了,所以你以后的开发中应该尽量以回避Object接收的项目为主。

5.CycleBarrier和CountDownLatch区别及实现原理

这两个类是java.util.concurrent定义的操作类,主要功能是进行线程同步处理的工具类。
CycleBarrier相当于汇聚多个等待线程,都到了,一起操作;
CountDownLatch等所有人都走了,我再操作。
范例:观察CountDownLatch

就是执行了一个阻塞的操作环境。CycleBarrier是一个互相等待状态。


CountDownLatch是一计到底,也就是说如果你一开始设置了2个计数线程就一直减,不能重置。
CycleBarrier可以进行重置处理;
以上就是两者的区别。

6.什么情况下使用虚拟内存,好处是什么?

假如你在玩游戏,你的电脑可能只有2G内存,但你发现依然可以使用,因为操作系统会将你的硬盘进行内存的虚拟化,这样就相当于你在硬盘上可以模拟内存(硬盘的速度很慢,所以你的程序启动的速度也很慢)。
从Java8开始取消了永久代,使用元空间来进行操作,也就是说Java可以直接使用操作系统的内存进行处理,这个时候就有可能导致每一个线程分配的真实的主机内存空间越大,如果内存不足,操作系统会进行虚拟内存的控制,对于虚拟内存不需要做特别多的处理。
当线程访问量追加,JVM就有可能不断的进行内存申请以及内存回收。

更多专业知识,面试技巧就在面试一点通,持续更新中……
感谢浏览~

Java经典面试题整理及答案详解(八)相关推荐

  1. Java经典面试题整理及答案详解(三)

    简介: 以下是某同学面试时,面试官问到的问题,关于面试题答案可以参考以下内容- 上一篇:Java经典面试题整理及答案详解(二) Java面试真题第三弹接住!相信通过前两节的学习,大家对于Java多少有 ...

  2. Java经典面试题整理及答案详解(四)

    简介: Java经典面试题第四弹来啦!本节小编整理了关于Java开发框架常见的面试题,希望大家多多怜惜,一起进步- 1.SpringMVC返回值,使用SpringMVC的时候我看到两种风格的开发,一种 ...

  3. Java经典面试题整理及答案详解(五)

    Java经典面试题第五弹来啦!本节面试题主要是针对Java初级基础提问,看看你还记得多少? 1.String str="hello",这个字符串对象在栈内存中明明有一个引用(str ...

  4. Java经典面试题整理及答案详解(二)

    简介: 现在找工作,背面试题是一方面,但更重要的就是得把这些代码的前后因果关系了解的非常清楚,还是要多写代码多练习. 1. 使用InputStream用什么方法? 答:Read()方法 2. 在JQu ...

  5. 【java】Java经典面试题整理(附答案)

    1.JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含 ...

  6. 8万字208道Java经典面试题总结(附答案)

    前言 最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里.腾讯.字节跳动.京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家 ...

  7. Java经典算法四十例编程详解+程序实例

    JAVA经典算法40例 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: ...

  8. 面试题整理01-集合详解

    文章目录 前言 一.集合的整体结构 单列集合接口: 双列集合接口: 二.单列集合详解 1.List接口 1.1 ArrayList集合 特点: 扩容: 添加元素 遍历 1.2 LinkedList集合 ...

  9. Java经典面试题总结(附答案)-java经典面试题大全总结以及整理

    前言  最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油吧. 目录 1.JDK 和 JRE 有什么区别? 2.== 和 equals 的区别是什么? 3.final 在 java ...

最新文章

  1. Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)
  2. 为了今年印象最深刻的唱片,转演唱会消息一个,虽然我去不了 55555
  3. 深入理解printf 之一 问题引出
  4. 函数-函数的基本组成
  5. mPaas 运维流程介绍
  6. 携程发布2021第三季度财报:营收53亿元 国际国内旅游市场“攻守”同发力
  7. 差分数组|小a的轰炸游戏-牛客317E
  8. javalibrary 线上_《NBA2K21》MT模式线上3V3任务一览 :: 游民星空 GamerSky.com
  9. pg_rewind 快速角色切换
  10. Codeforces Round #466 (Div. 2): E. Cashback(单调队列+DP)
  11. 五分钟写出一个可以滑动条拖动的矩形脉冲合成的MatlabGUI程序
  12. 一名 40 岁“老”程序员的反思
  13. 群晖nas存储系统原理_为群晖 NAS 加上 SSD 缓存,享受高速带来的酸爽吧!
  14. 小白的程序员自学之路
  15. 老板让我通知领导们开会,有几个领导故意开会迟到,老板反而说我不会办事,怎么办?...
  16. 实现webIM技术小结——websocket IM原理篇
  17. a possible low-level optimization
  18. java onfocus_[Java教程]onfocus和onblur应用代码实例
  19. 别人笑我太疯癫,我笑他人看不穿。
  20. 华为手机怎样无线与电脑连接服务器,华为手机如何与电脑远程连接服务器

热门文章

  1. 利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?
  2. 数据可视化,必须注意的30个小技巧!
  3. 求求你!不要在网上乱拷贝代码了!一段网上找的代码突然炸了,项目出现大BUG...
  4. 我花 1 分钟写了一段爬虫,帮助小姐姐解放了双手
  5. linux vim 插件管理,linux: vim插件管理
  6. android判断银行卡号格式不正确的是什么意思,android银行卡号验证算法详解
  7. java 对比度,java批改图片亮度对比度
  8. 机器学习实战-贝叶斯算法-24
  9. 积跬步以至千里_《荀子》名句76则:不积跬步,无以至千里;不积小流,无以成江海...
  10. 2019 年百度之星·程序设计大赛 - 初赛一