JAVA语言概述
1.Java编程语言发展简史
JAVA 语言历史近二十年, 已发展成为人类计算机史上影响深远的编程语言. JAVA 语言是一门非常纯粹的面向对象编程语言, 它吸收了 C++ 语言的各种优点, 又摒弃了 C++ 里难以理解的多继承、指针等概念, 因此 JAVA 语言具有功能强大和简单易用两个特征.
1995年5月23日,Java语言诞生; 1996年1月,第一个JDK-JDK1.0诞生; 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术; 1996年9月,约8.3万个网页应用了Java技术来制作; 1997年2月18日,JDK1.1发布; 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议纪录; 1997年9月,JavaDeveloperConnection社区成员超过十万; 1998年2月,JDK1.1被下载超过2,000,000次; 1998年12月8日,Java 2企业平台J2EE发布; 2001年6月5日,Nokia宣布到2003年将出售1亿部支持Java的手机; 2001年9月24日,J2EE1.3发布; 2002年2月26日,J2SE1.4发布,此后Java的计算能力有了大幅提升; 2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0; 2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”: J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME; 2009年12月,SUN公司发布Java EE 6; 2010年11月,由于甲骨文对Java社区的不友善,因此Apache扬言将退出JCP; 2011年7月28日,甲骨文发布Java SE 7; 2014年3月18日,甲骨文发表Java SE 8。
Java三个版本 J2SE: JSE 指标准版一般用于用户学习JAVA语言的基础也是使用其他两个版本的基础主要用于编写C/S项目和提供标准的JAVA类库,是所有基于Java语言开发的基础,该版本主要用于开发桌面应用程序。 J2ME: JME 指移动版为小型移动器械搭建使用平台主要是用来为手机编程,制作手机相关软件的 三个版本一个是做C/S项目如QQ 一个是做网站如163 一个是做手机系统如大部分手机的小游戏 ,是针对移动设备,嵌入式系统的开发 J2EE: JEE 指企业版依托互连网技术提供企业级平台应用说白了就是用来构建大型网站和B/S系统 ,作为一个企业版本,主要是给出一个开发企业级应用架构的解决方案,同时给出了在这个架构中相关组件以供开发人员使用,例如我们连接数据库所用的JDBC。
Java三类API 核心API: 基本API, JAVA核心类库. 可选API: Sun公司为JDK提供的扩充API, 这些API因平台的不同而不同. 特殊API: 用于满足特殊要求的API. 如用于JCA和JCE的第三方加密类库.
借鉴自:https://blog.csdn.net/sunshine_hsm/article/details/81703007
2.Java编程语言主要特征
Java语言是简单的
Java语言是面向对象的
Java语言是分布式的
Java语言是健壮的
Java语言是安全的
Java语言是体系结构中立的
Java语言是可移植的
Java语言是解释型的
Java是高性能的
Java语言是多线程的
Java语言是动态的
借鉴自:https://blog.csdn.net/qq_42671834/article/details/82929831
3.Java技术体系平台
1.Java ME(以前叫J2ME):这个平台支持的是在移动终端(手机平板等)运行Java程序。
2.Java SE (以前叫J2SE) :是一个支持桌面级应用程序(例如windows中的应用程序)的平台,提供了完整的Java核心API。
3.Java EE (以前叫J2EE): 是一个支持多层架构企业应用(例如企业资源计划(ERP),制造资源计划(MRP))的平台。
4.Java Card (就一个名字):是一个让Java小程序(Applets)运行在小内存设备(智能卡等)的平台。
4.Java核心机制与JVM运行原理
Java有两种核心机制。
1.Java虚拟机(Java Virtual Machine)简称:JVM;
2.垃圾收集机制(Garbage collection)简称:GC;
JVM让Java语言与平台无关。
GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程度上减少了因为没有释放空间而导致的内存泄露。
Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)
开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),JVM才能识别并运行它,JVM针对每个操作系统开发其对应的解释器,所以只要其操作系统有对应版本的JVM,那么这份Java编译后的代码就能够运行起来,这就是Java能一次编译,到处运行的原因
1、Java源文件经编译器,编译成字节码(其中方法被编译为字节码指令)。
2、通过类加载器将字节码加载到虚拟机内存,并将字节码所代表的静态存储结构转化为方法区的运行时数据结构。
3、通过JVM解释器将每一条字节码指令翻译成特定平台上的机器码,然后通过特定平台运行。
5.搭建Java开发环境
6.JDK的安装与配置
略
7.开发体验Java应用程序
public class test {
public static void main(String[] args) {
System.out.println("hello world");
}
}
8.Java程序的执行原理
java程序执行过程分为两步,
第一步:将java源码(.java文件)通过编译器(javac.exe)编译成JVM文件(.class文件)
第二步:将JVM文件通过java.exe执行,输出结果
9.Java Code Style
略
10.变量的声明与使用
int i=10;
int m=i+1;
11.变量内存空间分配与原理
◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中(new 出来的对象)
◆堆:存放用new产生的数据
按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.
静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求.
栈式存储分配也可称为动态存储分配,是由一个类似于堆栈的运行栈来实现的.和静态存储分配相反,在栈式存储方案中,程序对数据区的需求在编译时是完全未知的,只有到运行的时候才能够知道,但是规定在运行中进入一个程序模块时,必须知道该程序模块所需的数据区大小才能够为其分配内存.和我们在数据结构所熟知的栈一样,栈式存储分配按照先进后出的原则进行分配。
静态存储分配要求在编译时能知道所有变量的存储要求,栈式存储分配要求在过程的入口处必须知道所有的存储要求,而堆式存储分配则专门负责在编译时或运行时模块入口处都无法确定存储要求的数据结构的内存分配,比如可变长度串和对象实例.堆由大片的可利用块或空闲块组成,堆中的内存可以按照任意顺序分配和释放.
12进制与位运算
略
13.变量的数据类型
七大基本数据类型:
int float double long short byte boolean char
14.数据类型之间的转换
自动类型转换:小类型到大类型的转换
强制类型转换:大类型到小类型
byte、short、char型数据参与运算时,先一律转换为int再运算。
15.变量的运算与底层运算原理
略
以上是 JAVA语言概述 的全部内容, 来源链接: utcz.com/z/389546.html