学习总结
岁月神偷原创
编程与编剧,异曲同工之妙!
展开
-
吊打面试官----精华汇总之分布式事务
先介绍常见的几种分布式事务解决方案,属于近两年面试必问题目。1.两阶段提交(2PA)两阶段提交,有一个事务管理器的概念,负责协调多个数据库(资源管理器)的事务,事务管理器先问问各个数据库你准备好了吗?如果每个数据库都回复ok,那么就正式提交事务,在各个数据库上执行操作;如果任何一个数据库回答不ok,那么就回滚事务。这种分布式事务方案,比较适合单块应用里,跨多个库的分布式事务。但是因为严...原创 2020-05-01 22:54:32 · 227 阅读 · 0 评论 -
吊打面试官----精华汇总之设计模式与重构
1. 说说几个常见的设计模式(23种设计模式)?2. 设计一个工厂的包的时候会遵循哪些原则?3. 列举一个使用了 Visitor/ Decorator模式的开源项目/库?4. 如何实现一个单例?5. 代理模式(动态代理)?6. 单例模式(懒汉模式,恶汉模式,并发初始化如何解决, volatile与lock的使用)?7. JDK源码里面都有些什么让你印象深刻的...原创 2019-12-20 22:04:36 · 594 阅读 · 0 评论 -
吊打面试官----精华汇总之网络编程
1. TCP建立连接和断开连接的过程?2. HTTP协议的交互流程? HTTP和HTTPS的差异,SSL的交互流程?3. TCP的滑动窗口协议有什么用?4. HTTP协议都有哪些方法?5. Socket交互的基本流程?6. 讲讲tcp协议(建连过程,慢启动,滑动窗口,七层模型)?7. webservice协议(wsdl/soap格式,与restt办议的区别)...原创 2019-12-20 21:31:12 · 1016 阅读 · 0 评论 -
服务的有状态和无状态
对服务器程序来说,究竟是有状态服务,还是无状态服务,其判断依据是——两个来自相同发起者的请求在服务器端是否具备上下文关系。状态化请求,服务器端一般都要保存请求的相关信息,每个请求可以默认地使用以前的请求信息。无状态请求,服务器端所能够处理的过程必须全部来自于请求所携带的信息,以及其他服务器端自身所保存的、并且可以被所有请求所使用的公共信息。总结:有状态服务可以比较容易地实现事务,在...原创 2019-12-19 21:38:42 · 315 阅读 · 0 评论 -
zookeeper宕机
现象:zookeeper注册中心宕机,还可以消费dubbo暴露的服务。原因:监控中心宕掉不影响使用,只是丢失部分采样数据数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务注册中心对等集群,任意一台宕掉后,将自动切换到另一台注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯服务提供者无状态,任意一台宕掉后,不影响使用服务提供者全部宕掉后,服务消费者应用将...原创 2019-12-19 21:08:57 · 1130 阅读 · 0 评论 -
吊打面试官----精华汇总之JVM
1. 描述一下 JVM 加载 Class 文件的原理机制?2. 什么是类加载器?3. 类加载器有哪些?4. 什么是tomcat类加载机制?前面3个类加载和默认的一致,CommonClassLoader、CatalinaClassLoader、SharedClassLoader和WebappClassLoader则是Tomcat自己定义的类加载器,它们分别加载 /commo...原创 2019-12-18 21:50:23 · 1960 阅读 · 1 评论 -
浅谈Redis集群与哨兵机制
Redis 3.0 版本开始官方正式支持集群模式,Redis 集群模式提供了一种能将数据在多个节点上进行分区存储的方法,采取了和上述两者不同的实现方案——去中心化的集群模式,集群通过数据分片进行数据共享,分片内采用一主多从的形式进行副本复制,并提供复制和故障恢复功能。 性能 Redis 集群模式采用去中心化的设计,即 P2P 而非之前业界衍生出的 Proxy 方式...原创 2019-12-08 16:03:06 · 557 阅读 · 0 评论 -
隔离级别
事务的隔离级别分为4个,即读未提交(read uncommitted):事务在读数据的时候并未对数据加锁。事务在修改数据的时候只对数据增加行级共享锁。读已提交(read committed):事务对当前被读取的数据加 行级共享锁(当读到时才加锁),一旦读完该行,立即释放该行级共享锁;事务在更新某数据的瞬间(就是发生更新的瞬间),必须先对其加 行级排他锁,直到事务结束才释放。...原创 2019-12-04 21:43:02 · 483 阅读 · 0 评论 -
多线程方法总结
1 sleep和yield的区别在于, sleep可以使优先级低的线程得到执行的机会, 而yield只能使同优先级的线程有执行的机会.2 interrupt方法不会中断一个正在运行的线程.就是指线程如果正在运行的过程中, 去调用此方法是没有任何反应的. 为什么呢, 因为这个方法只是提供给 被阻塞的线程, 即当线程调用了.Object.wait, Thread.join, Thread.sle...原创 2019-12-04 00:00:49 · 102 阅读 · 0 评论 -
Docker\k8s\Rancher\jenkins
Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松。为什么要使用docker?更高效的利用系统资源;更快速的启动时间;一致的运行环境;持续交付和部署;更轻松的迁移;更轻松的维护和扩展;...原创 2019-11-30 22:33:53 · 527 阅读 · 0 评论 -
NIO 总结
NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个数据通道。PipeJava NIO ...原创 2019-11-25 09:22:45 · 184 阅读 · 0 评论 -
future 应用举例
public void pushAllGoodsPrice(final int pageSize) {// 先查出所有店铺List storeList = storeGoodsPriceDAO.queryAllStoreCode();List futureList = new ArrayList();for (final String storeCode : storeList) {Fu...原创 2019-11-22 15:26:01 · 135 阅读 · 0 评论 -
Nginx 总结
一 概念Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。Nginx 是高性能的 HTTP 和反向代理的web服务器,其特点是占有内存少,并发能力强,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。二 功能反向代理:...原创 2019-11-19 15:51:10 · 152 阅读 · 0 评论 -
spring 常用注解汇总
1.声明bean的注解@Component 组件,没有明确的角色@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250提供都...原创 2019-11-15 11:43:37 · 103 阅读 · 0 评论 -
Spring Boot
Spring Boot 是在强大的 Spring 帝国生态基础上面发展而来,发明 Spring Boot 不是为了取代 Spring ,是为了让人们更容易的使用 Spring 。所以说没有 Spring 强大的功能和生态,就不会有后期的 Spring Boot 火热, Spring Boot 使用约定优于配置的理念,重新重构了 Spring 的使用,让 Spring 后续的发展更有生命力。Spri...原创 2019-11-14 17:07:26 · 156 阅读 · 0 评论 -
秒杀策略总结
一般商家在做活动的时候,经常会遇到各种不怀好意的DDOS攻击(利用无辜的吃瓜群众夺取资源),导致真正的我们无法获得服务!所以说高防IP还是很有必要的。搞活动就意味着人多,接入SLB,对多台云服务器进行流量分发,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。基于SLB价格以及灵活性考虑后面我们接入Nginx做限流分发,来保障后端服务的正常运行。后端秒杀...原创 2019-11-14 16:29:38 · 201 阅读 · 0 评论 -
网关基本功能
1)Spring Cloud注册组件-Eureka2)Spring Cloud服务调用与负载均衡组件 - Ribbon与OpenFeign3)Spring Cloud熔断器- Hystrix4)Spring Cloud网关-Zuul5)Spring Cloud配置中心-Spring Cloud Config与Spring Cloud Bus6)Spring Cloud分布式链路...原创 2019-11-14 11:52:18 · 2975 阅读 · 0 评论 -
最近用到的linux命令总结
1.脚本执行方式: A.赋予可执行权限 : chmod +x westos.sh 然后绝对路径执行 /mnt/westos.sh B.sh命令执行: sh westos.sh 后台执行 sh westos.sh &2. && 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ &am...原创 2019-11-10 17:43:38 · 103 阅读 · 0 评论 -
token浅谈
一. Token介绍 1、Token的引入: Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比, 判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。 2、Token的定义: Token是服务端生成的一串字符串,以作客户端进行请求的一个...转载 2019-11-08 11:44:36 · 232 阅读 · 0 评论 -
OOM
1.什么叫OOM,out of memory的简称,称之为内存溢出;2.JVM内存模型 按照JVM规范,JAVA虚拟机在运行时会管理以下的内存区域: 程序计数器:当前线程执行的字节码的行号指示器,线程私有; JAVA虚拟机栈:Java方法执行的内存模型,每个Java方法的执行对应着一个栈帧的进栈和出栈的操作。 本地方法栈:类似“ JAVA虚拟机栈 ”,但是为...原创 2019-11-07 11:56:22 · 236 阅读 · 0 评论 -
Full GC触发总结
除直接调用System.gc外,触发Full GC执行的情况有如下四种:1. 旧生代空间不足 旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误:java.lang.OutOfMemoryError: Java heap space为避免以上两种状况引起的FullGC,调优时应尽量做到让对象在Minor...原创 2019-11-05 19:45:47 · 294 阅读 · 0 评论