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

没了IDE,你的Java项目还能Run起来吗

  计算机只能识别机器码0101...编程语言->能执行的机器码 需要经过 预处理->编译->汇编->链接->机器码过程。一个语言处理系统的示意图如下:
  编译器 是将源语言程序一次性翻译成一个等价的,用目标语言编写的程序。还存在另一种常见的语言处理器,解释器:它是逐个语句的执行源语言程序。由一个编译器产生的目标语言程序通常比一个解释器快,但解释器的错误诊断效果通常更好。
  Java语言处理器结合了编译和解释的过程。一个.Java源程序首先被编译为.class字节码文件,被加载到虚拟机中,然后由虚拟机将字节码翻译成机器码。
  虚拟机的好处在于:一旦一个程序被转换成 Java 字节码,那么它便可以在不同平台上的虚拟机实现里运行。实现一次编写,到处运行。另外一个好处是它带来了一个托管环境。这个托管环境能够代替我们处理一些代码中冗长而且容易出错的部分,如自动内存管理与垃圾回收。
  在Hotspot中,虚拟机翻译字节码有两种方式:
  1.解释执行 即逐条将字节码翻译成机器码并执行。
  2.即时编译 即将一个方法中包含的所有字节码编译成机器码后再执行。
  前者的优势在于无需等待编译,而后者的优势在于实际运行速度更快。HotSpot 默认采用混合模式,综合了解释执行和即时编译两者的优点。它会先解释执行字节码,而后将其中反复执行的热点代码,以方法为单位进行即时编译。
  即时编译建立在程序符合二八定律的假设上,也就是百分之二十的代码占据了百分之八十的计算资源。
  好了,装X结束。
  阿姨知道的编译知识全在上面了…(っ╥╯﹏╰╥c)
  如题,下面我们来看一下让Java项目运行起来我们能做什么。
  我们能做的很简单,当然不是写虚拟机。我们只需要:
  1.执行command javac,将.Java文件变为.class文件。 2.执行command java,让.class文件运行起来。
  也就是 执行command :)Java程序的运行方式
  Java程序可以通过java命令运行.class文件或运行可执行Jar文件。 我们先看第一种方式:从Hello World开始。运行.class文件
  Step1:编写Java文件
  Step2:执行 command javac
  将.Java文件变为.class文件
  小贴士:class文件的全路径名是包名目录+ 类文件名。
  Step3:执行 command java
  运行.class文件
  神奇,我们没有用IDE让Java程序运行起来了 :)
  小伙伴先别喷老阿姨,哪特么有这么简单的Java项目啊…我们工作中用的明明都是Jar文件啊... Jar文件咋运行啊!!
  运行可执行Jar文件
  Jar文件是基于ZIP文件格式的一种文件格式,它将大量的Java类文件、相关的元数据和资源(文本、图片等)文件聚合到一个Jar文件中,此外还包含一个可选的META-INF文件夹。这个文件夹下的文件或文件夹主要用来打包和扩展配置信息,包括安全,版本,扩展程序和服务等。如MANIFEST.MF文件定义了扩展和打包的相关数据信息。 一个Jar文件通常在项目中用作第三方类库使用,也是项目构建的一部分。
  生成一个Jar文件大致分为两步:
  1.将源文件编译为.class文件
  2.通过 command jar命令将.class文件,资源文件等等打成一个文件格式的Jar文件。
  我们以一个SbDemo项目为例来看Jar文件的打包和运行。项目目录结构如下:
  Test2.java中调用了Test1.java的方法,
  我们需要先将Test1.java编译并打成一个Test1.jar文件,然后通过Test1.jar将Test2.java编译并打成一个可执行的Test2.jar文件。
  可执行和不可执行的Jar文件 区别在于是否在Jar文件中指定了main方法的入口,我们后面再看。
  Step1:Test1.java的编译
  Step2:将编译后的classes/com/Test1.class文件打成一个Test1.jar包
  Java中和jar包相关的命令是jar命令,生成一个jar包我们需要定义信息文件(manifest-file),它可以定义所生成jar包的classpath类搜索路径,jar包的入口类等等。可以理解为与Jar包相关的元数据配置信息。 Step2.1 书写信息文件 这里我们使用resources/manifest-test1.text文件作为信息文件
  是的,Test1.java太简单了,就是打成一个可被他人引用的jar包,信息文件不重要。 Step2.2 执行打包命令
  Step3. 编译Test2.java文件 因为Test2.java中引用了com.Test1类,所以我们需要在编译时指定Classpath路径。 Classpath:顾名思义,是指待编译类依赖的类所在路径位置。我们可以通过 javac 的 -cp 参数指定。 关于编译时classpath的值优先级如下:如果没有传入classpath参数,将使用环境变量CLASSPATH的值。(小伙伴不知道环境变量咋查看和设置?去看阿姨的上一篇文章:)如果没有发现环境变量CLASSPATH,将使用 执行命令的当前文件夹(.)。如果javac命令行 通过-classpath or -cp参数指定了类路径值,则优先级最高。
  这里我们使用-cp指定Test1.jar所在位置
  可以看到classes目录下已经生成了com2/Test2.class文件了。
  Step4. 将编译后的Test2.class和它依赖的Test1.jar一起打成一个可执行的Jar包 Step4.1 书写信息文件 这时候我们使用信息文件resources/manifest-test2.text文件指定这些信息
  Step4.2 执行Jar包生成命令
  可以看到在lib目录下生成了Test2.jar
  Step5.运行我们的可执行Jar
  大功告成了,我们的SbDemo项目Run起来了...
  当然实际项目不可能人肉编译,打包。我们需要通过Maven/Gradle等构建工具,帮助我们管理代码之间的Jar包依赖,构建,部署...我们可能大多时候通过点一下IDE就托管了Maven的构建部署命令。
  拿Maven举例子,Maven首先定义了一套项目结构,我们按照它的结构书写代码,引入各个模块所需要的Jar包依赖。然后Maven可以通过自己的生命周期管理项目的清理,构建,打包,部署阶段。每个阶段有对应的Maven插件执行相应的目标。IDE又整合了Maven,使我们通过点吧点吧按钮就完成了项目的运行。
  但是当一个项目并没有按照规范的构建工具结构搭建,或者项目没有成功运行报错时,了解Java实际的编译运行过程会对理解、解决这类问题有所帮助。
  作者:Monica2333
  链接:https://juejin.im/post/5edf99606fb9a047aa6603cd

400元国产魔改笔记本酷睿I7处理器量产!支持100元2400双通道内存华强北黑科技的国产魔改笔记本处理器基本已经发展到了最终阶段,说人话就是,BETA版基本结束,正式版最终版成型。有趣的是,这种BETA的过程是相当简单粗暴的,完全是因为性价比过高,而1000元英特尔酷睿11代I9处理器细节曝光!利用BUG获得免费高性能前面必须要说的话INTEL酷睿11代处理器匆忙上市,相关配套和BIOS紧赶慢赶,相对于以前的INTEL处理器而言,这代可以说是迷雾重重1,AMD锐龙五代处理器上市各种BUG不断,大为了200元的AMD处理器跟官方硬掰手腕?利用BUG破解超频今天文章的主角,就是最新版本的200GE处理器了,双十一之前的硬件价格各种成迷,魔改君也是忙的要死。其实本来就不怎么关注各种活动各种价格,相反比较关心产品本身的产品力。送大家几句实16GDDR3内存仅135元?奇葩电脑主机不到600元吃鸡今天的文章大概就是收尾了,起码不会继续花费更大的精力去摆弄这些英特尔笔记本魔改神U了一,来自粉丝的报告上面就是前几天把玩的QL3X映泰的H110MDPRO一套了,粉丝也是一边玩玩,科目一交规知识速记口诀,简单好记不会忘,留着备用考驾照的朋友都知道,交规知识不仅多而且杂,完全靠死记硬背也需要花费大量的时间。虽然通过做模拟课题练习能提高记忆,但是动辄上千道题目也让人头皮发麻。其实很多交规知识考试都是有规律可循汽车保养很简单,但若你用车习惯不好,花钱大修也是常有的事都说汽车是三分开七分养,很多老司机不以为然,经常嘲讽爱车人士,认为汽车买来就是开的,简单保养就可以了,没必要在意用车细节,网上所谓的汽车保养知识就是忽悠小白的。对于这一类的置评,我乳业市场或迎变革简爱酸奶夏海通以品质缔造安心蓝图随着人们健康观念的提升,低糖无糖需求在奶类消费中的占比开始不断扩大。据广发证券研究报告显示,仅在20122018年间,全球无糖低糖产品数量的平均年复合增长率就达到了16,其中亚太地大数据时代,这些举动已泄露隐私!常见错误操作盘点,你中招没随着信息化时代的来临,依靠大数据推算俨然已成为各大平台营利的一种方式。但任何事物都有正反两面,大数据推动各行各业的发展,了解消费结构层次,让购物更加精准便捷,可以说大数量一定程度的鸿星尔克再添新话题,这一次与消费者携手共创品牌引言时值国庆黄金周,在疫情常态化的背景下,国内各大实体行业的营业也迎来一波小高峰,诸多品牌选择在国庆假期开业新店,迎合国内日趋复苏的消费需求。与此同时,伴随国民经济水平的提升,对于首发骁龙865顶级2K屏,你能想象小米11只要3999元?时隔多月,我们在年底之前迎来了小米11,作为小米冲击高端的第二部数字旗舰,它到底有何特色呢?很简单,一个首发搭载并长期占有骁龙888的优点,便足以让小米11成为大家的过年礼,这就完青春当燃勇敢出发自由式滑雪运动员谷爱凌成为凯迪拉克品牌代言人(2021年9月3日,上海)今日,上汽通用汽车凯迪拉克品牌宣布,自由式滑雪运动员谷爱凌出任凯迪拉克品牌代言人。同一天,刚过完成人礼生日的谷爱凌,也迎来了人生中第一台凯迪拉克专属座驾
为什么荣耀oppo的折叠屏刚开卖就溢价了?泻药,荣耀MagicV折叠屏手机溢价其实是必然的事,主要有两个原因。一个是产品力确实很足,不仅是首款骁龙8折叠屏手机,而且还有66W快充4800mAh电池120Hz屏幕等配置。第二折叠屏手机两重天荣耀溢价6000元抢破头,小米腰斩无人问本文来源时代财经作者徐丹图源荣耀官网2022年,国产手机卷到了折叠屏领域。这两年OPPO小米华为荣耀各大手机品牌都先后发布了自家的折叠屏手机,只有vivo尚未入局。业内消息称,vi苹果手机的隔空投送怎么使用?苹果手机的隔空投送功能,是ios升级到11。2后才有的中文名称。主要用处是可以让两部以上iphone手机间,快速传送文件视频N张照片等,一个20分钟的视频,几乎是秒传,非常方便实用电商特供,价廉也要物美避免虚假宣传质量不达标等问题电商特供,价廉也要物美近日,多地集中开展2022年春节期间打假专项行动,对较为畅销的电商特供等产品加强监督抽检,网友纷纷点赞。价格优惠,销量增长据悉,电哪个牌子的电动牙刷比较好用?天津肉肉很高兴回答您的问题,哪款电动牙刷好使,我个人向你推荐小米,它可以帮助您更好的清洁牙齿的内侧。刷牙是日常生活中的一件事,洁白的牙齿一方面可以提高年轻人的自信心,另一方面也可以无聊时做什么好?人在无聊的时候,自己可以看看各种书籍,听听音乐,出去散散步,在就是和自己同事朋友去跳舞,实在感觉到在无聊的情况下,也可以带着家人,一起出去上世界各地旅游,看看世界各地的美丽建筑,还助听器戴上后觉得头晕是怎么回事?如果头晕严重,建议先不要戴了,建议去购机的验配中心进行调试。患者戴助听器后出现头痛头晕主要是助听器输出的声音超过了患者的不适阈。我们正常人的不适阈是120140dBSPL。感音神经你还有以前的老照片吗?24年之前用胶片拍摄的,器材尼康F3,镜头28一85。室内自然光。(抓拍)中国摄影家高明扬当然有了,照片就是记录,永远收藏着,我娘抱着我,还有一个姐姐在一边,我刚刚6个月,这就是一一部手机的寿命是多少?什么是影响手机寿命的罪魁祸首?一部手机的寿命是多少?什么是影响手机寿命的罪魁祸首?无论是IOS系统的苹果手机,还是Android等系统手机,它们都是有使用寿命的。只不过是相对来说苹果手机的系统流畅度好一些,使用苹果一枝独秀领跑国际智能手机市场,谁能撼动其霸主位置?苹果公司在智能手机市场的地位不断地被巩固,在最新的数据研究机构Canalys发布的报告显示苹果手机在2021年占全球智能手机出货量的22,坐上全球智能手机市场的头把交椅,三星以20工作日报2022。1。19mavengradle插件如何上传多渠道library2022。1。19问题澄清记录仪屏蔽通知栏开发澄清文档书写。codex问题处理后续流程跟踪。翻译词条归一整理安全终端加密服务密保保存功能,增加OTA参数合入布控球振动修改maven