目录
[1. 基本内容介绍和软件安装](#1. 基本内容介绍和软件安装)
[2. 快速入门之第一个程序 hello world](#2. 快速入门之第一个程序 hello world)
[3. 学习方法](#3. 学习方法)
基本介绍和软件安装
一、 Java 岗位与应用场景
说明:java 基础也称javaSE
岗位
复制代码
### 1. javaEE 软件工程师
*
### 电商领域
*
### 团购
*
### 众筹
*
### sns(社交网络)
*
### 教育
*
### 金融
*
### 搜索
复制代码
### 2. 大数据软件工程师
*
### 大数据应用工程师
*
### 大数据算法工程师
*
### 大数据分析和挖掘
复制代码
### 3. Android 工程师
*
### android 平台
应用场景
复制代码
### 1. SSM
*
### Spring
*
### 轻量级的容器框架
*
### Spring MVC
*
### 分层的 web 开发框架
*
### Mybatis
*
### 持久化框架
复制代码
### 2. 大数据(Hadoop)
复制代码
### 3. Android 应用开发
复制代码
### 4. 移动开发领域
二、Java 的历史(简要了解即可)
1990 sun 公司 启动 绿色计划
1992 创建 oak (橡树)语言 ->java
1994 gosling 参加 硅谷大会 演示 java 功能,震惊世界。
1995 sun 正式发布 java 第 1 个版本。
2009 年,甲骨文公司宣布收购 Sun。2011,发布 java7
三:Java 技术体系平台
Java SE (Java Standard Edition) 标准版
复制代码
### 支持面向桌面级应用(如 Windows 下的应用程序)的 Java 平台,提 供了完整的 Java 核心 API,此版本以前称为 J2SE。
Java EE (Java Enterprise Edition) 企业版
复制代码
### 是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp 等,主要针对 Web 应用程序开发。版本以前称为 J2EE。
Java ME (Java Micro Edition) 小型版
复制代码
### 支持 Java 程序运行在移动终端(手机、PDA)上的平台,对 Java API 有所精简,并加入了针对移动终端的支持,此版本以前称为 J2ME。
四、Java 特点
OOP(面向对象)
跨平台(生成 class 文件之后再 JVM 的加持下可以在不同的操作系统中运行)
Java 是解释型语言,需要解释器,编译后的文件不可以直接运行
Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证
严格区分大小写
五、Java 运行机制和流程
首先在 Java 文件里面编写代码,之后编译生成 class 文件,区别于 C/C++语言,这个文件不能被直接运行,即需要一个解释器JVM(Java virtual machine)
JVM 的基本介绍
1. JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区。负责执行指令、管理数据、内存、寄存器,包含在 JDK 中。
2. 对于不同的平台,有不同的虚拟机。
3. Java 虚拟机屏蔽了底层运行平台的差别,实现了一次编译,到处运行
>>JVM , JDK , JRE 是啥,有什么关系?
1. JDK 基本介绍
复制代码
### JDK 的全称(Java Development Kit) Java 开发工具包
复制代码
### JDK = JRE + java 的开发工具 \[java, javac, javadoc, javap 等\]
复制代码
### JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不需要单独安装 JRE 了。
2. JRE 基本介绍
复制代码
### JRE (Java Runtime Environment) Java 运行环境
复制代码
### JRE = JVM + Java 的核心类库 \[类\]
复制代码
### 包括 Java 虚拟机 (JVM Java Virtual Machine) 和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。
3. JDK, JRE 和 JVM 的包含关系
复制代码
### JDK = JRE + 开发工具集(例如 Javac, java 编译工具等)
复制代码
### JRE = JVM + Java SE 标准类库 (java 核心类库)
复制代码
### 如果只想运行开发好的 .class 文件,只需要 JRE
六、Java 开发工具
editplus
notepad++
Sublime Text
eclipse
IDEA
为什么需要配置环境变量?
当我们在 cmd 后的命令提示符窗口敲入命令(dos 命令)的时候,会优先在当前路径下找到是否由与执行命令相关的文件,如果没有就会去系统环境变量中找,如果没有配置系统环境变量,就无法执行命令或者报错---配置 JDK 的 bin 目录到环境变量中
首先新建环境变量
复制代码
### 变量名:%JAVA_HOME%
复制代码
### 变量值:JDK 中 bin 目录的路径
接着配置环境变量
复制代码
### 点击 PATH,选择编辑
复制代码
### 新建环境变量,命名为:%JAVA_HOME%\\bin
第一个 Java 程序
说明:为了更好的熟悉代码的编写过程,前期使用Subline text编写,使用 cmd 命令提示符,编译,运行,体会代码的执行过程
使用说明
首先新建文件,文件另存为,记得添加文件后缀:.java
每次编写完成后需要保存文件
调整字体大小:在上方菜单找到-->首选项-->设置-用户,跳转到配置文件中,修改font-size
的值即可,这里建议修改成20
由于使用的是 cmd 命令提示符来编译运行代码,经查看可以发现支持的是GBK 编码格式(支持中文输出),这里需要修改并保存:上方菜单-->文件-->设置文件编码-->选择 GBK-->保存文件
要求输出:hello world
代码如下:
java
复制代码
public class hello
{
public static void main(String[] args)
{
System.out.println("hello world");
}
}
代码解析
1. public class Hello 表示 Hello 是一个类,是一个 public 公有的类,这里的hello 需要换成文件名称
复制代码
### 也可以说是文件名必须按照该类命名
2. Hello{ } 表示一个类的开始和结束
3. public static void main(String[] args) 表示一个主方法,即我们程序的入口
复制代码
### 注意:一个源文件中最多只能有一个 public 类,其他类的个数不限,也可以将 main 方法写在非 public 类中,然后指定运行非 public 类,这样入口的方法就是非 public 的 main 方法
```java
public class Hello {
//编写一个main方法
public static void main(String[] args) {
System.out.println("hello");
}
}
class Dog {
public static void main(String[] args) {
System.out.println("hello, 小狗狗");
}
}
class Tiger {
public static void main(String[] args) {
System.out.println("hello, 小老虎");
}
}
```
复制代码
### 说明
*
### 在编译`javav hello.java`的时候就会出现三个类的`class`文件
*
### 这个时候就可以选择运行哪个类,控制台就会输出指定类的内容
4. main() {} 表示方法的开始和结束
5. System.out.println("hello,world~"); 表示输出"hello world"到屏幕
复制代码
### 注意:println 函数在输出内容之后会自动换行
6. ;
表示语句结束
文件执行过程介绍
1. 首先在文件目录下输入 cmd,使路径指向当前文件目录
复制代码
### 使用技巧补充(提高输入命令的效率)
*
### 输入前几个字按下 TAB 键可以实现自动补齐
*
### 按上下键可以调出使用过的命令
2. 使用命令javac 文件名.java
编译文件
3. 使用命令java 文件名
运行文件,在控制台查看运行结果
注意事项:
复制代码
### 1. 运行的前提是文件编码格式是GBK的
复制代码
### 2. 每次修改文件后需要保存文件
复制代码
### 3. 修改文件之后需要重新编译才可以看到修改后的文件运行结果
文件执行流程分析
1. 源文件:.java
文件
2. 编译:javac 文件名
复制代码
### 通过编译器将其编译成JVM 可以识别的字节码文件
3. 生成字节码文件(class 文件)
复制代码
### 本质:就是将`.class`文件装载到 JVM 虚拟机中被执行
4. 运行:java 文件名
5. 控制台查看运行结果
学习方法
一句话总结:先学习大概框架,掌握核心内容,之后再对细节进行深挖,对技术进行优化(这是一个循环的过程)
以下内容来自老韩分享
如何快速学习技术或知识点?
1. 需求
复制代码
### (1)工作需要
复制代码
### (2)跳槽,对方要求
复制代码
### (3)技术控
2. 看看能否使用传统技术解决
复制代码
### (1)能解决,但不完美
复制代码
### (2)解决不了
3.引出我们学习的技术和知识点
4. 学习新技术或者知识点的基本原理和基本语法==(不考虑细节)==
5. 快速入门
6.开始研究技术的注意事项,使用细节,使用规范,如何优化,没有止境!!!
7. 多写注释,对自己的代码负责
8. 认真看,动手做,去复盘,学好每一个知识点,掌握每一门技术
9. 强调:先思考-->自己练习-->看老师评讲