[[Java 基础知识]]
考试月忙着复习计算机病毒,网络攻防,协议分析,密码学,还有实训.
一个月没接触JAVA,都快忘光了.
之前买的SpringBoot的书,太多Spring的annotation没学过,看得很难受.
所以暑假买了本SSM的书,从Spring->SpringMVC->SpringBoot一步步学起.
然后,看书之前,先把Java和Java Web的基础内容复习一下.
首先,从最简单的hello world来看Java的基础语法和编译执行过程.
package com.company; public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } }
第一句的package com.company;
,就是声明当前java文件所在的包,类似于C/C++里的library,Python里的package.
不过其他语言都只通过文件夹和路径,来限定一个package的范围.
Java在每个源文件头部,都显示地做了声明.
接下来是我们的类声明和主函数声明定义.
Java是一门彻头彻尾的面向对象语言,通过类和方法来组织代码,就像面向过程的C,用函数来组织代码一样.
有了类和对象,这层更高级的抽象,为代码复用和更高级的设计模式奠定了基础.
第二句public class Main
,类的定义,由三部分组成访问修饰符 class 类名 {...}
class
是声明类的关键字,类名就是这个类的名字,都好理解.
访问修饰符呢,得解释一下.
Java中有很多修饰符,主要分为两大类
访问修饰符,顾名思义,就是用来控制 类,变量,方法和构造函数 访问权限的修饰符,有如下四类:
非访问控制符,包括static,fianl,abstract,synchronized,volatile等等,之后用到再逐一介绍.
详见参考资料.
第三句public static void main(String[] args)
这些关键字依次是 访问修饰符,static关键字,返回类型,方法名,参数类型和参数名
System.out.println("Hello World!");
则是调用Java类库的println()
函数输出字符串Hello World!
具体Java类库包含哪些package,以及具体功能详见参考资料.
解析完源码后,我们就可以进行编译执行了.
在命令行中输入javac HelloWorld.java
将Java源程序(.java)编译成字节码程序(.class)
接着输入java HelloWorld
解析执行字节码程序
如图所示,和C/C++这种编译型程序比起来,Java程序多了通过解释器进行解释执行的过程.
这使得Java程序效率较C/C++低,但是也获得了跨平台的优势(在Windows上开发的程序,能够直接在Linux服务器上正常的运行).
同时因为Java程序有编译成字节码,而不是像Python一样完全依靠解析,所以也有不错的性能.
就我认为,综合来说,Java在性能,可移植和开发效率性达成了一个比较好的平衡,非常适合商业软件的开发.