从另外一个角度看java
经典的hello world
1 | // Hello.java |
这里需要注意两点:
- 文件名和类名是一样的
- 文件名和类名是大小写敏感的
在命令行中执行1
2
3
4 javac Hello.java
此时多出一个Hello.class文件
java Hello
HelloWorld! # 此处输出HelloWorld。
如果不是单文件工程的写法
1 | // 定一个java类 |
- 一个源文件只能有一个public类
- 一个源文件可以有多个非pulic类
- 如果类定义在某个包中,那么package定义在源文件首行
- 如果源文件包含import语句,那么import应该放在package和类定义之间
java的继承
1 | class Vehicle{} |
- java只支持单继承(继承基本类和抽象类)
- 但是可以用接口来实现多继承
1
public class Apple extends Fruit implements Fruit1, Fruit2{}
java包 package
package的作用是为了更好的组织类,防止命名冲突。
package的目录结构
类放在包中会有两种主要的结果:
- 包名成为类名的一部分,正如我们前面讨论的一样。
- 包名必须与相应的字节码所在的目录结构相吻合。
打包成可执行文件
MANIFEST-employee.MF1
2
3
4Manifest-Version: 1.0
Created-By: michael
Class-Path: .
Main-Class: employee/EmployeeTest
脚本打包成jar文件1
2
3
4
5
6
7 tree employee
employee
├── Employee.class
├── Employee.java
├── EmployeeTest.class
└── EmployeeTest.java
jar cvfm eee.jar MANIFEST-employee.MF -C employee .
java框架选择
- 基础框架 Spring Boot, Netty
- 微服务框架 Spring Cloud
- 数据访问层 Hibernate, MyBatis
还有一些乱七八糟的东西
- JSP,Javabean,Servlet
- Tomcat
- Struts
- SpringMVC
- JDBC
- SpringBoot
jar && war
待补充
maven的加速器
增加到maven的setting.xml中,可能在~/.m2下面,也有可能在/etc/maven下面
1 | <mirrors> |