网站首页 > 精选教程 正文
Java呢是于1995年由Sun公司推出的一个极富创造力的面向对象程序设计语言。这门语言,不仅仅是一种技术,更是一场程序设计的革命。
Java探索之旅
作为一名热爱技术的程序员,一直对编程语言充满好奇。
它呢是由Java之父之称的Sun公司研究院院士詹姆士·戈士林博士亲手设计而成的。
当时呢戈士林的小组在致力于为未来的智能设备开发出一种新的编程语言。
但是,戈士林对C++的执行过程中的表现非常的不满,于是啊,他就把自己封闭在了办公室里编写了一种新的语言。
从Oak到Java的命名之旅
这种新的语言编写出来之后起名字又成了头疼的事。那正巧,戈士林办公室外正好有一棵橡树,而橡树的英文名字叫做Oak。好那就叫Oak吧。
这时候,这个Oak已经具备了安全性、网络通信、面向对象多线程等特性,它是一款相当优秀的程序语言。
可是后来,由于去注册这个Oak商标的时候,他发现这个名字已经被另外一家公司注册了。所以就不得不改名。但是要取什么名字呢,工程师边喝着咖啡边不停的讨论。
这时候,大家看了看手里的咖啡,在想到印度尼西亚有一个重要的盛产咖啡的岛屿叫做爪哇岛。好吧那干脆就叫Java吧。于是Java语言就诞生了。
Java的标志与特性
Java的标志就是一杯飘着热气的咖啡,象征着它的活力和全球普及。
Java是一种通用解释方式的执行语言。它的语法和C++类似,但不同于C++糟糕的可移植性。
Java是一种跨平台的程序设计语言,用Java编写的程序可以运行在任何平台和设备上,比如Windows平台、个人电脑、Unix平台即服务器、iOS系统也就是苹果的电脑及其各种微处理器平台,真正地实现了一次编写,到处运行的这个特点。
Java的编译与执行过程
Java语言编写的程序既是编译型的,又是解释型的。
Java程序经过编译之后,可以转换成一种叫做Java字节码的中间语言。而这个编译器就是我们常用的JDK。而这个生成的字节码再交给Java虚拟机,由Java虚拟机将字节码变成机器可以识别的机器码。而这个Java虚拟机就是我们常用的JRE。这个过程看起来比较复杂是吧,好,那我们就换一种方式来理解。
以厨师比喻Java的运行
我们编程时使用的开发工具就相当于一支笔,我们可以拿它来写字。而我们写的代码相当于一个菜谱。
而Java虚拟机它就是一个什么菜都会做的大厨。而我们则是那一个写菜单的人。我们把写好的代码,也就是我们这个菜单交给了大厨,大厨就会按照这个菜单做出一些菜来,而这些菜就是我们最终写好的程序。
我们只是写了Java代码,而真正将代码变成可执行程序的是Java虚拟机。
好那我们再回头看一下,这个Java是如何运行的。我们这个源代码就是我们编写的菜单。我们把这个菜单交给了这个JDK,也就是交给大厨。
大厨将这个菜切好,JDK将程序源码变成字节码这个过程就相当于大厨将这个菜切好了。此时这个字节码,他只是美食的一个半成品。
这时,大厨要按照菜单继续做菜了,于是大厨开始烹饪这个美食,就是将字节码交给虚拟机了。
然后从虚拟机出来的机器码才是真正的美食,也就是我们真正运行的这个程序。而这一个过程,就是Java运行的过程。
- 上一篇: java语言特点 java语言特点是什么
- 下一篇: 干货 | Java语言这10个语言特性你知道吗?
猜你喜欢
- 2024-12-30 浅谈 Java 反射技术 java反射的步骤原理
- 2024-12-30 Java程序设计试卷 java语言程序设计期末考试题
- 2024-12-30 一起来了解一下,什么是java。 java到底是什么意思
- 2024-12-30 Java 类概念简介 java类包括什么
- 2024-12-30 java面向对象的特征有哪些方面? java面向对象的特征有哪些方面的问题
- 2024-12-30 Java接口讲解!什么是Java接口?Java接口的特点是什么?
- 2024-12-30 科普时间到,Java知多少 java sms
- 2024-12-30 干货 | Java语言这10个语言特性你知道吗?
- 2024-12-30 java语言特点 java语言特点是什么
- 2024-12-30 了解java三大特性!你真的正确了解了吗?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)