<!--所有的html元素都可以被 thymleaf替换接管: th:元素名-->
//在templates目录下的所有页面,只能通过Controller来跳转 //需要模版引擎的支持,themleaf的
模版引擎:Thymeleaf
SpringBoot 扩展MVC
SpringData与springboot起名的项目
修改SpringBoot的默认配置
Druid:数据源
Druid可以很好的监控DB池联结和SQL的执行情况,天生就是针对监控而生的DB连接池。
SpringBoot 2.0以上默认使用Hikari数据源,可以说Hikari与Driud都是当前JavaWeb上最优秀的数据源。
拦截器和过滤器比较冗余
shiro:安全框架
SpringSecurity安全框架
Swagger:
后端时代:前端只用管理静态页面;jsp是模版引擎
前后端分离时代:
后端:后端控制层 服务层 数据访问层
前端:前端控制层 视图层
伪前端:伪造后端数据,json .不需要厚度那工程依旧能够跑起来
前后端如何实现交互: API接口
jedis:采用的直连,多个线程操作的话是不安全的,如果想要避免不安全的,使用jedis pool连接池!更像BIO模式。
lettuce: 采用netty, 实例可以再多个线程中进行共享,不存在线程不安全的情况,更像Nio模式。
SpringBoot 所有的配置类, 都有一个自动配置类。
Swagger号称世界上最流行的Api框架。支持多种语言。
RestFul Api:文档在线自动生成工具==>Api文档与API定义同步更新
pojo的序列化
自定义RedisTempllate
分布式 Dubbo + zookeeper
分布式系统是若干个独立计算机的集合,这些计算机对于用户来说就像单个相关系统。
http
RPC:远程默认调用, 两个核心模块:通讯、序列化。
Nrtty : 30天。
zookeeper的默认端口:
Dubbo 18年重启, 被SpringCloud干掉了。
Dubbo是一款高性能的JavaRPC框架。他提供了三大核心能力:面相接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和 发现。
序列化:
Google起家很穷,GFS文件管理系统
Hadoop hive
5G出来,分布式更轻松
负载均衡 NGINX(反向代理服务器):就是一个配置。
只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升高昂到得不偿失的时候,应用程序也不能进一步优化 的时候,我们才需要考虑分布式系统。
因为分布式系统本身也很复杂。
ORM MVC RPC SOA(云端,阿里云)
本地过程调用:
远程调用:
zookeeper: 注册中心。
Eureka:注册中心,和zookeeper差不多。
restful:
熔断机制:Hystrix 容灾备份。
熔断机制是对应雪崩效应的一种微服务链路保护机制。
NetFlix
Dubbo是一个jar包
Ribbon:
面试造飞机,工作拧螺丝。
轮询、随机
红黑树,
负载均衡,将用户的请求均衡的分配到多个服务器上
zuul路由网关:
SpringCloud config分布式配置中心与GitHub
什么事OOM
什么事栈溢出
类加载器
JVM虚拟机
JVM的常用调优参数有哪些?
JVM的位置
JVM的体系结构
类加载器
沙箱安全机制
双亲委派机制
Native
PC寄存器
三种JVM
堆内存调优
GC垃圾回收机制
JUC:
红黑树,哈希树
Lock锁
传统Synchronized内置的关键字 Lock是一个java类
Synchronized无法判断获取锁的状态
Lock可以判断是否获得到了锁
lock必须要手动释放锁,如果不释放锁,死锁》
单例模式:
饿汉式单例:
懒汉式单例
搞懂枚举:
自旋锁:
CAS: compareAndSet 比较并交换。
操作系统
计算机网络
Volatile是java虚拟机提供的轻量级的同步机制。
1. 保证可见性
2. 不保证原子性
3. 禁止指令重排
JMM: java内存模型,不存在的东西,概念,约定。
ABA问题:狸猫换太子
POI提供API给JAVA程序对Microsoft Office格式档案读和写的功能。
EasyExcel
Linux(CentOS): 操作系统 Windows Ubuntu
运维对Linux的了解比较深
宝塔面板
Xshell 软件
消息队列(Kafka\RabbitMQ\RockeetMQ)、缓存(Ridis)、搜索引擎(ES)、集群分布式(需要购买多台服务器,如果没有服务器只能使用服务器)。
Redis:
ElasticSearch:
模糊搜索,不适合大数据
写索引
分布式的全文搜索引擎
Soir:
ELK生态圈:(精通)
分词器:IK分词器
RestFul 操作ES
ES的CRUD
SpringBoot集成
爬取数据
模拟全文检索
大数据量的搜索建议用ES