一、计算机语言的发展史
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. 编程哲学之 C# 篇:005——"Hello,World!"

    如第一章说明,程序员的创造能力最接近于神,那么从现在开始,让我们来开始愉快地创造世界吧! 用解决方案来管理我们的创作 运行我们安装好的Visual Studio(以后一般情况下都会简称为VS),如下图 ...

  2. zookeeper04---ZAB协议

    转https://www.jianshu.com/p/2bceacd60b8a 1.什么是Zab协议 1.1Zab协议简介 1.2 Zab 协议的特性(怎么保持数据一致性) 2.Zab 协议实现的作用 ...

  3. JAVA虚拟机02---JAVA虚拟机运行时数据区域简介

      JAVA虚拟机运行时数据区域 1.程序计数器 1)它可以看做是当前线程执行的字节代码的行指示器,通过改变计数器的值来决定下一步执行的代码 2)它是线程私有的,每个线程都有自己的程序计数器(JAVA ...

  4. 真正“搞”懂HTTPS协议15之安全的定义

    前面我们花了很大的篇幅来讲HTTP在性能上的改进,从1.0到1.1,再到2.0.3.0,HTTP通过替换底层协议,解决了一直阻塞性能提升的队头阻塞问题,在性能上达到了极致. 那么,接下来,我们来聊一聊 ...

  5. 我Alfred Workflow工具集合

    MyToolBox 我常用的工具箱,Alfred Workflow工具集合满足日常开发使用场景.不断完善和更新Alfred Workflow. 目前包含一下功能. 时间戳转换 unicode转中文 随 ...

  6. 基于SpringBoot实现操作GaussDB(DWS)的项目实战

    摘要:本文就使用springboot结合mybatis plus在项目中实现对GaussDB(DWS)的增删改查操作. 本文分享自华为云社区<基于SpringBoot实现操作GaussDB(DW ...

  7. [代码审计基础 04]ssrf漏洞的利用&伪协议

    ssrf漏洞的利用&伪协议 0x1 SSRF原理解析 什么是ssrf SSRF (Server-Side Request Forgery,服务端请求伪造)是指攻击者向服务端发送包含恶意URL链 ...

  8. Oracle存储过程的创建实例和调用实例

    --编写一个存储过程,给emp表中添加数据.  --方法一:create or replace procedure add_employee(       eno number,       name ...

  9. C#判断useragent是pc还是手机端

    public static bool CheckAgent(string userAgent) { bool flag = false; string[] keywords = { "And ...

  10. EF Core自动将实体映射到数据库

    protected override void OnModelCreating(ModelBuilder modelBuilder) { try { var compilationLibrary = ...