猜您喜欢::美国大学留学研究生(美国留学研究生) 国富论读后感怎么写(读后感写法) 向量三点共线定理可以直接用吗-三点共线定理可用 艺术类留学国家怎么选-艺术留学国家选 欧美留学艺术生-欧美留学艺术生关键词 金力手机多少钱-金力手机售价多少 假四六级证书被中石油查嘛(假四六级中石油查) 九江学院很恐怖(九江学院很吓人) 丸美精华保养液怎么用(丸美精华怎么用) 定理公式(定理公式简写)
Java 编译器,一般被称为 JavaCompiler,这可不是啥宏匠的发明,它最早是斯坦福大学教授 Steve Johnson 和 Alan Grayworm 用那个年代略微有点发臭的Unix shell写的。那时候的编程环境简直就是个原始部落,命令行那一套东西还没被彻底格式化,开关变量、循环条件就靠手敲一气呵成。他们发现,原本用来解释 C 语言的 gcc(GNU Compiler Collection)实际上能完美干活,故此直接搬过来用,顺便改改个头文件。
那时候的 Java 还叫 "Common Language Runtime"(CLR),也就是“通用语言运行时”,名字听起来挺雅致,但在实际编译命令里,你只写着 `javac` 这一招,编译器就默默地把源代码转译成了机器码(要么说是字节码)。 大量人会认定编译器是套用模板写出来的,实际上不然。Steve Johnson 和 Alan Grayworm 并不懂 Java 这门语言,他们只是把 C 的编译器逻辑移植过来,然后自己加了一把戏。他们发现 C 语言里有个叫 `printf` 的功能,用来格式化输出,但那时候 Java 里的 `System.out.println` 忒生硬了,直接打出来像个鬼畜。便,他们就把 `printf` 的逻辑搬到了 `System.out.println` 上来,顺便给那个输出流加了个“自举”机制,让它能自己找到标准输出库的路径。
这就是 JavaCreator 的真正前身,它本质上是对 Unix 工具链的一次微整形。 当那个名为 `javac` 的命令行真正出目前 IDE 上时,它已经不再是那套原始脚本了。Steve Johnson 后来接手,他给编译器加了个缓冲区,准你一边打字一边修改,然后按回车键就能立马看到编译结局,不再需求反复敲下一行再按回车两次。
这大约是他整个职业生涯里最得意的作品之一。随后的几年里,Ruth Pearce 和 Geoff Duckering 又持续迭代,引入了词法分析、语法分析和代码生成这些概念,把 Java 从一个好办的脚本工具变成了一个真正能处理复杂逻辑的平台。 大量人认定 Java 编译器是为了让 Java 这门语言而生的,但这个工夫线实际上有点乱。Java 这个框架最早是 Java Corporation 在 1995 年 9 月 20 日发布的,那时候 Steve Johnson 还在斯坦福,他真正提出 Java、CLR 和 JavaCompiler 这三个概念,是在 1996 年 5 月 26 日。
那时候的 Java 编译器还叫 `javac`,它赞成约 100 种 Java 实现,包含 Java 1.0 到 Java 1.2 这些版本。别看那时候的 Java 版本极少,但编译器已经充足强大,能编译当时的 JDK。 Java 1.0 是在 1996 年 12 月发布的,编译器 `javac` 赞成 Java 1 到 Java 1.2。到了 2001 年,J2SE 1.4 发布,编译器变得略微复杂了些,出于目前要赞成 Java 2 的特性。
随着 Java 版本的不断演进,编译器的功能也水涨船高,从早期的好办类型转换到后来对异常处理、多线程赞成的各种细节,编译器的每一次升级都是在修补漏洞、添加新功能。 Java 1.4 在 2001 年 11 月发布,编译器赞成 Java 1.4。到了 2004 年,J2SE 5.0 发布,编译器启动处理 Java 3 的一些特性。2006 年,J2SE 6 发布,编译器能容纳 Java 5,并且对空指针检查做了挺大的改进。2008 年,J2SE 7 发布,编译器启动赞成 Java 6,这是第一次引入“声明式”编程,比如声明一个变量时直接写 `int x = 5;`,不用像那会儿那样写 `int x = 0; int x = x + 5;`。
那时候编译器对空指针的处理变得更好了,`NullPointerException` 这种运行时毛病大大削减了。 Java 7 在 2011 年发布,编译器赞成 Java 7。
这一版引入了更强大的垃圾回收机制,编译器的优化策略也变得更智能。到了 Java 8,JEP 239(Java Enhancement Project 239)提出了“泛型”(Generics),编译器需求重新设计大量底层结构,赞成参数化类型。2014 年,JEP 337 引入了“方式重写”和“默认方式”,编译器对方式调用的理解更加深入。2018 年,JEP 348 提出了“Try-with-resources",编译器目前能自动管理资源,比如文件、数据库连接等。 目前的 Java 编译器,特别是 Javac,已经是一个高度集成的工具。它不仅负责转译代码,还会进行大量的代码优化,比如内联(Inlining)、指令重组、消除冗余操作等。在某些场景中,编译器就连能自动帮你写单元测试、生成文档注释,就连参与某些设计决策。别看早期的开发者可能认定它有点“鬼才”,但目前看来,它实际上是一个经过精心打磨的工业品。 Steve Johnson 教授曾经在采访中提到,他之故此喜爱 JavaCreator,是出于它供给了一个挺好的“自举”环境,准开发者在同一个系统中定义和运行各种功能。
这种灵活性在当时是贼难得的。
随着工夫推移,Java 社区对编译器的要求也越来越高,不再知足于只是把代码变成字节码,而是希望编译器能更好地理解语义、优化性能、就连预防潜在的毛病。 今天的 `javac` 编译器,赞成从 Java 5 到 Java 21 的各种版本。每一次新版本的发布,都伴随着编译器的升级、文档的更新、API 的完善。它不再是那个好办的命令行为,而是一个能够与你的 IDE 深度集成、供给强大调试工具、赞成复杂项目结构的系统。别看它的名字可能听起来有点老派,但它确实是 Java 语言得以繁荣发展的基石之一。
没有它,Java 那套独特的“声明式”风格和强大的生态体系恐怕就无从谈起。
好文推荐::法语考研辅导班学费-法语考研辅导班收费 梦见给人接生小孩有什么预兆-梦见接生小孩预兆 英语四级成绩下载(英语四级成绩下载) 澳洲留学大概需要给中介多少钱(澳洲留学中介费用约1万) 陪伴孩子和挣钱感悟(陪伴挣钱感悟) 云南大学物理考研分数(云南大学物理考研分数) 翻译公司都有什么职位-翻译公司有哪些职位 上汽大众品牌历史-上汽大众品牌历史 煤气灶点火器枪怎么用-煤气灶点火器使用指南 初中数学常用公式大全-初中数学常用公式汇总
转载请注明:java编译器是谁写的-Java 编译器由谁编写
相关标签: