Java技术进阶

 

优势

  1. 基于JVM虚拟机的跨平台语言,一次编写,到处运行;
  2. 程序易于编写,而且有内置垃圾收集,不必考虑内存管理;
  3. 虚拟机拥有工业级的稳定性和高度优化的性能,且经过了长时期的考验;
  4. 拥有最广泛的开源社区支持,各种高质量组件随时可用。

分类

  1. Java SE:Standard Edition
  2. Java EE:Enterprise Edition
  3. Java ME:Micro Edition

Java技术进阶_第1张图片

学习路线

  1. 首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用;
  2. 如果继续学习Java EE,那么Spring框架、数据库开发、分布式架构就是需要学习的;
  3. 如果要学习大数据开发,那么Hadoop、Spark、Flink这些大数据平台就是需要学习的,他们都基于Java或Scala开发;
  4. 如果想要学习移动开发,那么就深入Android平台,掌握Android App开发。

JDK和JRE

JRE是运行Java字节码的虚拟机。JDK将Java源码编译成Java字节码,JDK除了包含JRE,还提供了编译器、调试器等开发工具

Java技术进阶_第2张图片

安装与配置

1. 下载:https://www.oracle.com/technetwork/java/javase/downloads/index.html

2. 安装

3. 配置

  1. 右键单击此电脑->属性->高级系统设置,选择“环境变量”
  2. 在“系统变量”栏下单击“新建”,创建新的系统环境变量
  3. 变量名"JAVA_HOME",变量值"D:\Program Files\Java\jdk1.8.0_202",点击确定
  4. 变量名"Path"后加上%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin

4. 验证

  1. win+R打开运行,输入CMD打开命令提示符窗口
  2. 分别输入java,javac,java -version指令查看是否可看到JDK的编译器信息

5. JetBrains系列软件破解

  1. 复制jetbrains-agent.jar文件到安装目录bin文件夹下
  2. 打开软件,选择试用(Evaluate for free)
  3. 点击Configure -> Edit Custom VM Options ...
  4. 在末尾输入:-javaagent: D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\bin\jetbrains-agent.jar
  5. 保存,重启软件
  6. 点击Configure -> Manage License...
  7. 支持两种注册方式: License server 和 Activation code

         1) License server方式:地址填入http://jetbrains-license-server (自动填充)或点击 Discover Server 自动填充

         2) Activation code方式离线激活:使用ACTIVATION_CODE.txt 内的注册码激活。如果激活窗口一直弹出(error 1653219),去hosts文件里移除jetbrains相关的项目。如果需要自定义License name,访问https://zhile.io/custom-license.html

bin目录下的可执行文件

  1. java:其实就是JVM,运行Java程序,启动JVM,然后让JVM执行指定的编译后的代码;
  2. javac:Java的编译器,用于把Java源码文件(以.java后缀结尾)编译为Java字节码文件(以.class后缀结尾);
  3. jar:用于把一组.class文件打包成一个.jar文件,便于发布;
  4. javadoc:用于从Java源码中自动提取注释并生成文档;
  5. jdb:Java调试器,用于开发阶段的运行调试。

Java程序简单说明

//Hello.java

public class Hello {

    public static void main(String[] args) {

        System.out.println("Hello, world!");

    }

}

说明

  1. 类名Hello,大小写敏感,class用来定义一个类,public表示这个类是公开的
  2. public、class是Java的关键字,必须小写
  3. 类定义的public static void main(String[] args)是Java程序的固定入口方法,Java程序总是从main方法开始执行
  4. 一个Java源码只能定义一个public类型的class,并且class名称和文件名要完全一致
  5. 不写public,也能正确编译,但无法从命令行执行
  6. Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组
  7. 类名首字母一般大写,方法名首字母一般小写

运行

 

  1. javac Hello.java
  2. dir

 

  1. java Hello

                                                               

常用IDE

EclipseIntelliJ IdeaNetBeans

基本数据类型

整数类型:byte,short,int,long

浮点数类型:float,double

字符类型:char

布尔类型:boolean

数组

数组所有元素初始化为默认值,整型是0,浮点型是0.0,布尔型是false

必须使用new int[n]创建n维数组,一旦创建,大小就不可改变

输入输出

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in); // 创建Scanner对象

        System.out.print("Input your name: "); // 打印提示

        String name = scanner.nextLine(); // 读取一行输入并获取字符串

        System.out.print("Input your age: "); // 打印提示

        int age = scanner.nextInt(); // 读取一行输入并获取整数

        System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出

    }

}

说明

  1. println是print line的缩写,表示输出并换行。如果输出不想换行,可以用print()
  2. 格式化输出使用System.out.printf()

占位符

说明

%d

格式化输出整数

%x

格式化输出十六进制整数

%f

格式化输出浮点数

%e

格式化输出科学计数法表示的浮点数

%s

格式化字符串

  1. 使用Scanner对象来输入,读取类型可用scanner.nextLine() / nextInt() / nextDouble() / ...

Web开发常用框架

Spring,Struts/Struts2,Hibernate,SpringMVC,MyBatis,SSH,SSM,SpringBoot

SpringBoot框架

本质上,Spring Boot就是Spring,它做了那些即使没有它你也会去做的Spring Bean配置

优点

  1. 快速创建独立运行的spring项目以及与主流框架集成
  2. 使用嵌入式的servlet容器,应用无需打成WAR包
  3. Starters自动依赖和版本控制
  4. 大量的自动配置,简化开发,也可修改默认值
  5. 无需配置XML,无代码生成,开箱即用
  6. 准生产环境的运行时应用监控
  7. 与云计算的天然集成

开发环境

Spring Tool Suite (STS)[ Spring官方出品,基于Ecplise],IntelliJ IDEA

Spring Initializr

https://start.spring.io/

 

 

使用IntelliJ IDEA入门

安装JDK 8 +,Gradle和Maven(设置环境变量,即bin文件位置)

 

 

Code:https://github.com/spring-guides/gs-rest-service

导入项目

选择Maven的pom.xml或Gradle的build.gradle

 

 

 

常用注解

 

 

 

SpringBoot数据库操作

三种方式:JdbcTemplate,JPA,Mybatis

pom添加依赖

 

修改端口号:src/main/resources目录下

  1. application.properties中添加server.port=8088
  2. application.yml中添加

server:

  port:8088

 

 

 

 

你可能感兴趣的:(Java技术进阶)