1-初识java
Java 历史
这里不详细记录java的历史,只是标记出时间点和事件。
| 时间点 | 事件 |
|---|---|
| 1991 | Sun公司成立Green项目。Oak(橡树)语言诞生。 |
| 1992 | 1992年9月,Oak语言连同Green OS和一些应用程序一起发布在称做Start 7的小设备上。Sun开了一家名为FirstPerson的公司,Green团队被转移到这家公司里研发机顶盒 |
| 1993 | First Person公司重定位Oak。转向到网络应用领域(背景:WWW开始席卷全球) |
| 1994 | Oak技术包括源代码全部免费公开。Oak开发出网络浏览器Webrunner,后更名为Hotjava。Oak编写的Applet让网页由静态转成动态 |
| 1995 | Oak注册登记时,发现该名已被占用,遂更名为Java。First Person公司解散。 |
| 1995-3-23 | Java里程碑,Java当年被评为十大优秀科技产品之一。JDK1.0a2版本正式对外发布 |
| 1996 | Sun成立Javasoft分公司来发展Java。Netscape支持Java。IBM、Symantec、Inprise、Microsoft IE支持Java。 |
| 1997-2-19 | JDK 1.1(Java Development Kit) 发布 |
| 1998-12-4 | JDK 1.2发布,JDK更名为J2SDK(Java 2 Software Development Kit)。J2SDK 1.2又名Java 2,并将Java的应用细分(J2ME、J2SE、J2EE) |
| 2000-5-8 | J2SDK 1.3发布 |
| 2002-2-13 | J2SDK 1.4发布 |
| 2004-9-30 | JDK 1.5发布 |
| 2006-11-13 | Sun在javaOne大会上宣布要开原java,并在随后的一年多内,陆续将JDK的各个部分在GPL v2协议下公开了源码,并建立了OpenJDK组织对源码进行独立管理。 |
| 2006-12-11 | JDK 1.6发布 |
| 2009-4-20 | Oracle以74亿美元收购了Sun |
| 2011-7-28 | JDK 1.7发布 |
| 2014-3-18 | JDK 1.8发布 |
Java 平台
| 平台 | 说明 |
|---|---|
| Java Card | 支持一些小程序(Applets)运行在小内存设备(如智能卡)上的平台。 |
| Java ME(Micro Edition) | 支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对第东终端的支持,这个版本以前称为J2ME. |
| Java SE(Standard Edition) | 支持面向桌面应用的Java平台,提供了完整的java核心API,这个版本之前称为J2SE. |
| Java EE(Enterprise Edition) | 支持使用多层架构的企业应用(如ERP、CRM应用)的java平台,除了提供Java SE API外,还对其做了大量的扩充(一般以javax.*作为包名)并提供了相关的部署支持,这个版本之前称为J2EE. |
Java开发环境
- Java术语
| 术语名 | 缩写 | 解释 |
|---|---|---|
| Java Development Kit | JDK | Java开发工具包。1.2~1.4版本被称为Java SDK,简写J2SDK. |
| Java Runtime Environment | JRE | Java运行时环境 |
| Java 2 | J2 | 一个过时的术语,用于描述1998-2006年之间的Java版本 |
| Software Development kit | SDK | 一个过时的术语,用于描述1998-2006之间的JDK |
| Update | u | Oracle的术语,用于发布修改的bug |
| NetBeans | —— | Oracle的集成开发环境 |
- java技术体系内容
JDK应该包含Java语言、JRE、Java 开发工具。
JRE应该包含Java SE API和java虚拟机。
- 搭建Java开发环境
1.下载安装JDK
2.配置环境变量windows 7/8/8.1/10
JAVA_HOME=”JDK安装路径”
PATH中添加%JAVA_HOME%/bin
CLASSPATH中添加%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jarlinux
修改~/.bash_peofile(用户)或者/etc/profile(系统),添加
export JAVA_HOME=/usr/java/jdk1.8.0_101
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar3.JDK目录
目录 描述 bin 编译器和工具 demo 演示 docs HTML格式的类库文档(解压j2sdkversion-doc.zip)之后 include 用于编译本地方法的文件 jre Java运行环境文件 lib 类库文件 src 类库源文件(解压src.zip)之后
Java 运行原理[简]
| 指令 | 说明 |
|---|---|
javac hello.java |
java编译器将hello.java文件编译成.class字节码文件 |
java hello |
调用JVM,不同平台的JVM根据平台指令解释字节码文件 |
参考资料:
[1].java的历史
[2].周志明.深入理解Java虚拟机[M].第2版.北京:机械工业出版社,2013.6.
[3].Cay S.Horstmann Gary Cornell.Java核心技术 卷I—基础知识[M].第9版.美,2013.10
1-初识java的更多相关文章
- 初识Java
Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以极强的安全性.平台无关性.硬件结构无关性.语言简洁.面向对象的特点,在网络编程语言中占据了无可比拟的优势 ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- Personal Learning Path of Java——初识Java
初识Java 在我个人看来,Java是一门高大上的面向编程语言,这也是Java吸引我的地方.在自学Java之前,我在学校大概学过了一些C语言的知识,在学校学的那点C语言纯属是拿来打基础用的,大概了解了 ...
- 初识Java作业
初识Java作业 一. 填空题 Java技术按照用途不同分为三大版本,分别是JavaSE. javaEE 和JavaMe Java虚拟机就是一个虚拟的用于执行 .class ...
- Java学习笔记心得——初识Java
初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开 ...
- 初识Java程序,编写简单代码?
Dear All: 初识Java程序,编写简单代码? 首先小编在这里说下我们今天编写Java程序使用的是 eclipse 开发工具! 1.下载eclipse 官网地址:http://www.eclip ...
- 初识JAVA语言
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 前言 很多游戏开发者可能会有疑问,你会C#,JS,TS,为什么还要初识JAVA呢?有人可能会说,多学点对自己有好处 ...
- day01-day02 初识java、注释、变量、变量命名、基本数据类型
1. 初识java 1) 什么是java java是一门高级的计算机编程语言 2) JDK的安装 2.1) 下载2.2) 安装2.3) 验证 3) 环境变量的配置 3.1) 打开环境变量3.2) 配置 ...
- Java入门——初识Java
Java入门——初识Java 摘要:本文主要对Java这门编程语言进行简单的介绍. Java简介 说明 Java语言历时十多年,已发展成为人类计算机史上影响深远的编程语言,从某种程度上来看,它甚至超出 ...
随机推荐
- 522. Longest Uncommon Subsequence II
Given a list of strings, you need to find the longest uncommon subsequence among them. The longest u ...
- LOJ#3052. 「十二省联考 2019」春节十二响(启发式合并)
题面 传送门 题解 先考虑一条链的情况,对于\(1\)号点来说,肯定是左子树中最大值和右子树中最大值一组,左子树中次大值和右子树中次大值一组--以此类推 那么如果不是一条链呢?我们把所有的链合并起来就 ...
- [学习笔记]Splay
其实就是一道题占坑啦 [NOI2005]维护数列 分析: 每次操作都要 \(Splay\) 一下 \(Insert\) 操作:重建一棵平衡树,把 \(l\) 变成根,\(l+2\) 变成右子树的根,那 ...
- 对"某V皮"N服务器节点的一次后渗透测试
i春秋作家:jasonx 前言:由于这个VPN节点服务器是之前拿到的,一直没时间做进一步渗透,昨天看到我蛋总表哥发红包,然后我运气爆表抢了个运气王,再加上好久没发文章了,所以就抽空测试下咯. 0×01 ...
- JAVA JDK的安装及初步试用
1.进入浏览器输入下图网址进入相关页面 2.网站主界面如图 3.单击箭头所指功能块 4.选择如下图的对应选项 5.进入如下页面后单击下图红色框 6.进入如下页面后单击如下红色框进行下载 7.下载好之 ...
- SpringBoot从入门到逆天(1)
1.SpringBoot是什么? <1>为Sping开发提供一个更 快捷更广泛的入门体验. <2>开箱即用,不合适时特可以快速抛弃. <3>提供一系列大型项目常用的 ...
- centos 安装nginx笔记
添加nginx 存储库 yum install epel-release 安装 yum install nginx 启动 systemctl start nginx
- 09-03 Java 抽象类
抽象类的特点 /* 抽象类的概述: 动物不应该定义为具体的东西,而且动物中的吃,睡等也不应该是具体的. 我们把一个不是具体的功能称为抽象的功能,而一个类中如果有抽象的功能,该类必须是抽象类. 抽象类的 ...
- 课程一(Neural Networks and Deep Learning)总结——2、Deep Neural Networks
Deep L-layer neural network 1 - General methodology As usual you will follow the Deep Learning metho ...
- 常见排序算法总结(java版)
一.冒泡排序 1.原理:相邻元素两两比较,大的往后放.第一次完毕,最大值在最大索引处. 即使用相邻的两个元素一次比价,依次将最大的数放到最后. 2.代码: public static void bub ...