Java套路

Java套路学习

都说“最是套路得人心”,Java也一样?
嗯 ,好多套路!

来,看两个单词:

  • 套路:Routine(例程)
    • 固定套路:Fixed routine
  • 老套路:Stereotype(老一套;固定的形式;模式化的观念或形象;陈规旧俗;刻板印象,陈见)

个人非常喜欢stereotype这个单词,因为带点贬义,哈哈… 因为这玩意是双刃剑

■□ Java预热

Java十大就业方向

■ Java十大就业方向
	● 1 互联网后端开发,网站开发
	● 2 前端开发
	● 3 大数据/数据分析/数据科学
	● 4 Android/手机移动端开发/游戏开发/嵌入式开发
	● 5 (桌面)软件开发
	● 6 人工智能
	● 7 物联网
	● 8 云计算
	● 9 数据库开发
	● 10 安全、测试等
	

Java四大名著

■ Java四大名著
	● 《Effective Java》
	● 《Java并发编程实战》
	● 《深入理解Java虚拟机》
	● 《Java性能优化权威指南》

Java的六大特点

■ Java语言 - 特性:Feature
	Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、
	健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
	● 简单
	● 面向对象
	● 分布式
	● 解释性
	● 健壮
	● 安全与系统无关
	● 可移植
	● 高性能
	● 多线程
	● 动态


	■ Java的六大特点:
		● 简单
		● 面向对象
		● 分布式
		● 跨平台性(系统)
		● 安全性(内存)
		● 健壮性(让你的网站增加容错性)

Java学习三大块

■ Java学习三大块
	● Java基础语法
	● JavaWeb
	● 开发框架
	

Java三大体系:Java三大技术平台

■ Java三大体系:Java三大技术平台
	SunONE(OpenNetEnvironment)体系
	● Java SE
	● Java EE
	● Java ME
	

Java三大核心技术

■ Java三大核心技术
	● Java语言
	● Java虚拟机
	● Java平台

		Java平台包括:
			* Java平台标准类库
			* Java平台核心类库
			* 调试器
			* 开发工具
			* 内置的图形API等


	■ Java体系结构四大组件
		● Java编程语言
		● Java类文件格式()
		● Java应用程序编程接口(Java API)
		● Java虚拟机(JVM)
		完整的Java体系结构包括四个组件://Java二级考试大纲
		Java编程语言、Java类文件格式、Java应用程序编程接口和Java虚拟机
		

编程基础四大件

■ 编程基础四大件

	四大件分别为:
	● 数据结构与算法
	● 计算机网络
	● 操作系统
	● 设计模式
	

Java三大框架

■ Java三大框架
	■ Java老三大框架:SSH
		● Spring
		● Struts2
		● Hibernate

	■ Java新三大框架:SSM
		● Spring
		● SpringMVC
		● MyBatis
		

■□ JavaSE

Java程序开发三部曲

■ Java程序开发三部曲
	● 编码:Coding
	● 编译:Compile
	● 运行:Run
	

Java三种注释

■ Java三种注释
	● 单行注释
	● 多行注释
	● 文档注释
	

Java基本数据类型:4类8种

■ Java基本数据类型:4类8种
	● 整型:byte short int long
	● 浮点型:float double
	● 字符型:char
	● 布尔型:boolean
	

三种流程控制语句&结构

■ 三种流程控制语句或结构
	● 顺序结构
	● 分支结构
	● 循环结构
	

OOP三大特征

■ OOP三大特征:Java类的三大或三种要素
	● 封装
	● 继承
	● 多态
	■ OOP四大特征:+ ● 抽象
	

Java类的五大成员

■ Java类的五大成员
	● 属性		#成员属性 或 成员变量
	● 方法		#成员方法
	● 构造器		#constructor
	● 代码块		#block
	● 内部类		#

Java类的划分 - 三种类

■ Java类的划分 - 三种类:
	● 普通类
	● 抽象类
	● 接口
	再加一种:● 枚举类
	

Java访问权限修饰符:四类权限&三大修饰符

■ Java访问权限修饰符:四类权限&三大修饰符
	● public		#公共权限
	● protected		#受保护权限
	● (default)		#默认权限
	● private		#私有权限
	

API三部曲

■ API三部曲

	● 所在包
	● 构造器
	● 常用方法
	

Java集合框架(JCF)四大接口

■ Java集合框架(JCF)四大接口
	● Collection接口
	● 	List接口
	● 	Set接口
	● Map接口
	

Java集合框架(JCF)三大类接口:两个基本接口 + 工具类

■ Java集合框架(JCF)三大类接口:两个基本接口 + 工具类
	● Collection接口
	● Map接口
	● 工具类:Iterator, Enumeration and Arrays, Collections
		迭代器		枚举	数组工具类	单列集合工具类

Java四大排序算法:四种常用排序算法

■ Java四大排序算法:四种常用排序算法
	● 冒泡排序
	● 选择排序
	● 插入排序
	● 快速排序
	■ Java十大排序算法

网络编程三要素

■ 网络编程三要素:
	● IP:设备标识
		* IPv4:4个字节
		* IPv6:16个字节
	● 端口:应用标识
		* 1~65535
	● 协议:网络通信协议
		* UDP:
		* TCP:传输控制协议

Java8新特性:四大类型的函数式接口

■ Java8新特性:四大类型函数式接口
	● 消费型接口:Consumer<T>		#有进无出
	● 供给型接口:Supplier<T>		#无进有出
	● 函数型接口:Function<T, R>	#有进有出
	● 断定型接口:Predicate<T>	#有进出布

■□ JavaSE加强

JUnit三大注解

■ JUnit三大注解
	● @Before
	● @Test
	● @After
	

JUnit异常@Test方法没有提示信息的三种情况

■ JUnit异常@Test方法没有提示信息的三种情况:
	● @Test注解没有写
	● public写成了private
	● @Before注解的方法出了问题
	

■□ JavaWeb

关系型数据库 - 数据的五大约束

■ 关系型数据库 - 数据的五大约束
	● 主键约束
	● 唯一键约束
	● 外键约束
	● CHECK约束		#用于限制列中值的范围
	● NULL约束		#非空约束


JDBC三大接口

■ JDBC三大接口
	● Connection	连接接口
	● Statement	语句接口
	● ResultSet	结果集接口
	

JDBC六部曲

■ JDBC六部曲
	● 加载驱动
	● 获取连接
	● 准备 预编程语句
	● 执行查询,获取结果集
	● 处理数据,遍历结果集
	● 释放资源

三层架构

■ 三层架构

	● 表示层:Controller
	● 业务层:Service
	● 持久层:Dao

JavaWeb三件套

■ JavaWeb三件套
	● Servlet
	● Filter
	● Listener
	

Web会话双生子

■ Web会话双生子	#双胞胎,孪生姐妹,好哥俩,两兄弟,双子星,双翼
	● Session
	● Cookie

	■ Web会话三剑客
		● Session
		● Cookie
		● Token


	另:session,cookie,sessionStorage,localStorage

JavaWeb四大域对象及作用范围

■ JavaWeb四大域对象及作用范围
	● page域:当前页面有效		#仅本JSP有效	<<<当前JSP页面
		PageContext对象

	● request域:当次请求有效		#仅本次请求有效	<<<一个用户可多个
		HttpServletRequest对象

	● session域:当轮会话有效		#仅本次会话有效	<<<一个用户一个
		HttpSession对象
			获取:request.getSession()

	● application域:当下应用有效	#整个Web应用有效	<<<所有用户共用一个
		ServletContext对象


	四大域范围大小:page域 < request域 < session域 < application域
	

JSP九大内置对象

■ JSP九大内置对象
	● request		#请求
	● response		#响应
	● session		#会话
	● out			#输出
	● page			#当前JSP页面对象
	● application		#应用
	● exception		#异常
	● pageContext		#当前页,作用域
	● config		#配置

■□ Redis & Maven & Git

■ Redis三大特性

■ Redis三大神奇特性
	● 非常快的读写速度
	● 支持多种数据结构
	● 支持数据持久化
	

■ Redis五大数据类型

■ RedisRedis五大数据类型
	■ String		#字符串		<<<
	■ Hash			#哈希(即Map)	<<<K-V结构
	■ List			#列表			<<<元素有序,可重复
	■ Set			#集合			<<<元素无序,除重
	■ Sorted Set	#有序集合		<<<元素有序,除重
	

□ Maven两大作用

■ Maven两大作用
	● 依赖管理
	● 项目构建:一键构建
	

□ Maven的四大特征

■ maven的四大特征
	● 核心特征:依赖管理
	● 多模块构建
	● 一致的项目结构
	● 一致的构建模型和插件机制


□ Maven坐标三要素

■ Maven坐标三要素:GAV坐标
	● groupId
	● artifactId
	● version
	

□ Maven六大指令和三套生命周期

■ Maven六大指令和三套生命周期
	■ Maven六大指令
		● mvn clean
		● mvn clean compile
		● mvn clean test
		● mvn clean package
		● mvn clean install
		● mvn clean deploy

	■ 三套生命周期:
		● Clean
		● Default	#compile->test->package->install->deploy
		● Site		#生成项目报告、站点,发布站点


■ Git三个区域:git三剑客

■ Git三个区域:git三剑客
	● 【工作区】工作目录(Working Directory)
	● 【暂存区】暂存区(Stage/Index)
	● 【版本库】资源库(Repository或Git Directory) //本地仓库区,或历史记录区(history)

	
git本地操作基本命令
git init:
	git status
	git add .
	git commit -m ''
	

■ Git两类仓库

■ Git两大仓库
	● 本地仓库:local repository
	● 远程仓库:remote repository
	

■ Git代码提交三部曲

■ Git提交代码三部曲
	● git add			#添加到暂存区
	● git commit		#提交到版本库
	● git push			#提交到远端
	
	
补充:以上三个命令是最主要的命令,其他命令都是为其服务的


辅助功能	命令
初始化仓库	git init
克隆代码	git clone
比较差异	git diff
查看状态	git status
查看日志	git log
检出代码	git checkout
重置代码	git reset
恢复进度	git stash
里程碑	git tag
回滚操作	git revert
获取(不合并)	git fetch
合并操作	git merge
获取并合并(fetch+merge)	git pull
rebase命令(可以处理冲突和合并提交)	git rebase


■ Git拉取三大命令:和git push相对

■ Git拉取三大命令
	● git fetch		#从远程获取代码库
	● git full		#下载远程代码并合并
	● git clone		#拷贝一份远程仓库,也就是下载一个项目
	
	
	补充:git clone , git fetch , git pull
    git clone:拷贝一份远程仓库,包括clone仓库的版本变化.
    git fetch:是从远程获取最新版本到本地,不会自动merge.
    git pull:是从远程获取最新版本并merge到本地仓库.
    从安全角度出发,git fetch比git pull更安全,因为我们可以先比较本地与远程的区别后,选择性的合并。

■ Git分支管理五大指令

■ Git分支管理五大指令
	● 查看分支:git branch			#列表分支
	● 创建分支:git branch xxx
	● 切换分支:git checkout xxx		#创建并切换分支:git checkout -b xxx
	● 删除分支:git branch -d xxx
	● 合并分支:git merge xxx		#还有一个类似的命令:git rebase 

	

■□ 主流框架

Spring之APO五大注解:五粒纽扣

■ Spring之APO五大注解:五粒纽扣
	● @Before
	● @AfterReturning
	● @AfterThrowing
	● @After
	● @Around
	

Mybatis五大组件


■ Mybatis五大组件:
	● SqlSessionFactory
	● SqlSession
	● Mapper
	● MappedStatement
	● Executor

Mybatis三大对象:三个核心对象

■ Mybatis三大对象:三个核心对象
	● SqlSessionFactoryBuild
	● SQLSessionFactory
	● SqlSession
	

Mybatis三级缓存

■ Mybatis三级缓存
	● 一级缓存
	● 二级缓存
	● 三级缓存

Mybatis三个重要的插件

■ mybatis三个重要的插件
	● mybatis-generator
	● mybatis-plugin
	● mybatis-pagehelper

SpringMVC三大核心

■ SpringMVC三大核心:MVC
	● 模型(Model)
	● 视图(View)
	● 控制器(Controller)
	

SpringMVC三大组件

■ SpringMVC三大组件
	● 处理器映射器 HandlerMapping
	● 处理器适配器 HandlerAdapter
	● 视图解析器 ViewResovler
	

SSM工程结构:五间房

■ SSM工程结构:五间房
	● com.cc.ssm.controller
	● com.cc.ssm.mapper
	● com.cc.ssm.pojo
	● com.cc.ssm.service
	● com.cc.ssm.utils
	

■□ 分布式&微服务

Spring三件套

■ Spring三件套
	● Spring(含SpringMVC)
	● Spring Boot
	● Spring Cloud
	

Spring全家桶

■ Spring全家桶
	● Spring
	● SpringMVC
	● SpringBoot
	● Spring Cloud(Netflix)
	● Spring Cloud Alibaba
	● Spring Security
	● Spring Cache
	● Spring Session
	● Spring Task
	● 
	● 

SpringBoot四大组件

■ SpringBoot四大组件
	● stater				#启动器
	● auto-configuration	#自动配置组件
	● actuator				#执行元件
	● Springboot CLI		#命令行

Spring Cloud五大组件

■ SpringCloud五大组件
	● 注册中心:Netflix Eureka	#实现服务治理
	● 负载均衡:Netflix Ribbon	#提供客户侧的软件负载均衡算法;各个微服务进行分摊,提高性能;
	● 熔断/断路器:Netflix Hystrix,Resilience4j	#防止一个应用程序多次试图执行一个操作;保护系统,控制故障范围;
	● 服务调用:Feign,OpenFeign
	● 网关服务:Zuul,Spring Cloud Gateway	#具有api网关,路由,负载均衡等多种作用;
	● 配置中心:Spring Cloud Config	#将配置文件组合起来,放在远程仓库,便于管理;
	

SpringBoot开发三件套(3工具)+监控依赖(2件套)

■ SpringBoot开发三件套://3工具
	● devtools				#热部署	
	● lombok				#JavaBean简写
	● test starter			 #测试
	
	■ SpringBoot监控依赖(2件套)
		● web starter			#web
		● actuator starter		#执行元件
	

■□ 中间件



■□ 内功修炼

设计模式:GoF23 (降龙十八掌)

■ 设计模式:GoF23 (降龙十八掌)

	■ Java设计模式七大原则
		● 单一职责原则
		● 接口隔离原则
		● 依赖倒转/置原则
		● 里氏替换原则
		● 开闭原则
		● 迪米特法则
		● 合成复用原则
	
	■ Java五大基本原则
	原则一【SRP】:单一职责原则
	原则二【OCP】:开放封闭原则
	原则三【LSP】:LisKov替换原则
	原则四【DIP】:依赖倒置原则
	原则五【ISP】:接口隔离原则


	统称:Java - OO 三大特性和五大基本原则

java设计模式的两大主题

■ java设计模式的两大主题
	● 系统复用
	● 系统扩展

Java三大类设计模式

■ Java三大类设计模式:
	■ 创建型模式
	■ 结构型模式
	■ 行为型模式


	■ 创建型模式
	对象实例化的模式,创建型模式用于解耦对象的实例化过程。
		
		单例模式:某个类智能有一个实例,提供一个全局的访问点。
		
		工厂模式:一个工厂类根据传入的参量决定创建出哪一种产品类的实例。
		
		抽象工厂模式:创建相关或依赖对象的家族,而无需明确指定具体类。
		
		建造者模式:封装一个复杂对象的创建过程,并可以按步骤构造。
		
		原型模式:通过复制现有的实例来创建新的实例。

	■ 结构型模式
	把类或对象结合在一起形成一个更大的结构。
		
		装饰器模式:动态的给对象添加新的功能。
		
		代理模式:为其它对象提供一个代理以便控制这个对象的访问。
		
		桥接模式:将抽象部分和它的实现部分分离,使它们都可以独立的变化。
		
		适配器模式:将一个类的方法接口转换成客户希望的另一个接口。
		
		组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。
		
		外观模式:对外提供一个统一的方法,来访问子系统中的一群接口。
		
		享元模式:通过共享技术来有效的支持大量细粒度的对象。

	■ 行为型模式
	类和对象如何交互,及划分责任和算法。
		
		策略模式:定义一系列算法,把他们封装起来,并且使它们可以相互替换。
		
		模板模式:定义一个算法结构,而将一些步骤延迟到子类实现。
		
		命令模式:将命令请求封装为一个对象,使得可以用不同的请求来进行参数化。
		
		迭代器模式:一种遍历访问聚合对象中各个元素的方法,不暴露该对象的内部结构。
		
		观察者模式:对象间的一对多的依赖关系。
		
		仲裁者模式:用一个中介对象来封装一系列的对象交互。
		
		备忘录模式:在不破坏封装的前提下,保持对象的内部状态。
		
		解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器。
		
		状态模式:允许一个对象在其对象内部状态改变时改变它的行为。
		
		责任链模式:将请求的发送者和接收者解耦,使的多个对象都有处理这个请求的机会。
		
		访问者模式:不改变数据结构的前提下,增加作用于一组对象元素的新功能。

Java五大算法:五种常用算法

■ Java五大算法:五种常用算法
	● 分治法
	● 贪心算法
	● 动态规划算法
	● 回溯法
	● 分支限界法

Java线程的六种状态

■ Java线程的六种状态
	● 初始(NEW)
	● 运行(RUNNABLE)
	● 阻塞(BLOCKED)
	● 等待(WAITING)
	● 超时等待(TIMED_WAITING)
	● 终止(TERMINATED)

Java NIO 四大核心组件

■ Java NIO 四大核心组件
	● Channel
	● Buffer
	● Selector
	● SelectKey

Java五大内存分区/结构

■ Java五大内存分区/结构:
	● 栈(stack)
	● 堆()
	● 方法区(Method Area)
	● 本地方法栈(Native Method Stack)
	● 寄存器(PC Register)


Java四种主要的IO模型

■ Java四种主要的IO模型
	● 1、同步阻塞IO
	● 2、同步非阻塞IO
	● 3、IO多路复用
	● 4、异步IO

Java内存模型的两大部分

■ Java内存模型的两大部分:
	● 主内存
	● 线程工作内存

Java内存模型确保正确访问共享内存的三大原则

■ Java内存模型确保正确访问共享内存的三大原则
	● 可见性
	● 原子性
	● 有序性

Java四大引用

■ Java四大引用
	● 强引用
	● 弱引用
	● 软引用
	● 虚引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值