范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

。NET与Java常见技术名词与抽象概念对照表

  虽然.NET (C#) 与Java 是两个不同的语言,但这两个都是OOP 物件导向程式架构,而且Java 出现的比较早,我们在.NET 里面也经常看到很多Java 的影子,所以其实有不少相似之处。这篇文章我打算整理一下最近的感受,把一些常见的技术名词与抽象概念做一些对照,帮助想要成为「斜杠青年」的朋友入门。
  底下有些抽象概念,必须同时写过.NET 与Java 的人才能理解,但在「斜杠」的过程中知道这些差异是有帮助的。  语言环境  相较于「应用程式」需要一个「作业系统」才能运行。这里的「执行环境」(Runtime) 从概念上来说,就像是「程式语言」的「作业系统」一般,提供程式语言所需的一切基础建设,并且帮我们把「中介码」编译成「机械码」,让应用程式得以运行在不同的CPU 架构上。在Java 与.NET 都有这样的机制。
  Java 名词  JVM (Java Virtual Machine)  .NET 名词  CLR (Common Language Runtime)
  软体开发套件(SDK)  开发应用程式肯定需要许多开发时常见的工具与基础建设,例如   编译器  (Compiler)、  分析工具  (Analyzer)、  函式库  (Libraries)、各种命令列工具等等,这些通称为Software Development Kit (SDK)。
  Java 名词  JDK (Java Development Kit)  .NET 名词  .NET SDK
  程式执行环境(Runtime)  如果你只是单纯的想执行应用程式,只要安装Runtime 即可,不用安装SDK 软体开发套件:
  Java 名词  JRE (Java Runtime Environment)  .NET 名词  .NET Runtime
  我们要执行「应用程式」的时候,需要一个   宿主  (host)才能执行,例如跑.NET 的时候,你需要先将   *.cs   编译成  *.dll   档,然后透过  dotnet   命令列工具来执行。而Java 则需要先将  *.java   编译成  *.class   档,然后透过  java   命令列工具才执行。 Java.NET  java myapp.classdotnet myapp.dlljava -jar myapp.jardotnet myapp.dll  共用类别库  无论Java 或.NET 都有相当丰富的内建API 可用,这些API 被   分类   成一个一个的   名称  ,在Java 被称为  package  (套件),在.NET 则被称为 namespace  (命名空间),你在任何一个类别中,必须先  引入  才能使用。 类型Java.NET  类别库名称JCL (Java Class Library)BCL (Base Class Library)宣告套件语法  packagenamespace  引入套件语法 importusing  类别封装  我们可以用   package   或  namespace   对类别进行分类,但是Java 与.NET 的  封装  方法就有不小的差异了。 Java.NET  一个   package   对应到一个  资料夹 ,该资料夹可以包含多个  *.java   原始档一个  namespace   可以放在专案中任意位置、宣告在任意档案,没有严格限制,因此重构时容易乱掉相同  package   下的类别可以存取在不同  *.java  原始档中的任意  private   类别相同  namespace   下的类别  不可以  存取在相同  namespace   或  *.cs   原始档中的任意  private  类别一个  *.java   原始档中,可以有多个类别,但只能有一个  public   公开类别,限制较严格一个  *.java   原始档中,可以有多个类别,也能有多个  public   公开类别一个  *.java   档只能编译成一个  *.class   类别档 无此概念 多个  *.class   类别档通常会被编译到一个  *.jar  档中 无此概念 多个  *.class   类别档可以被放置在一个  目录  下,并可透过  java   执行时使用  -classpath   指定其路径多个  *.dll   档案可以跟应用程式放在相同目录下,如果没有放在相同目录就会变的很麻烦 多个   *.java   原始档最终可以合并成一个  *.jar   档,而多个  *.cs   档最终会合并到一个  *.dll   档案,所以若以最终的结果来看, *.dll  比较接近  *.jar   的封装方式。 由于.NET 没有类似   *.jar   档的机制,通常多个  *.cs   原始档会使用「专案」进行管理,且最终会编译到一个  *.dll   档案中。因此,Java 的  *.jar   最接近.NET 的概念应该是  *.dll  档。 Java.NET说明  java myapp.java  无此用法 Java 11 开始允许不用预先编译原始码,可直接执行 java myapp.classdotnet myapp.dlljava -jar myapp.jardotnet myapp.dll  中介语言(intermediary language)  写完程式之后,无论Java 或.NET 都会将原始码编译成   中介码  (Bytecode) 型态,他其实是一种   高阶的组合语言   或称   中介语言  (intermediary language)。  Java.NET  BytecodeCIL bytecode或IL code  CIL = Common Intermediate Language  建置程式码(Build)  如果要编译单一原始码档案,使用Java 简单很多,使用.NET 就会异常复杂,微软官方也说 不打算让你这样用!  Java.NET  javac myapp.java  没人这样用 如果要编译多个原始码档案(完整专案或模组),使用JDK 就显得复杂很多,而.NET 就内建MSBuild 让你使用,整件事变的异常轻松!  Java.NET  javac @filelist -sourcepath src -d bindotnet build  (但你先要有  *.csproj   专案档才行) 由于JDK 并没有内建好用的专案建置工具(Build Tool),但是要「自制建置工具」其实还蛮简单的,理论上你只要先把「档案清单」收集好,任何Java 专案你都能建置才对。然而大部分的Java 开发者都会依赖开发工具内建的Build Tool 来使用,不然就是使用Maven或Gradle等建置工具。  专案范本(Project Templates)  .NET 在这方面做得相当好,而Java 阵营的人主要还是靠开发工具提供此功能,或是Maven也有提供  Java.NET  没有这玩意  dotnet new -l  没有这玩意 dotnet new console -n c1  如果用Maven 的专案产生器(   archetype  ),可以参考以下范例,指令超长,完全没有DX 可言:sweat_smile: mvn org   .apache .maven .plugins   :maven-archetype-plugin:  3   .1 .2   :  generate   -DarchetypeArtifactId=  "spring-boot-blank-archetype"   -DarchetypeGroupId=  "am.ik.archetype"   -DarchetypeVersion=  "1.0.6"   -DgroupId=  "com.duotify"   -DartifactId=  "demo2"  专案与模组(Projects and Modules).NET 使用 专案(Project) 这个名词,代表一种比 *.dll  还高一个阶层的封装。而在Visual Studio 开发工具下,多个专案 还可以透过 方案(Solution)进行管理。由于Java 8 以前并没有什么 专案 的概念,但从Java 9 新推出一个 模组(Modules) 系统,简称JPMS ( Java 9 Platform Module System ),所做到的事情,就跟.NET 的 专案 架构相当类似,但我认为 JPMS  更像是.NET 的NuGet套件,不过概念上确实没办法100% 对应。你可以透过以下指令列出JDK 内建的模组清单:java   --list-modules  其实「模组」本身就是个相当抽象的概念,在Java 世界里,不同的开发工具都有各自的「模组」定义,所以其实初学者很容易搞混这个概念。我以IntelliJ IDEA 为例,在新增Module 的时候,竟然就有 5  种不同概念。但其实你可以把他统合为一个简单的概念,那就是 专案!
  我们一个Repo 里面,可以有多个 pom.xml  档,代表多个不同的专案。然后你可以从另一个没有使用Build Tool 的 资料夹(也可以当成一个 专案 看待),加入这个 pom.xml  当成参考来源,IntelliJ IDEA 就会自动帮你合并起来,建置的时候自动帮你加入 -classpath  参数,如此而已。IntelliJ IDEA 的 Add Modules  比较像是 VS2022 里面的 Add Reference > Projects  功能。IntelliJ IDEA 的 Libraries  就比较像是 VS2022 里面的 Add Reference > Assemblies  功能。IntelliJ IDEA 的Facets则是快速加入一个Framework (框架) 功能,这个功能的背后,其实也只是帮你加入 Modules  或 Libraries  而已,有点类似Visual Studio 2022 里面 Manage NuGet Packages  的安装NuGet 套件功能,因为.NET 在新增NuGet 套件的时候,也能自动调整 目录结构 与 设定档内容,因此功能相当类似。

赵本山女儿婚纱照曝光,造型高贵,老公壮硕但眼神没有爱意婚纱照对于我们来讲是有着极大纪念意义的一种东西,所以别人在拍婚纱照的时候也十分的谨慎。所选择的风格和服装的款式都是基于个人的爱好,符合个人的气质所打造的,所呈现出来的也是男女之间的外媒曝小罗伯特唐尼将回归复联6,三虫爆料人证实传闻为真10月18日,根据多家外媒报道,传闻漫威电影角色钢铁侠的饰演者小罗伯特唐尼将会回归复仇者联盟6秘密战争。此传闻是由某内部神秘人士提供,此博主这些年经常传出小道消息,很多传言后来都得外眼看二十大国际社会关注中国政策走向及对世界的影响中国网10月18日讯(记者李智)10月16日,中国共产党第二十次全国代表大会开幕,习近平代表第十九届中央委员会向大会作报告。报告引发国际舆论高度关注。老挝人民报刊文称,中共二十大盛姑娘旅游遇婚礼,随礼200元吃当地美食转自齐鲁晚报去旅行,怎么体验地道的风土人情和美食?有个社牛网友的玩法让人大开眼界随机参加一场本地婚礼国庆节期间,洪女士和妹妹去广西柳州旅游的,据介绍,她是湖南人,常年在深圳生活。此以中国式现代化全面推进中华民族伟大复兴党的二十大代表讨论二十大报告中央纪委国家监委网站瞿芃黄秋霞习近平总书记在党的二十大报告中强调,从现在起,中国共产党的中心任务就是团结带领全国各族人民全面建成社会主义现代化强国实现第二个百年奋斗目标,以中国式现AlexandraDaddario出席电影活动晚会,一袭白色连衣裙典雅高贵近日,美国洛杉矶,亚历山德拉达达里奥(AlexandraDaddario)出席第二届奥斯卡电影博物馆开幕晚会。当天,她一袭白色连衣裙典雅高贵,她的妆容精致很迷人。亚历山德拉达达里奥魅族19X悉数曝光,采用16G512G5500mAh高配置,黄章开始反击在很多人心中,现在的魅族已经被放到小品牌位置,从销量和热度上看这也没啥问题,对比起小米OV荣耀华为等,魅族确实可以用小来形容了。不过如果对魅族品牌比较了解的话,你会发现它当初确实很尹锡悦道歉韩国多个网络平台瘫痪,尹锡悦道歉,要求相关部门查明事故原因韩国SK公司CC板桥数据中心15日发生火灾,导致包括韩国国民聊天工具KakaoTalk在内的多个网络平台服务中断。16日,苹果将为五款奔驰汽车提供音频支持苹果和梅赛德斯奔驰今天宣布,苹果音乐的空间音频功能与杜比Atmos的本地支持正在全球范围内推出梅赛德斯奔驰汽车,包括最新的梅赛德斯迈巴赫EQSEQSSUVEQE和s级车型。空间音频张磊谈创业我见过很多创业者都失败,唯独坚持不做3件事才存活创业很多打工人都有的想法,特别是这个充满着浮躁焦虑的社会,随着年龄的增长,物价的飞涨,开销日益增加却工资一直不涨,加上年级大了工作,很多公司不欢迎老人,所以便有自己创业的想法。创业吉利博越L靠单目摄像头就实现高速NOA,三目的蔚小理尴尬吗?高速NOA领航功能,此前都是蔚小理特斯拉等新势力们的专属功能,至少需要20万的价格才能体验到这类功能,如果15万以内就能体验到,那是不是就太香了?如果说再给了你带高通8155芯片的
助听器的日常保养防潮洗头洗澡时不能佩戴助听器游泳时不戴助听器,助听器不能直接接触雨水切勿用高温烘干,避免阳光直接照射汗水较多时,可用干布擦拭助听器上的汗水,清除水滴,否则会影响声音质量(冬天,室内跟随他的镜头,揭开时装秀后台不为人知的一面模特ErinOConner身着Dior2004秋冬系列出现在后台的货梯旁,这件裙装重达40公斤,最终因体量过大没能出现在T台上,摄影RobertFairer。或许你并不熟悉Robe继苹果A16芯片失败后,A17走节能路线No。1,众所周知,iPhone14系列上的A16芯片的性能表现令人不满,相比A15提升很小,有的方面甚至开倒车,这于前段时间苹果硬件部门动荡大量核心人员离职有关。近期有爆料称苹果大家都是1英寸动手吧!vivoX90Pro对小米12SUltra对于现在的手机摄影功能,注意是摄影功能,直白一点说就是拍照,我一直认为华为vivo小米是我用着最得劲的!所以此前我也说了这三家品牌就是我心中的手机影像御三家。从标题解读大家就发现了自家对打!RedmiK60和RedmiK60Pro要怎么选?看完你就知道答案文手机技巧库12月27日,Redmi召开了2023早春新品发布会,在此发布了RedmiK60系列,一共包括RedmiK60ERedmiK60RedmiK60Pro三款机型。其中K6悬浮设计,170Hz高刷,优派VX2781PRO显示器体验目前显示器屏幕的刷新率越来越高,144Hz也成为了显示器的标配,高刷新率的显示器其高昂的价格也是土豪专属,近日优派推出了一款高颜值显示器,采用了电竞主打的FastIPS面板,具备了我有一个朋友活动首期魅友登场!曹操出行CEO阐述热爱无界说到用户至上这个概念,相信大多数人这几年应该经常听闻,尤其是竞争激烈的国产手机行业,但要说这当中哪家将这一概念体现到了极致,那魅族必然榜上有名。像是近期各家都忙着举办新品发布会年终联想TabExtreme平板曝光四窄边框设计内置天玑900012月30日消息,联想最近准备推出一款高端平板电脑,名为联想TabExtreme,爆料人EvanBlass给大家带来了这款平板的外观图片。可以看出,联想TabExtreme正面采用满天星行动计划第二批重大项目签约,拓维信息将在重庆成立全国软件技术服务总部12月28日,重庆市软件和信息服务业满天星行动计划第二批重大项目举行专场签约仪式。此次签约共涉及拓维信息等20家企业,涵盖大数据云计算人工智能车联网物联网智能制造智慧城市等领域,签预算2000拿下旗舰水桶机?2K屏顶级处理器,红米真会玩RedmiK60在不久前已经正式发布了,可能还有人还在犹豫准备再挑选看看有没有适合自己的机型。但就我个人的建议来说,RedmiK60可以说是目前搭载骁龙8处理器的旗舰机中性价比最高阳康后你的体力还是不如从前?原因在这里很多人阳康后,觉得自己的体力还是没有恢复过来走几步路就气喘吁吁晚睡一会儿心脏就怦怦跳手上使不出劲儿,提不住重物问题出在哪里了?明明核酸已经转阴了啊答案在这里感染新冠后大部分人因为高