首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Sun提供的Java虚拟机是用Java编写的吗?是C++还是C#中的Dot Net Framework?

Java虚拟机(Java Virtual Machine,JVM)是由Sun Microsystems(现在是Oracle)开发的,它是用C++语言编写的,而不是Java或C#中的Dot Net Framework。

JVM是Java平台的核心组件之一,它负责在计算机上执行Java字节码。Java源代码首先被编译成字节码,然后由JVM解释执行或即时编译成本地机器代码。JVM提供了内存管理、垃圾回收、线程管理和安全性等功能,使得Java程序可以跨平台运行。

JVM的优势包括:

  1. 跨平台性:Java程序在不同的操作系统上运行时,只需安装对应平台的JVM即可,无需修改代码。
  2. 自动内存管理:JVM的垃圾回收机制可以自动管理内存,减少了手动内存管理的复杂性。
  3. 异常处理:JVM提供了强大的异常处理机制,可以捕获和处理程序中的异常。
  4. 动态性:JVM支持动态加载和链接,可以在运行时加载和卸载类和库。

在腾讯云的产品中,与Java虚拟机相关的产品包括云服务器(ECS)、容器服务(TKE)、函数计算(SCF)等。这些产品可以提供稳定可靠的计算资源,用于部署和运行Java应用程序。

更多关于腾讯云的Java开发相关产品和介绍,可以参考以下链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JAVAC#,武当和少林之争!

我认为更确切说法JAVA和.NET比较,而C#.NET阵营里得力干将,和VB.NET一起成为微软.NET战略左右手。 JAVAC#比较文章网上不计其数。...就我个人印象,JAVAC#就好比武当之于少林。Java如武当,特色一个“纯”字;.NET如少林,72般神技,精而且博。其实JAVAC#算是同宗,都是C++派别衍生出来。...并且那时候Unix门派众多,一个C/C++程序要提供IBM, HP, SUN, Digital,SGI以及Windows等等不同flavor版本,简直pain to the ass。...[cchere.net 西西河 Highway] .NET,以及VB.NET, C#都是全新(当然还有其他语言),在这一轮设计,微软全面借鉴了C++Java以及他们自己搞VJ++,应该说还是比较成功...如果投奔.NET,我该选择C#呢,还是VB.NET,或者其它什么? Again,正如我前面所说,Java和.NET,好比武当和少林。

2.7K100

关于跨平台一些认识

给大家讲讲软件历史上一个重大教训,大家也许就明白了。 当年为了对抗sunjava平台,微软2002年推出了类似中间件思想.NET平台(C#)。...,使用C#这种运行在虚拟机中间件语言,无论如何也达不到 C/C++语言速度。...而 CLR也是一样C#、F#、VB.NETC++、Python等几十种语言也可以运行在CLR上。...这场官司结果微软公司赔偿2000万美金给Sun公司(最终微软公司因垄断赔偿给Sun公司总金额高达10亿美元),承诺终止其Java虚拟机发展,并逐步在产品移除Java虚拟机相关功能。...具有讽刺意味,到最后在Windows XP SP3Java虚拟机被完全抹去时候,Sun公司却又到处登报希望微软公司不要这样做。

51830

Windows桌面程序开发

没有哪一种方案能够独霸 Windows,使用比较多编程语言 C++C#Java。...独立安装:Qt 程序最终会编译为本地代码,不需要其他库支撑,而 Java 要安装虚拟机C# 要安装 .NET Framework。...一句话结论:现阶段还是.NET Framework 以后.NET Core趋势 .NET 生态有三个主要高级别组件 - .NET Framework, .NET Core, 和 Xamarin。...微服务架构同样在 .NET Core 适用,它可以和不同平台服务共同工作。包括通过 .NET Framework, Java, Ruby 等语言开发。...结论 对C++开发不熟 所以C++方案就不考虑了 Java并不适合桌面开发,其它语言没用过也暂不考虑 C#Winform、WPF要想操作其它程序也需要调用DLL 和 Electron区别不大,所以还是

10.7K10

会当凌绝顶,一览众山小,宇宙第一visual studio诞生20年回顾

1998年6推出, 最后一个运行在windows 9x系统上版本, 其中visual baisic6.0 和 visual c++ 6.0时至今日还有众多开发者在使用。...此版本引入.net framework(跟Java平台相同机制),除原生c++以外,所有语言编译目标代码全是MSIL(类似于JVM上字节码)而不是原来本机码。引入全世界最好c#语言。...支持.NET Framework 2.0/3.0/3.5, 增加了大约250个新功能。这个版本vs把visual J#给废了,因为J#在各方面和C#重叠, 但C#才是真正亲儿子。...这里有必要把J++\J#\C#之间恩怨情仇讲述一下。 大概1995年左右, Java刚流行那会, sun和微软达成合作, 由微软在windows平台上对Java进行支持。..., 在功能上F#C#超集, 因此F#也是.net平台功能最强大语言。

1.6K100

DotNET介绍_dotnet 6

3、.NET Framework 指DotNET运行环境 二、C#语言 1、微软旗下一门新兴计算机语言,C#做.NET开发一种语言工具 2、C#语言一种运行在.NET Framework...我们C#语言进行开发程序。他必须基于.NET平台之下进行开发。.NET平台把C#语言翻译成机器语言。以达到计算机可以正确运行我们所写程序目的。...+诞生 SUN公司程序员詹姆斯高斯林,决定自己对C进行封装,在爪哇岛研究出第一个Java版本 SUN公司挖走了很多微软生意,Java语言开源语言,C++提倡非开源盈利性大 微软决定和SUN公司联手对...C++Java共同升级:J++ J++还未完成正式版本,两家为了Java主权打官司,SUN公司收回Java主导权,微软决定自己研究:C++++=>C# C#微软联合C++Java共同优点做出升级...公共语言运行时(CLR) 遵循公共语言架构标准,能够使C++C#、VB以及JavaScript等多种语言深度集成。CLR从某种意义上理解相当于JavaJava虚拟机(JVM)。

1.9K30

JNI和NDK区别

JNI(Java Native Interface) 平时也就是google给我们封装库,即底层实现用不是Java,但都有统一Java接口 NDK作用是“我们自己写本地代码”(C/C++...),自己JNI封装成Java接口 比如我们想做个计算,显然这不是Java强项,但可以C/C++来写实现,返回一个运算结果就行了 NDKr5已经实现了不用写一行Java代码开发程序了,只不过还是用到了虚拟机...,类似的还有微软.Net Frameworkp/invoke,可以让C#或Visual Basic.Net调用C/C++API,所以说JNI和Android没有关系,在PC上开发Java应用,如果运行在...一样,纯C/C++编写,但是Android并不支持纯C/C++编写应用,同时NDK提供库和函数功能很有限,仅仅处理些算法效率敏感 问题,所以Android123推荐初学者学好Java后再学习JNI...如果做应用开发,则需要NDK工具,不然你开发应用程序怎么给用户呢?难道帮他重新编译文件系统? 其他至于实现,java调用本地C/C++函数,及其编写方式,我觉得JNI和NDK没有什么区别。

1.3K20

Java基础篇Java开发环境搭建

现在,计算机语言仍然在不断发展,种类也相当多,比如 FORTRAN 语言, COBOL 语言,C 语言,C++C#, PASCAL,Java,Python 等等。...C 应用主要集中在 GUI(图形化界面)、游戏和多媒体工具包方面,其他地方很少用到。 C# .NET 开发平台主语言。....Java 语言底层 C++,所以 JVM C++ 语言写好一个虚拟电脑。 面向对象: Java 语言支持封装、继承、多态,面向对象编程,让程序更好达到 高内聚 , 低耦合 标准。...不同语言实现跨平台方式不同。Java 语言实现跨平台建立在 “虚拟机” 基础之上。 在 Java 出现之前,最为流行编程语言 C 和 C++。....NETC#,VB 等语言)也有虚拟机,也能实现跨平台,但是只能在 Windows 操作系统下安装.NET 环境。 C++ 不受虚拟机限制,但是需要用不同平台编译器重新编译一次。

32930

Mobius 一个运行在 .NET Core 上 .NET 运行时

当前 .NET Framework 和 .NET Core 运行时采用 C++ 编写,而 Mobius 一个使用 C# 重写 .NET 运行时,重写包括 JIT 编译和 GC 等,这些逻辑都将和...换句话不要 Native 本机代码或 C++ 代码,所有的代码都是通过 C# 编写是否有可能?这看起来一个无穷递归, .NET 写 .NET 运行时运行在 .NET 运行时上。...,最著名不过 RVM —— Java 编写 JVM 虚拟机。...虽然他需要使用 C 引导启动,但是能做到自己托管自己,完全由 Java 运行虚拟机同时不需要其他虚拟机。...我们甚至可以考虑在 Mobius 重用相同 GC 垃圾回收,所以使用 Mobius 给 .NET 应用提供对象将看起来不错。

35720

Mobius 一个运行在 .NET Core 上 .NET 运行时

当前 .NET Framework 和 .NET Core 运行时采用 C++ 编写,而 Mobius 一个使用 C# 重写 .NET 运行时,重写包括 JIT 编译和 GC 等,这些逻辑都将和...换句话不要 Native 本机代码或 C++ 代码,所有的代码都是通过 C# 编写是否有可能?这看起来一个无穷递归, .NET 写 .NET 运行时运行在 .NET 运行时上。...,最著名不过 RVM —— Java 编写 JVM 虚拟机。...虽然他需要使用 C 引导启动,但是能做到自己托管自己,完全由 Java 运行虚拟机同时不需要其他虚拟机。...我们甚至可以考虑在 Mobius 重用相同 GC 垃圾回收,所以使用 Mobius 给 .NET 应用提供对象将看起来不错。

69110

Java语言发展史

它首先将源代码编译成字节码,然后依赖各种不同平台上虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”跨平台特性。在早期JVM,这在一定程度上降低了Java程序运行效率。...这与微软公司所倡导注重精英和封闭式模式完全不同,此外,微软公司后来推出了与之竞争.NET平台以及模仿JavaC#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司产品。   ...团队最初考虑使用C++语言,但是很多成员包括Sun首席科学家比尔·乔伊,发现C++和可用API在某些方面存在很大问题。   工作小组使用嵌入式系统,可以资源极其有限。...通过JVM才能在电脑系统执行Java应用程序(Java Application),这与.Net Framework情况一样,所以电脑上没有安装JVM,那么这些程序将不能够执行。   ...之后,Java虚拟机会打开标准库,进行数据(图片、线程和网络)访问工作。主要注意,尽管已经存在一个进行代码翻译解释层,有些时候Java字节码代码还是会被JIT编译器进行二次编译。

3.6K10

C#Java

C# 原文链接:https://www.kapresoft.com/java/2023/11/29/java-vs-c-sharp-dot-net.html 原文出处|作者:kapresoft 翻译:沙漠尽头狼...LINQ(语言集成查询):允许直接 C# 编写类似 SQL 查询以进行数据操作。 动态绑定:为后期绑定提供动态关键字,增加灵活性。 异步编程:使用 async 和 await 关键字进行简化。...Java “一次编写,随处运行”理念 JVM 通用性:Java 口头禅“一次编写,随处运行”(WORA),源于它对 Java 虚拟机 (JVM) 使用。...产品高度集成应用程序,C# 和 .NET Framework 提供了优化性能和丰富功能集。...C#:.NET Framework 垫脚石 学习曲线:与 Java 相比,C# 学习曲线略陡峭,这主要是由于它与 .NET Framework 深度集成。

11010

C# 如何执行

通常我们将某种高级语言(如C、C++C#Java)转换成低级语言(汇编语言、机器语言)。...通常我们把 C#、CIL、CLR,再加上微软提供一套基础类库称为 .Net Framework。...当然 C# 现在还过得很好,因为游戏而焕发了新活力,因为 Unity3D,因为 Mono。 .Net Framework vs Mono Mono 跨平台 .Net Framework 实现。...Mono 做了一件很了不起事情,将 CLR 在所有支持平台上重新实现了一遍,将 .Net Framework 提供基础类库也重新实现了一遍。...Unity3D  C#  Unity3D 内嵌了一个 Mono 虚拟机,从上文可以知道,当实现了某个平台虚拟机,那语言就可以在该平台运行,所以,严格讲,Unity3D 通过 Mono 虚拟机

4.8K113

jni和ndk详解

C++),自己JNI封装成Java接口 比如我们想做个计算,二这不是Java强项,可以C/C++来写实现,返回一个运算结果就行了 NDKr5已经实现了不用写一行Java代码开发程序了,只不过还是用到了虚拟机...,类似的还有微软.Net Frameworkp/invoke,可以让C#或Visual Basic.Net可以调用C/C++API,所以说JNI和Android没有关系,在PC上开发Java应用...一样,纯C/C++编写,但是Android并不支持纯C/C++编写应用,同时NDK提供库和函数功能很有限,仅仅处理些算法效率敏感 问题,所以Android123推荐初学者学好Java后再学习JNI...如果做应用开发,则需要NDK工具,不然你开发应用程序怎么给用户呢?难道帮他重新编译文件系统? 其他至于实现,java调用本地C/C++函数,及其编写方式,我觉得JNI和NDK没有什么区别。...NDK提供了一系列工具,帮助开发者快速开发 C (或 C++动态库,并能自动将 so 和 java 应用一起打包成 apk 。这些工具对开发者帮助巨大

99490

443视频看完编程语言排行榜15年沉浮:Python这样上位

先来科普一下: Java最初由Sun Microsystems开发和支持,而在2010年1月Sun Microsystems由Oracle收购,因此这之后开发和支持工作由Oracle完成,Java创建宗旨...在引入.NET Framework 后,2004年,微软开放了Visual Studio 2005测试版本(代号Whidbey),包含了.NET Framework2.0测试版本有关,使用Visual...“真正程序员C++,聪明程序员Delphi”,这句话对Delphi最经典、最实在描述。...站在后人角度看当时人们对于C#语言理解还挺有意思,2006年人们对于C#语言还是充满了疑问,产生了C#与C语言区别,C#.NET前景如何诸如此类问题,同样在百度搜索引擎输入C#语言得到结果如下...C# 3.0则率先实现了LINQ语言,可以类似于SQL语句语法从一个数据源轻松地得到满足一定条件对象集合。

1.6K82

C#移动跨平台开发(2)Xamarin移动跨平台解决方案如何工作

那这里问题当我们C#编写时候,这些功能怎么去调用?C#Android 应用程序又是如何初始化?...在Java代码以native式式invoke,就像invoke其它C或者C++代码一样。   Momodroid.exe 在编译阶段会为我们C#类生成对应ACW。...Managed Callable Wrappers (MCW)   上面我们讲Dalvik 虚拟机我们C#开发Android应用程序宿主,它通过ACW来调用我们C#方法。...如果我们这个C#里面的方法涉及到一些声音或者系统本身,或者说现在已经有很多成熟Java类库,我们想调用怎么办? 答案我们再通过MCW 调回去。...Xamarin.Android Framework中有很多就是MCW,关于MCW创建以及C#Java集成开发东西我们后面再细讲,包括一个C#开发Android应用程序如何被启动,我们后面再细讲

2.6K110

Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述

Windows程序通常都用C++C#编写。   Java在服务器端编程和跨平台客户端应用领域则很有优势。 5.Java只不过另外一种程序设计语言?   ...Java一种很好程序设计语言,很多程序设计人员喜欢Java胜过C、C++C#。...但这些并不是Java成功全部原因。  6.Java专用,应该避免使用?   最初创建Java时,Sun为销售者和最终用户提供了免费许可。 ...尽管SunJava拥有最终控制权,不过在语言版本不断发展和新库设计过程还涉及很多其他公司。 虚拟机和类库源代码可以免费获得,不过仅限于查看,而不能修改和再发布。   ...7.Java解释型,因此对于关键应用程序速度太慢了?   现在Java虚拟机使用了即时编译器,因此采用Java编写“热点”代码其运行速度与C++相差无几,有些情况下甚至更快。

1.5K100

在.NET平台上运行Java程序-IKVM.NET入门

它包含了以下组建: * 一个.NET实现java虚拟机 * 一个java类库.NET实现 * 致力于在java和.NET之间交互工具 二、IKVM.NET组件 IKVM.NET包含以下部分...例如apache FOP项目一个开源XSL-FO处理器项目,它使用java语言编写用于从xml生成PDF文档。使用IKVM.NET技术,我们可以将apache FOP用在任何.NET应用。...Jlikes一个好选择,它是一个优秀开源项目,并应用在多种平台。当然Sun提供jdk也很好。 * 在Windows全局汇编缓冲区安装IKVM dll。...* 包含C#编译器(在Windows/Mono为csc)目录,通常在Windows为C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322。...* 包含java编译器(javac或者jikes)目录。 4.动态执行java应用程序 IKVM.NET包括了一个C#实现java虚拟机

2.2K50

C语言和C#语言有什么区别?【C#编程1000问】

随后操作系统发展,编程语言也随着业务发展需要而进一步开发,于是就有了C++语言。 C++语言主要增强了面向对象编程思想,而C语言面向过程开发。...通过C++语言用户信息模型化方式,更容易理解显示业务,有利于把程序做大。所以,现在有支持C++语言编写框架MFC、QT等,可以很方便地开发大型应用程序。C++开发软件程序,运行效率非常高。...为了能有更多人参与软件开发,需要将C++语言进一步简化,同时使得其中容易出错地方避免,于是我们C#语言就应运而生了。 C#编程语言被号称21世纪最重要编程语言之一。...微软他眼红了,因为编程语言市场被抢去大半,本想向当时sun公司收购Java语言,但因种种原因收购失败,一狠心,微软自己开发了与Java类似的一种编程语言,它就是C#,并且在易用性上远远优于java语言...最后,我一张图来表示一下今天讲到C、C++C#Java这四种语言。

3.5K10

C加加是否到了生死存亡时刻?不,C加加仍然在编程界任不可替代

可以这样说,基本上大型软件底层使用C或者C++开发,上层使用C#C++Java开发,这样可以导出对应版本API以提供开发者进行二次开发。...所以,对效率要求高一般C、C++混合编程,而对于网络前段和二次开发Java和.net居多。MySQLC++开发,OracleC写。 所以学习C++用途很广。...同时,Java程序员早就享受着非常好支持,SUN丰富JDK,大量活跃开源社区(比如Apache) 对Java推动也是非常明显。...举个例子,我有一次要在美国服务器上部署一个JSF编写网站,安装GlassFish失败是因为虚拟机核心线程和进程总数被限制,只能换成C++编写网站。...C++C#Java等同为面向对象高级语言不同,C#Java需要在自己虚拟平台上运行,具有较强可移植性,对系统依赖较小,但由于多了一层虚拟平台程序,执行效率较慢。

86390
领券