大家好,今天小编关注到一个比较有意思的话题,就是关于java平台只能用Java语言的问题,于是小编就整理了5个相关介绍JAVA平台只能用j***a语言的解答,让我们一起看看吧。
- 为什么很多人说学JAVA必需先学C语言?
- 为什么安卓不去掉Java语言底层?
- Java编程语言是电子商务的首选语言吗?
- java程序员需不需要学其他语言?
- Java可以像C++内嵌汇编语言一样,内嵌Java字节码吗?
为什么很多人说学J***A必需先学C语言?
其实C和J***A并无直接的关系,但是如果时间足够的话,可以学习C语言,像C,C#,C++,j***a等,虽然并无直接的关系,但是学习完一门编程语言,再去学其他语言,会更轻松,理解更深。
为什么安卓不去掉J***a语言底层?
这就是历史的选择,当年Android为了拉拢更多的开发者建立生态选择了J***a语言,现在全套API和设计以及生态都在这个环境下,即使把J***a语言换成Kotlin兼容性这么高的操作,要普及所有app可能还要几年,更别说另起炉灶把现在的开发者全部抛弃掉。
此外,我认为Android出现“卡”的问题,一方面是UI层面对物理模拟的高性能API提供不足,导致很多效果动画需要开发者自己实现。另一方面是开发者不按标准开发程序,都想在后台占用CPU导致的。从绝对性能来看,Android机型的CPU性能也是不如同时期iOS设备的。
而题主认为去掉J***a的整套Runtime就能提高性能我认为也是不成立或是弊大于利的。从软件优化角度来讲,这套VM运行环境性能也没有想象的弱,在Server级别,现在普通开发者开发的J***a程序不考虑内存占用的话,不一定比水平一般cpp开发者写的程序性能弱,对于GC算法,目前也有低延迟的算法可供提供和推广。目前Android设备普遍内存较大,对VM可能多占用的内存也有很好的补充。
退一万步说,程序中真的存在某一块计算密集型的程序造成的热点且在J***a层面不可能优化的话,开发者也可以提供native的高性能模块供J***a层调用。事实上,考虑到增加反编译的门槛和难度以及跨平台的复用性,目前很多App的核心模块都是native实现,您可以随便解包一个apk软件,您可以发现大多数App都提供了跨多个CPU的so库,这些库模块就是开发者针对该App的native代码编译后的结果(这些文件类似于Windows上的dll文件)。
J***a编程语言是电子商务的首选语言吗?
J***a在电子商务开发中相较其他的语言的优势在于:J***a语言本身具有跨平台型,容易部署,早期的J***a语法简单,易于学习;J***a框架,J***a有各种成熟的开源框架。我并不是说其他语言就不好,每个语言都有它能最好匹配的东西,在开发的时候只有合不合适。
如果是新建网站,php或者asp.net是首选,要不就会因为你用j***a,人力成本压死你,而前两者,开发迅速,运维简单,成本低,一两个人就撑起网站技术的摊子,比你使用一个小团队才能让j***a开发顺畅容易的多,所以创业期用j***a是个失败的策略
j***a程序员需不需要学其他语言?
一个体系里面肯定需要各种开发语言,就j***aweb体系,需要j***a,html,css,js等等,在满足现有体系所需的各种需要之后,可以再去学习其他热门的需要,具体学啥根据个人需求。但一定要有主次之分,主的一定要学精,次的可以先做了解,等你有足够的时间和精力之后可以深入学习和掌握。
J***a可以像C++内嵌汇编语言一样,内嵌J***a字节码吗?
谢谢邀请!
J***a语言不提供像C的内联汇编一般的源码内嵌字节码的功能。
同时,虽然J***a字节码能比J***a语言稍微多做一些事情,但在性能方面没有什么是用字节码能达到而J***a源码做不到的。J***a字节码基本上可以看作J***a语言的抽象语法树(AST)的[_a***_]化形式,两者的抽象程度差别不大。
题主有兴趣的话可以试试给出一些题主认为内嵌字节码能带来性能优势的例子,我可以试试把它们表达为等价的J***a源码。
关于字节码到源码的对应关系,请参考另一个回答:如何理解ByteCode、IL、汇编等底层语言与上层语言的对应关系? - RednaxelaFX 的回答
到此,以上就是小编对于j***a平台只能用j***a语言的问题就介绍到这了,希望介绍关于j***a平台只能用j***a语言的5点解答对大家有用。