Java学习笔记(一):初识Java语言

Java语言简介

Java是什么?

Java是一种优秀的程序设计语言,更是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器等各种场合。


Java有什么特性?

1. 简单性
Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。

2. 面向对象
在Java的世界里,一切皆对象。所谓面向对象,就是依靠对象之间的交互来完成事情。

举个例子:一个“面向对象”的木匠,始终关注的是凳子(制作的对象);而“非面向对象”的木匠首先考虑的是想使用的工具。

Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。

3. 分布式(微服务) 
Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。 

4. 健壮性
Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于花费几个小时来检查由于指针bug引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。

5. 安全性 
Java适用于网络/分布式环境。使用Java可以构建防病毒、防篡改的系统。从一开始Java就设计成能够防范常见的各种攻击:
运行时堆栈溢出(蠕虫和病毒常用的攻击手段)、破坏自己进程空间之外的内存、未经授权读写文件。

6. 体系结构中立
Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。 即生成一个体系结构中立的目标文件格式:字节码中间文件(class文件)

首先,无论哪种编程语言编写的程序最终都需要操作系统和处理器来完成程序的运行,平台无关性是指软件的运行不因操作系统、处理器的变化导致程序无法运行或出现运行错误。

以C++程序为例,C++编译器针对源程序所在平台进行编译、连接,然后生成机器指令,这样就无法保证C++编译器产生的可执行文件在所有平台上都被正确执行。如果更换了平台,可能需要修改源程序,并针对新的平台重新编译源程序。
相反的,Java源代码不会针对一个特定平台进行编译,而是生成一种字节码中间文件(class文件),这种文件是平台无关且体系结构中立的。也就是说,无论一个Java程序是在Windows、Solaris、Linux还是其他具有Java编译器的操作系统下编译,作为编译结果的字节码文件都是相同的,都

你可能感兴趣的:(从零开始学Java,学习,java,开发语言)