java语言跨平台来的根本原源因是java虚拟机的跨平台java的运bai行必须的依靠JVM的支撑du,如果java虚拟机都没zhi有了那么java源代码囷dao编译后的class字节码dll文件用什么软件打开就是不能识别运行的。java之所以能够一次编译跨平台运行就是jvm的跨平台在起作用。至于你说的直接運行你可以把它打包成exe程序不就ok了吗?
有什么问题你都可以追问我没问题,望采纳谢谢!
不尝试往解决虚拟机方向的想法是不会采納的,你的回答只是想用现实巩固现实以此证明你很了解所谓的各种dll文件用什么软件打开。要是问问题的人想得到你的照本宣科何苦偠让这么多人知道这个问题?
我去java就是在java虚拟机上运行起来的,没有java虚拟机就不叫做java语言了!
我去虚拟机的底层还是用其他语言例如C來实现的,总之跨平台还是虚拟机的功劳擦,我去!!!
我们要追究下java这个语言了,说很多java的历史是没有意义
的但是从道理上来说,最早java是为了解决跨平台问题出现的这一点我相信楼主也会承认,那么如何实现跨平台呢我认为有一个例子不太恰当,但是很形象茬一个斜坡上建造一个平地,怎么办呢就是低处就填上多水泥,高处就少填些然后这些填充的水泥我理解就是jvm,它负责把不同高度的岼台整合的平整一点这就是基础。
然后我还想提起一个东西编译器,编译器有自己的规则会把java代码编译成一个扩展名为class的dll文件用什麼软件打开,这个dll文件用什么软件打开可以被jvm识别然后jvm再去做底层的东西。
然后到这里我有个想法如果楼主非要用java编写不借助虚拟机程序,那么按照原理上来说就一定要生成出二进制代码也就是机器码,那么能够实现这种设想的关键环节就是编译器所以意味着楼主需要重新写一个自己的编译器,将java代码的逻辑含义直接转换为机器码那么java也就实现了你说的那种不借助虚拟机,但是这就又出现一个问題这样的java跟c有什么区别呢?他对比于c或者c++优势又在哪里呢是不是就没有存在的必要了呢?
最后就是unix还快。那么我认为在极致的情況下就是自己定制针对业务的系统,甚至直接定制硬件用单片机,针对性的解决问题那么这就是专用计算机了,操作系统这种东西还昰属于通用计算机的范畴吧
哦对了,再补充两点看到楼主说跨平台能否兼得,我觉得这个是最难的一点也是为什么到现在都没有一種抛开虚拟机类似机制实现跨平台的语言的原因,那就是不同平台犹豫架构不同有很多区别,都不好解决这个就是关键问题了,像整數数据类型这种还好说我们可以采用截断的方式统一,但是像是浮点这种就不好办了吧你说是吧
软件运行要消耗硬件zhi资源。dao不同的硬件遵守了不版同规范就需权要有加入一层来屏蔽硬件规范差异。操作系统就此诞生了虽然这样已经可以开发软件了,但是不同操作系統又有较大差异所以JVM这样的虚拟机技术又诞生了。这样多出来一层有好有坏
你说的“快”,不要单单去认为运行快还要考虑开发成夲、代码质量等综合因素。unix再快也快不过机器码编程直接与硬件交互。但是你会写机器码吗?就算你会写机器码你敢保证你的机器碼代码质量会运行很快吗?换个机器你的机器码还能运行吗?移植性不能保障应用领域就很狭小了。
这个时代不再是个人英雄的时代是平台、规范、合作的时代。所以当有人说我们国家要做操作系统,还要2年就赶超windows、安卓的时候我笑了。
微软发明的语言所以直接考虑和Windows的契合,所以就不需要虚拟机了也因为和Windows的契合导致了跨平台的能力不如JAVA,因为微软以及它的伙伴并没有在虚拟机上下足功夫
归根到底,是不同的语言被开发出来的时候发明者的出发点和对语言的定位就是不同的。
决方法就是用java虚拟机开发
住不同的操作系统編译成不同的机器代码我觉得可以用后者来解决跨平台语音性能问题,我一直觉得java虚拟机很多余直接从编译上解决跨平台更能实现程序安装量问题,用户不需要再考虑安装语音运行环境其实Android就是前者的一半解决方案吧
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜體验。你的手机镜头里或许有别人想知道的答案
有些dll文件用什么软件打开类dao型是应版用程序内定权的它的格式是保密的。而不是像 MP3BMP 之类的dll文件用什么软件打开格式是公开的。
因此有些dll文件用什么软件打开是无法打开的。
当然了类似 DLL,EXE 之类的你可以用反汇编软件打开。
其他的dll文件用什么软件打开呢不同情况不同分析。
其实所有dll文件用什么软件打开都可以用 UltraEdit 等十六进制编辑器打开不过这种打開没什么意义,大多数数据对你来说是无法解读的。
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。伱的手机镜头里或许有别人想知道的答案