「JavaSE 重新出发」01. Java介绍
「白皮书」关键术语
- 简单性(C++--)
- 面向对象
- 分布式
- 健壮性
- 安全性
- 体系结构中立
- 可移植性
- 解释型
- 高性能
- 多线程
- 动态性
Java 发展历程
- SUN公司——Stanford University Network
- 主设计者:James Gosling
- 1996年初 - 发布 Java 1.0
- Java 2, JDK 1.2 有了很大的改变 - 更加接近“一次编写,随处运行”的承诺
- J2SE 5.0 得到了进一步改进 - 泛型、(以下几项受 C# 启发) foreach、自动装箱、注解
- 2014年 - 发布 Java 8 - 重大改变:提供了一种「函数式」编程方式,可以容易地表述并发执行的计算
Java 主要技术分支
- Java SE
- Java 2 Platform, Standard Edition
- 前身:J2SE,2005年更名为Java SE
- Java EE(主要应用)
- Java 2 Platform, Enterprise Edition
- 前身:J2EE,2005年更名为Java EE
- Java ME(嵌入式)
- Java 2 Platform, Micro Edition
- 前身:J2ME,2005年更名为Java ME
JVM, JRE, JDK
- JVM(Java Virtual Machine) < JRE(Java Runtime Environment) < JDK(Java Development Kit)
「跨平台」与「解释执行」
- 早期的 Java是解释型的。现在 Java 虚拟机使用了即时编译器,因此采用 Java 编写的“热点”代码其运行速度与 C++ 相差无几,有些情况下甚至更快。
Java 开发环境
- Path 的主要功能是设置 JDK 的可执行命令
- classpath 主要是在执行的时候起作用,告诉JVM类的保存路径,一般(默认)设置为
.
(cmd设置命令:set classpath=.
)
注意:classpath 只在 java 命令时起作用,对 javac 无作用
一些术语
- 当Oracle为解决一些紧急问题做出某些微小的版本改变时,将其称为更新。例如:Java SE 8u31是Java SE 8的第31次更新,它的内部版本号是1.8.0_31。更新不需要安装在前一个版本上,它会包含整个JDK的最新版本。
「JavaSE 重新出发」01. Java介绍的更多相关文章
- 「JavaSE 重新出发」02.01 基本数据类型
基本数据类型 1. 整型 注意:Java 没有任何无符号(unsigned)形式的 int.long.short 或 byte 类型. 不同进制的表示形式: 十六进制数值有一个前缀0x或0X(如0xC ...
- 「JavaSE 重新出发」05.03.01 利用反射分析类
在 java.lang.reflect 包中有三个类 Field, Method 和 Constructor 分别用于描述类的域.方法和构造器. Class 类中的 getFields, getMet ...
- 「JavaSE 重新出发」05.01.02 hashCode 方法、toString 方法
hashCode 方法 散列码(hash code)是由对象导出的一个整形值(可以是负数).其是没有规律的,如果x与y是两个不同的对象,则x.hashCode()与y.hashCode()基本上不会相 ...
- 「JavaSE 重新出发」05.01.01 equals 方法
equals 方法示例 // 代码来自<Java核心技术 卷I>P167 // 父类 public class Employee{ ... public boolean equals(Ob ...
- 「JavaSE 重新出发」05.01 继承
继承 一个对象变量可以指示多种实际类型的现象被称为多态(polymorphism). 在运行时能够自动地选择调用哪个方法的现象称为动态绑定(dynamic binding). 如果是private方法 ...
- 「JavaSE 重新出发」02. 数据类型与运算符
「TOC」 Java 程序基本要求 Java 数据类型 基本数据类型 复合数据类型 运算符 逻辑运算符 位运算符 运算符优先级 Java 程序基本要求 public class : 一个 Java 文 ...
- 「JavaSE 重新出发」05.03.02 在运行时使用反射分析对象
在编写程序时,如果知道想要查看的域名和类型,查看指定的域是一个很容易的事,而利用反射机制可以查看在编译时还不清楚的对象域. java Employee tank = new Employee(&quo ...
- 「JavaSE 重新出发」05.03 反射
能够分析类能力的程序称为反射(reflection). 反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵 Java 代码的程序. 反射机制可以用 ...
- 「JavaSE 重新出发」05.02 泛型数组列表、包装类
泛型数组列表 ArrayList 是一个采用类型参数(type parameter)的泛型类(generic class). java ArrayList<Employee> staff ...
随机推荐
- Centos7 minimal 系列之Redis(五)
一.Redis安装 1.1 .进入/usr/local 创建redis文件夹(mkdir)方便统一管理 1.2.下载redis $ wget http://download.redis.io/rele ...
- SpringBoot(七) SpringBoot中的缓存机制
随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...
- visio中如何取消跨线和去掉页边距
比较来说,写论文visio和inkscape都不可缺少. 比如visio跨线的问题,已经遇到过两次忘记了.这次截个图作为记录.其实就是在“设计”一栏里,把连接线里面的跨线显示的对勾去掉即可. *** ...
- 防范CSRF(三)
除了可以更改微软默认的cookie的名字外,还可以更改默认的加密方法.继承IAntiForgeryAdditionalDataProvider接口,实现里面的方法即可. 采用的加密方法有加盐和使用时间 ...
- CADisplayLink & NSTimer
屏幕刷新与UI更新不同步:屏幕刷新由硬件(+GPU)保证,UI更新由软件(CPU保证). 出现卡顿的原因是软件的计算速度跟不上硬件的刷新速度. 一 简介 1 所在框架 CADisplayLink和其它 ...
- iproute2+tc notes
iproute2+tc notes The iproute2+tc package allows access to the variety of neat new networking featur ...
- 省选模板_STL
目录: 1. multiset 2. reverse 1.multiset namespace STL{ int main(){ multiset<int>::iterator s; mu ...
- BZOJ 3527: [Zjoi2014]力 FFT_卷积
Code: #include <cmath> #include <cctype> #include <cstdio> #include <cstring> ...
- NodeJS踩坑实录
nodejs的常用api url 主要是配置一系列和路径相关的信息 url.parse(urlString[, parseQueryString[, slashesDenoteHost]]) 将一个U ...
- vue 阿里云上传组件
vue 阿里云上传组件 Vue.js上传图片到阿里云OSS存储 测试项目git地址 本测试项目启动方法 示例链接 组件配置项 实践解释 本文主要介绍如何 在vue项目中使用web 直传方式上传阿里云o ...