java虚拟机的特性,java虚拟机的特性有哪些

作者:高方托管网 2024-09-09 03:03:27 0

大家好,今天小编关注到一个比较有意思的话题,就是关于java虚拟机的特性的问题,于是小编就整理了2个相关介绍java虚拟机的特性的解答,让我们一起看看吧。

什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

JAVA虚拟机,俗称JVM(JAVA Virtual Machine)!是运行JAVA代码的抽象计算机!

java虚拟机的特性,java虚拟机的特性有哪些

我们知道JAVA最重要的特性就是跨平台,借此能让JAVA运行在智能手表,手机,游戏机,电脑等大部分的平台上,其原因就是因为JAVA源码运行在JVM中,JVM提供了跨平台实现!

为什么JAVA能跨平台?不同的操作系统会有不同的指令集,将高级编程语言转化为汇编语言,进一步的解释为只有0和1机器码由操作系统执行,而JAVA官方根据不同的操作系统定制了一套不同的JVM,能把相同的源码根据不同的指令集解释为不同的机器码以执行!真正实现了与平台无关,让JAVA开发者脱离底层的语言开发,而专注于业务应用开发!

JVM模拟了一套硬件计算机环境,有一套自己的字节码指令集,堆,栈,方法区,包括寄存器等!

在JAVA类加载和运行的时候,会把对象引用,实例对象,静态变量,方法,类等放入不同的区域,提供运行计算式快速的存取数据!

区别于大部分其他的语言,JAVA封装了对于内存的管理,通过提供的垃圾算法(标记清除,标记整理,复制算法等)对内存自动进行回收!

关于JVM的垃圾收集器,内部回收算法,JVM如何运行等,市面上有大量的书籍,因为JVM与运行效率,吞吐量,高并发等息息相关,所以通常为JAVA技术面试的必问知识点,值得大家用功掌握,更多的技术分享,敬请关注。。

就是把JAVA字节码解释为机器语言的解释器,JAVA虽然编译成了字节码,但机器不能识别,还要进一步解释为机器码才能执行。这个算不上虚拟机,就是个解释器。和VB PHP这类解释器没有分别。不同平台使用不同解释器就能跨平台了。

Java开发有什么特点吗?

1.Java主要面向web开发(行业软件),以目前行业中的编程语言来说,Java更适合大型企业行业专用的web端软件系统。不是说Java不能做互联网开发,也不是说不适合,只是有更适合互联网开发的语言而已,例如go语言。

2.Java是高级语言,是强类型语言,需要编译成二进制后才能运行。

3.面向对象是Java的核心内容,无论你后期学习框架遇到了面向切面,面向服务等,其核心都离不开Java的面向对象,面向对象很好理解,一通百通。

4.目前使用Java开发大型行业软件多数会用到spring框架,而且Java的开源第三方框架多如牛毛,同类型的轮子数不胜数,学习JavaSE和JVM后真正开发时就会使用各种各样的框架,学到中期就是组装各种框架然后实现代码,但是你会发现学到后期又会回到JVM和Java基础,此时你会发现自己当初学的Java基础根本啥也不是。

5.Java程序员大都是阿里系,但也不要盲目相信阿里系开发的开源框架,很多个人开发的框架或者一些自媒体发布的阿里系框架有的真不如非阿里系开发的框架好用,举个明显的例子,easyexcel和easypoi,两者我都用过,明显后者功能更丰富,且灵活性和可扩展性更好,开源框架很多,适合自己的才是最好的。

最后要说的是,目前只会一种开发语言的程序员在电视剧里活不过第二集,在公司也活不过两年,作为合格的Java程序员,至少要精通Java,然后需要会JS,数据库,网络协议等周边知识。最好再学点其他语言,例如go语言,python语言,可以拓展自己的思路,防止自己禁锢在Java开发的井底中。

应用软件系统可划分两大分支,一是互联网应用,二是行业软件应用,先确认两者分支后,再来说开发语言所适合的领域或方向,从一个开发者角度看Java开发主要可体现如下特点:

1.Java主要面向web开发(行业软件),以目前行业中的编程语言来说,Java更适合大型企业行业专用的web端软件系统。不是说Java不能做互联网开发,也不是说不适合,只是有更适合互联网开发的语言而已,例如go语言。

2.Java是高级语言,是强类型语言,需要编译成二进制后才能运行。

3.面向对象是Java的核心内容,无论你后期学习框架遇到了面向切面,面向服务等,其核心都离不开Java的面向对象,面向对象很好理解,一通百通。

4.目前使用Java开发大型行业软件多数会用到spring框架,而且Java的开源第三方框架多如牛毛,同类型的轮子数不胜数,学习JavaSE和JVM后真正开发时就会使用各种各样的框架,学到中期就是组装各种框架然后实现代码,但是你会发现学到后期又会回到JVM和Java基础,此时你会发现自己当初学的Java基础根本啥也不是。

5.Java程序员大都是阿里系,但也不要盲目相信阿里系开发的开源框架,很多个人开发的框架或者一些自媒体发布的阿里系框架有的真不如非阿里系开发的框架好用,举个明显的例子,easyexcel和easypoi,两者我都用过,明显后者功能更丰富,且灵活性和可扩展性更好,开源框架很多,适合自己的才是最好的。

最后要说的是,目前只会一种开发语言的程序员在电视剧里活不过第二集,在公司也活不过两年,作为合格的Java程序员,至少要精通Java,然后需要会JS,数据库,网络协议等周边知识。最好再学点其他语言,例如go语言,python语言,可以拓展自己的思路,防止自己禁锢在Java开发的井底中。

到此,以上就是小编对于java虚拟机的特性的问题就介绍到这了,希望介绍关于java虚拟机的特性的2点解答对大家有用。

相关推荐