JavaSE入门
1 前言
1.1 解决疑问
我觉得重要的点:
-
要学习英语
-
要坚持学习,最重要
1.2 学习路线
总路线
学习内容 | 学习时间/天 |
---|---|
JavaSE | 19 |
数据库 | 4 |
前端 | 7 |
JavaWeb | 7 |
SSM框架 | 9 |
Linux | 7 |
SpringBoot | 8 |
SpringCloud | 7 |
Hadoop | 8 |
JavaSE
- 计算机基础
- 博客的重要性
- Java基础语法
- 流程控制
- 方法
- 数组
- 面向对象
- 异常
- 常用类
- 集合框架
- IO
- 多线程
- GUI
- 网络编程
- 注解和反射
- JUC编程
- JVM探究
- 【扩展】设计模式
- 【扩展】XML
- 【扩展】数据结构与算法
- 【扩展】正则表达式
数据库
- MySQL
- JDBC
- UML类图
- 数据库设计
前端
- HTML
- CSS
- JS
- jQuery
- Layui/BootStrap
- Vue
JavaWeb
- Tomcat
- Http
- Maven
- Servlet
- Session
- Cookie
- JSP
- 三层架构
- JSTL,EL表达式
- 过滤器
- 监听器
- 文件上传
- 邮件收发
- 【扩展】富文本编辑器
至此,做出一个网站已经没有问题了。
SSM框架
- Git
- MyBatis
- Spring
- SpringMVC
Linux
- Linux基础
- Redis
- Nginx
- Docker
至此,去小公司上班已经足够了。
Spring Boot
- SpringBoot基础
- SpringBoot配置及原理
- SpringBoot持久化操作
- SpringBoot Web开发
- SpringBoot 缓存
- SpringBoot 消息
- SpringBoot 检索
- SpringBoot 任务
- SpringBoot 安全
- Dubbo+Zookeeper 分布式开发
SpringCloud
- 微服务及微服务架构
- SpringCloud
- Eureka服务注册与发现
- Feign,Ribbon负载均衡
- Hystrix 熔断机制
- Zuul 路由网关
- SpringCloud Config配置中心
Hadoop
- 大数据时代
- Hadoop简介
- Hadoop环境搭建
- HDFS
- MapReduce
- Yarn
- Hive
- Hbase
1.3 学习方法
多写代码,多写笔记,多写文章
(笔记自己看,文章练表达和文笔,加深理解同时给别人看)
多练交流,多练思维,多练技能
多分享知识,多提问怎么了,多思考为什么
最重要的是坚持
每个牛B人物背后都有端苦逼的岁月,只要像sb一样的坚持,终将牛B
2 预科
2.1 写博客的重要性
- 需要总结和思考。
- 提示文笔组织
- 提示逻辑思维
- 帮助别人,结交朋友
我们不能一直赶路,却忘记了放慢脚步
写博客短期内可能看不到效果,但是长期坚持下来一定会有所收获
2.2 MarkDown语法
标题
分六级,不同数量的# + “ ”
段落格式
段落换行
是使用两个以上的空格加回车换行
或使用一个空行
字体
*号和_线都可以用来表述字体
分隔线
三个以上的星号,减号,底线都可以
***
* * *
---
___
删除线
两端加~~
下划线
可以通过HTML的<u>
标签来实现
脚注
这样[1]
这样[^run]
[^run]:奔跑
列表
有序列表
使用+ - * 皆可
无序列表
使用1.
列表嵌套
前面加四个空格
Typora Ctrl + 空格嵌套列表
区块
在段落的开头使用>后紧跟一个空格
使用不同数量的>来嵌套区块
也可以再区块里使用列表
列表里也可以使用区块
代码
段落上的一个函数或片段的代码可以用反引号包起来`
四个空格或制表符Tab键
使用```并指定语言
链接
[链接名称](链接地址)
<链接地址>
这个链接使用1作为网络变量[Google][1]
并在文档的末尾为变量赋值
[1]:http://www.google.com
图片
![alt 属性文本](图片地址)
![alt 属性文本](图片地址 "可选标题")
使用HTML中标签来指定高度与宽度
表格
使用|来分隔不同的单元格,使用-来分隔表头和去其他行
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
-: 设置内容和标题栏居右对齐。
:- 设置内容和标题栏居左对齐。
:-: 设置内容和标题栏居中对齐。
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
高级技巧
支持HTML元素
转义字符
公式
当你需要在编辑器中插入数学公式时,可以使用两个美元符 $$ 包裹 TeX 或 LaTeX 格式的数学公式来实现
Typora画图
Typora可以画流程图,时序图,甘特图
点击进入菜鸟教程Markdown 高级技巧
点击进入Typora官网
2.3 Windows常用快捷键
Ctrl + A 全选
Ctrl + X 剪切
Ctrl + Z 撤销
Ctrl + S 保存
Alt + F4 关闭
Win + R 运行
Win + E 文件
Shift + Delete 永久删除
Ctrl + Shift +Esc 资源管理器
2.4 基本Dos命令
查看文件 dir
清理屏幕 cls
查看电脑ip ipconfig
打开应用
- 计算器 calc
- 画图 mspaint
- 记事本 notepad
文件
- md 创建目录
- rd 删除目录
- cd> 创建文件
- del 删除文件
3 简介
3.1 Java诞生
Java 是由 Sun公司于 1995 年 5 月推出的
后来 Sun 公司被 Oracle (甲骨文)公司收购
3.2 Java特性
-
Java 语言是简单的:
Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
-
Java 语言是面向对象的:
Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
-
Java语言是分布式的:
Java语 言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
-
Java 语言是健壮的:
Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
-
Java语言是安全的:
Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。
-
Java 语言是体系结构中立的:
Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
-
Java 语言是可移植的:
这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
-
Java 语言是解释型的:
如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
-
Java 是高性能的:
与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
-
Java 语言是多线程的:
在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
-
Java 语言是动态的:
Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
3.3 Java三大版本
JavaSE 标准版
JavaME 嵌入式开发
JavaEE 企业级开发
3.4 JDK,JRE,JVM
JDK Java Development Kit
JRE Java Runtime Environment
JVM Java Virtual Machine
3.5 安装开发环境
下载JDK
配置环境变量
下载IDEA
3.6 编译型和解释型
Java编译 字节码 JVM解释
3.7 IDEA
我们的集成环境
反编译
Java 编译 class 字节码文件
class 字节码文件 反编译 Java
IDEA 可以实现反编译
将class文件在项目中打开可以看到反编译后的代码已经和我们写的有所区别
快捷键
Ctrl + D 将本行代码复制到下一行
Ctrl + H 查看继承树
Ctrl + Alt + T 包裹代码块
奔跑 ↩︎