02 2022 档案

摘要:一. CAP理论,BASE理论? CAP: C:强一致性,保证每一节点(微服务)统一时间点数据的完全一致 A:可用性,整个系统是一直可用的,而且是正常响应时间。不允许出现用户访问失败的情况 P:分区容错性,某一个节点或者网络分区发生故障时,整个系统还是可用的,对于用户来说没有影响 注意:CAP理论就 阅读全文
posted @ 2022-02-21 22:39 小猴子_X 阅读(401) 评论(0) 推荐(2) 编辑
摘要:一. Spring注解发展过程 SpringBoot的自动装配依赖于注解,所以我们先来看一下注解的发展过程。 以下主要对核心注解进行说明 Spring1.0:刚刚出现注解。 @Transaction:简化了事务的操作 Spring2.0:一些配置开始被xml代替,但是还不能完全摆脱xml,主要是co 阅读全文
posted @ 2022-02-20 18:41 小猴子_X 阅读(1336) 评论(0) 推荐(0) 编辑
摘要:一. Spring是什么? 是一个轻量级的开源容器框架,用来装JavaBean,可以把其他的一些框架进行整合使用,使得开发更快,更简洁。 轻量级:占用空间小,非入侵式的(Spring中的对象不依赖于Spring的特定类) IOC,AOP 二. IOC和AOP 谈谈你对AOP的理解? 将程序中的交叉业 阅读全文
posted @ 2022-02-19 19:57 小猴子_X 阅读(419) 评论(1) 推荐(4) 编辑
摘要:前言:要想理解本文,必须先了解JVM的内存结构 一.创建对象的方式 new:最常见 反射:Class.newInstance() 使用clone() 反序列化 二.创建对象的步骤(对象在JVM中怎么存储?) 判断对象的类是否加载,没加载进行加载 为对象分配内存空间 内存规整:采用指针碰撞,指针就是空 阅读全文
posted @ 2022-02-18 19:51 小猴子_X 阅读(148) 评论(0) 推荐(0) 编辑
摘要:上篇我们知道垃圾回收机制,接下来,我们具体到垃圾回收器,看看JVM到底有哪些垃圾回收器。 一.GC性能指标 不可能三角 吞吐量:运行用户代码的时间占总运行时间的比例 暂停时间:进行GC时,用户线程被暂停的时间(STW) 内存占用:JAVA堆所占内存的大小,这一点随着硬件的发展,越来越容易实现 主要矛 阅读全文
posted @ 2022-02-17 17:59 小猴子_X 阅读(247) 评论(0) 推荐(0) 编辑
摘要:前言:建议先了解JVM的内存结构才能对垃圾回收有更深的理解,可以移步JVM内存结构 我们都知道:java最大的特点就是实现自动内存管理(自动分配对象,自动垃圾回收),接下来我们就看看它是怎么回收垃圾的。 一.垃圾回收相关算法 垃圾回收主要有两个阶段: 标记阶段 清除阶段 标记阶段:该阶段主要为了判断 阅读全文
posted @ 2022-02-16 23:19 小猴子_X 阅读(530) 评论(0) 推荐(1) 编辑
摘要:该rpc框架是一个mini版的dubbo。学习rpc之前,建议先了解NIO,Netty和Dubbo等知识。请移步网络编程 前言:(借用阿里大佬的一段话) 为什么要自己写一个RPC框架,我觉得从个人成长上说,如果一个程序员能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现、负载均衡 阅读全文
posted @ 2022-02-15 10:55 小猴子_X 阅读(1175) 评论(0) 推荐(7) 编辑
摘要:说起并发的底层,不得不提volatile,CAS,AQS,本文就是揭露它们神秘的面纱 一.volatile 为了更好的理解volatile,我们需要知道以下几个概念 JMM (java内存模型) 抽象的概念,并不真实存在,它描述的是一组规则或者规范 规定了内存主要划分为主内存和工作内存 (与JVM是 阅读全文
posted @ 2022-02-13 19:38 小猴子_X 阅读(125) 评论(0) 推荐(0) 编辑
摘要:一.概述 dubbo是一款经典的rpc框架,用来远程调用服务的。 dubbo的作用: 面向接口的远程方法调用 智能容错和负载均衡 服务自动注册和发现。 自定义序列化协议 Dubbo 架构中的核心角色有哪些? Container: 服务运行容器,负责加载、运行服务提供者。必须。 Provider: 暴 阅读全文
posted @ 2022-02-12 20:53 小猴子_X 阅读(881) 评论(0) 推荐(0) 编辑
摘要:一.概述 ZooKeeper 是什么? 是一个开源的分布式协调服务。使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了。 从设计模式角度 阅读全文
posted @ 2022-02-11 21:59 小猴子_X 阅读(2574) 评论(0) 推荐(3) 编辑
摘要:学习本章需要先知道IO多路复用,不清楚的请移步:IO多路复用 网络通信中,阻塞IO两大阻塞的地方:socket链接阻塞,等待读取文件阻塞。 本地文件io就只有一个等待文件阻塞 一.Reactor模型(Netty线程模型) 说Netty之前先说一下高性能网络模式Reactor。由于NIO是面向过程编写 阅读全文
posted @ 2022-02-10 22:44 小猴子_X 阅读(355) 评论(0) 推荐(0) 编辑
摘要:先说明一个问题:在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。网络编程其实就是多了一个连接的过程,常用在Netty一些框架。本文主要讲述标准输入输出NIO 一.BIO,NIO,AIO的区别 先说一些IO的模式 我们发现,IO不是我们想象中那么简单。要想 阅读全文
posted @ 2022-02-10 00:58 小猴子_X 阅读(367) 评论(0) 推荐(1) 编辑
摘要:介绍锁之前,先介绍一下JUC(java util concurrent)。它是java提供的一个工具包,里面有我们常用的各种锁,它分为3个包 java.util.concurrent //如:volatile,CountDownLatch,CyclicBarrier,Semaphore java.u 阅读全文
posted @ 2022-02-09 13:45 小猴子_X 阅读(118) 评论(0) 推荐(0) 编辑
摘要:一.概述 消息队列模式: 点对点: 1:1。就是一个队列只能由一个消费者进行消费,这个消费者消费完毕就把消息进行删除,不会再给别的消费者。只能消费者拉消息。 发布/订阅: 1:多 消息队列主动推送消息。 缺点:推送速率难以适应消费速率,不知道消费者的处理效率,造成浪费。 消费方主动从消息队列拉取消息 阅读全文
posted @ 2022-02-08 14:36 小猴子_X 阅读(775) 评论(1) 推荐(4) 编辑
摘要:一.为什么使用线程池? 降低资源的消耗 线程的复用 控制最大的并发数 管理线程 二.执行流程 在创建了线程池后,开始等待请求 当调用execute()方法添加一个请求任务时,线程池会做出如下判断: 如果正在运行的线程数量小于corePoolSize,那么马上创建线程运行这个任务: 如果正在运行的线程 阅读全文
posted @ 2022-02-08 11:30 小猴子_X 阅读(78) 评论(0) 推荐(1) 编辑
摘要:一.JVM概述 JVM是java是二进制字节码的运行环境 特点: 一次编译,到处运行(跨平台) 自动内存管理 自动垃圾回收功能 常见的JVM Sun Classic VM:世界上第一款商用的java虚拟机,但是这款虚拟机只提供解释器,不提供编译器。 HotSpot VM :由sun公司开发,是jdk 阅读全文
posted @ 2022-02-07 00:17 小猴子_X 阅读(161) 评论(0) 推荐(0) 编辑
摘要:一.MQ的相关概念 什么是MQ? Message Queue,消息队列。简单的来说,就是一个先进先出的队列,用来发送消息(信息)。 为什么要用 MQ? 流量消峰:在电商系统中,比如双11下单太多,来不及处理,生产者就把下单的信息先放在MQ中,后来慢慢交给消费者进行消费。 异步任务:有些服务的调用,比 阅读全文
posted @ 2022-02-06 18:23 小猴子_X 阅读(206) 评论(2) 推荐(1) 编辑
摘要:一.一个Java程序最少开几个线程? 3个:主线程;gc线程;异常处理线程 二.线程的生命周期以及状态? 阻塞的分类: 等待阻塞:执行wait(),需要notify()/notifyAll()唤醒 同步阻塞:等待拿到锁 其他阻塞:执行sleep(),join(),或者发出I/O请求。都会进入阻塞 三 阅读全文
posted @ 2022-02-05 16:27 小猴子_X 阅读(72) 评论(0) 推荐(0) 编辑
摘要:一.Redis 支持的数据类型有哪些? 基本数据类型 String:存放的是k-v键值对。如:set k v; 使用场景:常规计数,缓存等 List:有序,可重复。如:lpush mylist v1 v2 v3; 使用场景:Redis的list是每个子元素都是String类型的双向链表, 可以通过p 阅读全文
posted @ 2022-02-05 12:05 小猴子_X 阅读(200) 评论(0) 推荐(0) 编辑
摘要:一.体系 Collection:单列 list:有序可重复,可以放多个Null Arraylist ;Linkedlist ;Vector Set:无序不可重复,只能放一个Null HashSet ;LinkedHashSet ;TreeSet Queue: Deque:双端队列 ;Blocking 阅读全文
posted @ 2022-02-04 23:46 小猴子_X 阅读(118) 评论(0) 推荐(0) 编辑
摘要:一.bin log日志 它记录数据库所有执行的DDL和DML等数据库更新事件的语句,但不包含没有修改任何数据的语句(select,show等)。 应用场景: 用于数据恢复:数据库宕机,可以使用该日志进行恢复。 用于数据复制:主节点发送数据到从节点。 写入机制:事务开始的时候,先把日志写到binlog 阅读全文
posted @ 2022-02-01 22:43 小猴子_X 阅读(69) 评论(0) 推荐(0) 编辑
摘要:一.概述 读-读:并发不存在问题,不需要加锁 写-写:并发存在问题,可能会造成脏写(一个事务没有写完,另一个事务也对相同的数据进行写),但是这种情况,任何一种隔离级别都不允许发生,在隔离级别的时候就解决了。 读-写/写-读:会造成脏读,幻读,不可重复读的问题。每个数据厂商对它的支持也是不相同的 解决 阅读全文
posted @ 2022-02-01 21:33 小猴子_X 阅读(798) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示