title: Java的来源 html
blog: CSDNjava
data: Java学习路线及视频程序员
1.Java市场
截至2020-03: Java的市场份额为17.78%web
2. Java语言简介
- 是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一 门高级编程语言。
- 是一种面向Internet的编程语言。Java一开始富有吸引力是由于Java程序能够 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使 用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。
- 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
后台开发语言:Java、PHP、Python、Go、Node.js编程
3. Java发展史
4. Java技术体系平台
5. Java在各领域的应用
6.Java语言的诞生
java之父James Gosling团队在开发”Green”项目时,发现C缺乏垃圾回收系统,还有可移植的安全性、分布程序设计和多线程功能。最后,他们想要一种易于移植到各类设备上的平台。
Java确实是从C语言和C++语言继承了许多成份,甚至能够将Java当作是类C语言发展和衍生的产物。好比Java语言的变量声明,操做符形式,参数传递,流程控制等方面和C语言、C++语言彻底相同。但同时,Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。Java舍弃了C语言中容易引发错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增长了垃圾回收器功能用于回收再也不被引用的对象所占据的内存空间。JDK1.5又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱
7.Java语言的主要特性
- Java语言是易学的
- Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java
- Java语言是强制面向对象的
- Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制关键字为implements。
- Java语言是分布式的
- Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
- Java语言是健壮的
- Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
- Java语言是安全的
- Java一般被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不一样的名字空间以防替代本地的同名类、字节代码检查。
- Java语言是体系结构中立的
- Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),而后能够在实现这个Java平台的任何系统中运行。
- Java语言是解释型的
- Java程序在Java平台上被编译为字节码格式,而后能够在实现这个Java平台的任何系统的解释器中运行
- Java是性能略高的
- 与那些解释型的高级脚本语言相比,Java的性能仍是较优的
- Java语言是原生支持多线程的
- 在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来建立。
8.Java程序运行机制及运行过程
Java语言的特色
- 面向对象
- 两个基本概念:类、对象
- 三大特性:封装、继承、多态
- 健壮性
- 吸取了C/C++语言的优势,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
- 跨平台性
- 经过Java语言编写的应用程序在不一样的系统平台上均可以运行。“Write once , Run Anywhere”
由于有了JVM,同一个Java 程序在三个不一样的操做系统中均可以执行。这样就实现了Java 程序的跨平台性。
Java两种核心机制
- Java虚拟机
- JVM是一个虚拟的计算机,具备指令集并使用不一样的存储区域。负责执行指令,管理数据、内存、寄存器。
- 对于不一样的平台,有不一样的虚拟机。
- 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
- Java虚拟机机制屏蔽了底层运行平台的差异,实现了“一次编译,处处运行”
- 垃圾回收
- 再也不使用的内存空间应回收—— 垃圾回收。
- 在C/C++等语言中,由程序员负责回收无用内存。
- Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配状况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
- 垃圾回收在Java程序运行过程当中自动进行,程序员没法精确控制和干预。
- Java程序还会出现内存泄漏和内存溢出问题吗?Yes!
9.经常使用的Java开发工具
Java经常使用开发工具介绍
Sublime Text 3 新手安装教程
IntelliJ IDEA安装操做步骤
10.结语