这是一个小白的第一次个人博客,每个人第一次做都会有些不太完的地方。而我们要做的就是在这个过程中慢慢的学习,让自己一步步的成长起来,让自己对于自己要写的东西有个清楚的认知,并且能够将它清楚的表达出来,做到这一点就是一个小白需要做的第一步。
书的选择,我个人选择的是浙大版的《JAVA语言程序设计教程》(第二版)翁凯等 主编版本。
第一章目录
第一章 JAVA语言概述
JAVA是什么,正在学习JAVA的萌新们应该也已经了解过了,而官方给出的解答是‘JAVA语言是一种通用的丶支持并行的丶基于类的丶面向对象的(General-purpose Concurrent Class-based Object-oriented)程序设计语言,被特别设计成与运行的平台尽可能无关。它最大的特性就是允许编程者只编写一次就可以在互联网上到处运行。
1.1 JAVA的历史
- Java诞生于1995年5月23日。它的相关研发工作早在1991年就已经开始了,由Sun公司的Green Team团队研发。
- 2009年4月,甲骨文以74亿美元收购了Sun公司,从此Java成为了甲骨文的产品和商标。
- 现在Java运行开发环境叫做Java Platform。 Java Platform包括3个不同的版本。通常学习工作中使用的是Java SE,即标准版(Standard Edition),另外还有企业版(Enterprise Edition)的Java EE,还有手机丶嵌入式设备上使用的Java ME(Micro Edition)。Java的开发包叫做Java SDK(Java Software Development Kit),又叫做JDK(Java Development KIt)。
1.2 Java程序运行环境与特点
所有的程序语言大致分四类
- 汇编语言 — 最基础的编程语言,会被直接翻译为机器命令。优点是运行效率高,缺点是编程难度大。
- 编程型语言— 如C/C++丶Pascal等,这些语言所编写的源程序要通过编译器进行编译,生成目标代码,用连接器进行连接,最后形成可执行程序。因为经过编译的步骤在最后的目标机器上,程序可直接运行。
- 解释性语言— 如Basic丶Perl等,解释性语言的源程序不需要经过编译,直接由解释器读取每一行代码,每读一行就分析丶执行一行。缺点是运行效率低,但可以跨平台,具有优势。
- 脚本语言— 如DOS系统里有一种.bat文件,称作批处理文件。这种文件就是一种脚本语言写的程序。批处理文件里可以调用其他的可执行文件和软件,也可以判断他们的运行情况,还可以具有参数。这个层次的语言能力有限,但是可以调用别的可执行程序,从而扩展现有的现有可执行程序的功能。
1.2.1 跨平台(Cross Platform)/可移植性(Portable)
这个特点体现在“编译一次,到处运行”这句话上。Java源程序编译以后得到的字节码文件可以在各个平台上面使用。
可移植性表现在例如在一台国标码的机器上运行一个程序,与另一台使用大五码的机器通过这个程序进行通信,那么Java内部有一种机制会把国标码转化为Unicode,然后在另一台机器上转化为大五码。如此实现编码的同意而表现出Java的可移植性。
1.2.2 运行效率
有人认为Java的运行效率低,其根本原因是因为程序是解释运行。另一个原因是代码检查。第三个原因鲜为人知,Java的字节码是一种堆栈机结构,而我们现在使用的所有CPU都是寄存器机结构,运算都是在寄存器之间进行的。
1.2.3 稳定
用Java来写语言是比较稳定的,原因如下:
1.Java没有指针。
2.Java没有清除操作,因为指针释放时容易出错。程序员不能主动清除一个对象。JVM会帮助程序员完成这个操作,这个机制被称为垃圾收集机制。
3.Java中的数组是有下标检查的。他对数组有管理机制。无论是读还是写,Java都会对数组进行下标检查,但同时也提高了开发效率。
1.2.4 简单
Java的设计原则是KISS(Keep It Simple Stupid)。KISS主要体现在以下几点:
1.与C++相似,学过C++的人很容易看懂Java的程序。
2.Java没有指针。内存,数组都由Java来自动管理和检查。
3.Java被称为“C++ --”,因为它在C++的基础上去掉了很多东西,是比较纯粹的OOP(面向对象编程)的语言。
1.2.5 动态
Java没有传统的程序概念。Java在编译完成后不会产生可执行文件,而是形成一系列文件,即描述类文件(.class)。运行时就从这些类中家在某一个类,其中含有入口函数main,从而开始执行Java程序。函数main会生成其他的对象。这个函数需要那些类,JVM才会加载这些类,初始化对象,不需要的就不加载。
本期暂时只到这里,后续下期再更。。。。。。。。。