一、计算机语言的发展史
1、第一代语言(只有机器能读懂,人根本读不懂)
纯机器语言
2、第二代语言(机器能读懂,人可以读懂,但是很难懂)
汇编语言(符号语言)
3、第三代语言(机器能读懂,也非常便于人类阅读)
C面向过程的语言C++面向过程/对象的语言Java跨平台的纯面向对象的语言
二、Java的发展史及Java体系
2.1、Java的发展史
Java之父:James Gosling(詹姆斯·高斯林)
1995年,SUN公司发布了JDK1.01998年,发布了JDK1.2,正式更名为Java2后续JDK1.3、1.4、1.5、1.6、1.7目前最细版本的是JDK1.8,最稳定版本JDK1.7,覆盖面最广的版本JDK1.6
Java发展历史中的几个重要版本:
Java 1.2 从该版本开始,把Java分成JavaSE、Java ME、JavaEE三部分。
Java 5 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0。
Java 6 Java的各种版本更名,以取消其中的数字"2":J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。
2009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。
 
1.2 Java技术体系
Java技术分为三个体系:
Java SE(J2SE)(java平台标准版)开发桌面应用程序
Java EE(J2EE)(java平台企业版)开发面向Internet的应用程序
Java ME(J2ME)(java平台微型版)开发运行于智能设备的程序。
1.3 Java语言的特点
面向对象的语言
跨平台的语言
安全健壮
没有指针操作
垃圾自动回收机制
多线程
分布式
1.4 Java程序的运行机制
Java虚拟机(Java Virtual Machine)
内存回收机制(Garbage Collection)
4.2、Java是如何实现跨平台运行的?(一次编译,处处运行)
4.2.1、Java程序运行需要经历的两个时期
编译期(Java编译器):把.java源文件编译成.class字节码文件
 
运行期(Java虚拟机):将.class字节码文件解释成计算机可以读懂的计算机语言
 
4.2.2、实现跨平台,完全得益于Java虚拟机
 
Java虚拟机可以理解成一个可以解释字节码文件的中央处理器
对于不同的操作系统,Java提供了不同的虚拟机
Java虚拟机屏蔽了底层运行平台的差异,真正实现了“一次编译,处处运行”
4.3、Java的内存机制和垃圾回收机制
4.3.1、Java的内存机制
电脑的内存机制
 
Java的内存机制
 
4.3.2、Java的垃圾回收机制
对Coder(程序员)来说,java是友好的,java不需要考虑内存未及时回收,造成资源浪费。从而导致应用程序出现泄露的情况,导致引发系统崩溃。
 
Java程序中,自动进行的
 
关于内存释放时机:
栈:只要解除使用,及时回收 (小而快)
堆:当java为空闲状态时,会便利堆内存释放,解除使用的内存空间(大而慢)
五、JDK和JRE
5.1、JDK ( 就是Java SDK ) Java Development Kit
是 java提供给开发者用于开发java软件的开发工具包
Java Runtime Development Kit
5.2、JRE
Java提供给客户用于运行java软件的环境
5.3、总结
Jdk是给开发者用的;
jre是给用户用的。
Jdk包含jre

原文:https://blog.csdn.net/s402340355/article/details/77688575

JAVA诞生历史【转载】的更多相关文章

  1. Java的诞生历史

    Java帝国的诞生 1.1972年C诞生 贴近硬件,运行极快,效率极高 操作系统,编译器,数据库,网络系统等都采用C语言 但是,它的指针和内存管理给程序员安上了"枷锁".它的指针没 ...

  2. Java的历史和大事记

    Java的历史 在上世纪90 年代初,sun 公司有一个叫做Green 的项目,目的是为家用消费电子产品开发一个分布式代码系统,这样就可以对家用电器进行控制,和它们进行信息交流.詹姆斯·高斯林(Jam ...

  3. java笔试面试(转载)

    Java面试笔试题大汇总(最全+详细答案) 2016-02-01 15:23 13480人阅读 评论(8) 收藏 举报  分类: Java面试题(1)  声明:有人说, 有些面试题很变态,个人认为其实 ...

  4. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

  5. java各历史版本官网下载

    java各历史版本官网下载: http://www.oracle.com/technetwork/java/javase/archive-139210.html

  6. Java 诞生的趣事

    ​ Java 命名的由来 Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆).NetBeans(网络豆)以及Object ...

  7. JavaScript 的诞生历史

    看到一篇介绍JS诞生历史的文章,很有意思,文章里描述了很多的历史细节 https://webdevelopmenthistory.com/1995-the-birth-of-javascript/

  8. 对“Java”的诞生历史、特点、定义等HR常问的简单题

    本人是一个学习Java的新手,在学习了Java以后,对Java的一些总结. 这里共有12点对Java的简单的阐述,如果解释的不怎么样请大家谅解哈. 1.首先我们来看一看,在Java之前的有那些打牌语言 ...

  9. Java基础笔记(1) 语言 JAVA的历史 Java的搭建环境

    本文除了搭建是重点,其他的都当阅读小说一样去看就好了,不想看可以直接抓住重点,我会改变颜色勾出重点! 英语是人与人交流沟通的重要方式之一.JAVA:是人与计算机沟通交流重要方式之一.我们除了用java ...

  10. Java 发展历史

    Java自1995诞生,至今已经20多年的历史. Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆 ...

随机推荐

  1. ionic+vue+capacitor系列笔记--capacitor3.X和2.X+android自定义capacitor的JSbridge插件注册与使用(不同版本注册方式不同,返回值格式也不同,使用方法也不同)

    经过我的多番折腾,终于搞明白了这个东西的用法,不同版本的注册方法,使用方法都不一样,现在把这个折腾的结果记录下来,造福大家~ 首先编写一个类,然后注册,注意,这个和2.x不一样,2.x的时候我们会使用 ...

  2. linux/windows解决/关闭端口占用

    Linux 找到占用端口的进程信息: netstat -lnp|grep 端口号 例如:netstat -lnp|grep 8080 就是找到正在使用8080端口的进程 关闭进程: kill -9 进 ...

  3. 【学习笔记】XR872 GUI Littlevgl 8.0 移植(文件系统)

    不得不提 在移植的过程中,发现 LVGL 的文件操作接口并不十分完善,在我看来, LVGL 的文件操作接口,应该更多的是为了 LVGL 内部接口方便读取资源文件而设立的,例如读取图像文件,加载字库文件 ...

  4. *已解决 Javawe中servlet时出现空白页面,但又网站不报错的问题追溯(编码

    本次随笔内容为在学习过程中遇到问题不断排问题,不断查资料解决的过程,小菜鸟学习~相互交流(菜鸟互啄~) 遇到问题: Javawe中servlet时出现空白页面,但又网站不报错的问题追溯 解决: 1.t ...

  5. ajax的原理是什么?如何实现?

    一.是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器 ...

  6. DELLR740服务器安装centos7.9操作系统时发现无法检测到硬盘

    问题:RAID卡:PERC H750 安装centos7.9操作系统时发现无法检测到硬盘 解决办法: 1.需要先配置RAID2.如果不配RAID的话,需要在F2选项中的RAID配置中开启NON-RAI ...

  7. STL中的智能指针(Smart Pointer)及其源码剖析: std::unique_ptr

    STL中的智能指针(Smart Pointer)及其源码剖析: std::unique_ptr 和 std::auto_ptr一样,std::unique_ptr也是一种智能指针,它也是通过指针的方式 ...

  8. JZOJ 3469. 【NOIP2013模拟联考7】数列(sequence)

    \(\text{Solution}\) 明显的 \(\text{K-D Tree}\) 基操题 提前给出了数列,那么考虑提前建好树,省去重构 但还是要开 \(O\) \(\text{Code}\) # ...

  9. JZOJ 100019.A

    \(\text{Problem}\) \(\text{Solution}\) 把形如 \((a,ka)\) 的路径提出来 那么覆盖这些路径的路径为不合法路径 如果能不重不漏的找出这些路径,然后用总路径 ...

  10. PostGIS之几何创建函数

    1. 概述 PostGIS 是PostgreSQL数据库一个空间数据库扩展,它添加了对地理对象的支持,允许在 SQL 中运行空间查询 PostGIS官网:About PostGIS | PostGIS ...