java面试宝典APP(java基础面试题及答案)

Java程序员面试过程中少不了专业上的考试,那么面试过程中面试官会问些什么问题呢?接下来黑马君带你一起来进入面试环节!Java开发实用的面试题及参考答案1、进程,线程,协程之间的区别是什么?简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有

Java程序员面试过程中少不了专业上的考试,那么面试过程中面试官会问些什么问题呢?接下来黑马君带你一起来进入面试环节!

Java开发实用的面试题及参考答案

1、进程,线程,协程之间的区别是什么?

简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一进程中的多个线程之间可以并发执行。

2、你了解守护线程吗?它和非守护线程有什么区别?

程序运行完毕,jvm会等待非守护线程完成后关闭,但是jvm不会等待守护线程。守护线程最典型的例子就是GC线程。

3、什么是多线程上下文切换?

多线程的上下文切换是指CPU控制权由一个已经正在运行的线程切换到另外一个就绪并等待获取CPU执行权的线程的过程。

4、创建两种线程的方式?他们有什么区别?

通过实现java.lang.Runnable或者通过扩展java.lang.Thread类。相比扩展Thread,实现Runnable接口可能更优.原因有二:Java不支持多继承。因此扩展Thread类就代表这个子类不能扩展其他类。而实现Runnable接口的类还可能扩展另一个类。类可能只要求可执行即可,因此继承整个Thread类的开销过大。

5、Thread类中的start()和run()方法有什么区别?

start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。

6、怎么检测一个线程是否持有对象监视器?

Thread类提供了一个holdsLock(Object obj)方法,当且仅当对象obj的监视器被某条线程持有的时候才会返回true,注意这是一个static方法,这意味着”某条线程”指的是当前线程。

7、你知道哪些垃圾回收算法?

垃圾回收从理论上非常容易理解,具体的方法有以下几种:

1. 标记-清除

2. 标记-复制

3. 标记-整理

4. 分代回收

java面试宝典APP(java基础面试题及答案)

8、如何判断一个对象是否应该被回收?

这就是所谓的对象存活性判断,常用的方法有两种:1.引用计数法; 2.对象可达性分析。由于引用计数法存在互相引用导致无法进行GC的问题,所以目前JVM虚拟机多使用对象可达性分析算法。

9、调用System.gc()会发生什么?

通知GC开始工作,但是GC真正开始的时间不确定。

10、64位的JVM当中,int的长度是多少?

Java 中,int 类型变量的长度是一个固定值,与平台无关,都是 32 位。意思就是说,在 32 位 和 64 位 的Java 虚拟机中,int 类型的长度是相同的。

11、int和Integer的区别?

Integer是int的包装类型,在拆箱和装箱中,二者自动转换。int是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象。

12、int 和Integer谁占用的内存更多?

Integer 对象会占用更多的内存。Integer是一个对象,需要存储对象的元数据。但是 int 是一个原始类型的数据,所以占用的空间更少。

13、String, StringBuffer和StringBuilder区别?

String是字符串常量,final修饰:StringBuffer字符串变量(线程安全);

StringBuilder 字符串变量(线程不安全)。

14、java当中使用什么类型表示价格比较好?

如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型。

15、如何将byte转为String?

可以使用 String 接收 byte[] 参数的构造器来进行转换,需要注意的点是要使用的正确的编码,否则会使用平台默认编码,这个编码可能跟原来的编码相同,也可能不同。

16、可以将int强转为byte类型么?会产生什么问题?

我们可以做强制转换,但是Java中int是32位的而byte是8 位的,所以,如果强制转化int类型的高24位将会被丢弃,byte 类型的范围是从-128到128。

以上就是黑马君为大家整理的Java开发实用的面试题及参考答案分享内容,希望可以帮到即将面临面试的小伙伴们!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/21109.html

(0)
nan
上一篇 2021-09-04
下一篇 2021-09-04

相关推荐

  • 事业单位辞职最新规定(事业单位辞职的过来人)

    最近成都四天一闷三天一晒,热的整个人都要化了。在这个滚烫的季节,高考中考毕业季,定时定期千万嗷嗷待哺的学子,渴求进入理想的学业殿堂。同样还是集中考试的6月,在容易被人忽视的角落,还有几千万的“备考君”,在渴望上岸的边缘,冒着自己的泪花花

    2021-12-12 科技
    0
  • 怎么激活win7系统操作图解(win7激活吧方法详解)

    目前,Windows7系统仍然受到很多人的喜爱,并且大多数用户是工作组。良好的用户体验通常会赢得人们的青睐。但是在使用过程中,由于系统未激活,我们经常会感到苦恼,因此,系统总裁官网小编将教您如何激活win7系统。1)首先,我们需要

    2021-12-11 科技
    0
  • 电脑里回收站打不开怎么办(回收站打不开)

    电脑回收站打不开,下面,小编给大家介绍电脑回收站打不开的处理步骤。在电脑,删除文件或程序的时候,都会暂时存放到回收站,也可以方便我们迅速恢复,然而有用户发现,想要打开回收站恢复一些文件的时候,发现无法打开回收站?下面,小编给大家聊聊电脑

    2021-12-11 科技
    0
  • 一句简短的雪景句子(形容雪景的优美句子)

    天一冷就想等一场雪,很小的雪,可以落下彩虹;很大的雪,可以掩盖记忆。和大家分享描写冬天下雪的短句,发朋友圈配雪景的走心说说句子。描写冬天下雪的优美句子1、看啊,下雪了!每一片雪花都轻柔地盘旋着落下,成了大地上一层雪的一小部分,每一片雪花又汇

    2021-12-12
    0
  • linux查看内存使用情况的命令有哪些(linux查看内存泄露工具推荐)

    概述可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:1、toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似

    2021-09-04
    0
  • 电脑结束进程快捷键怎么操作(电脑推出程序快捷键)

    相信大家都遇到程序卡死的情况,那么在程序卡死的时候windows系统是不会强制关闭的进程的,他只会等待程序响应或者寻找解决办法,而往往这就没了头,有很多用户问结束进程快捷键是什么?下面,给大家带来了电脑结束进程快捷键的解决图文。快捷键如

    2021-12-11
    0

发表回复

登录后才能评论