- 博客(173)
- 资源 (11)
- 问答 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【思维导图】本博客技术思维导图
本文记录为了学习技术而画过的思维导图和流程图,供大家参考之前在DrawIO整理过一些内容,有时间会往processON上迁移一部分,方便大家参照。链接地址分为为网页URL、图片下载地址、html内嵌预览JVM在线网页:https://www.processon.com/view/link/614c8ccaf346fb125807a4e2图片:http://processon.com/chart_image/614c4e96f346fb12580718b1.pngAQS、ReentrantL
2021-09-23 22:49:48
2097
8
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【谷粒商城】分布式事务与下单
=购物车==构建gulimall-cart,复制静态资源到nginx,修改网关购物车分为离线购物车和登录购物车离线购物车重启浏览器了也还有1、购物车需求特点:读多写少,放入数据库并不合适登录状态:登录购物车放入数据库mongodb放入redis(采用)登录以后,将离线购物车里合并后清空离线购物车未登录状态:离线购物车放入localstorage浏览器的技术cookieWebSQL放入redis(采用)浏览器重启后还在2、购物车VO(1) 数据结构分析
2021-03-18 16:40:51
11992
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【谷粒商城】框架扩充篇(3/4)
1. ELASTICSEARCH1、安装elastic searchdokcer中安装elastic search(1)下载ealastic search和kibanadocker pull elasticsearch:7.6.2docker pull kibana:7.6.2(2)配置mkdir -p /mydata/elasticsearch/configmkdir -p /mydata/elasticsearch/dataecho "http.host: 0.0.0.0" >
2020-07-27 15:27:20
76083
42
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【谷粒商城】全网最全笔记(1/4)
本文重点记录老师讲的话 和 一些配置流程,笔记中有的内容尽量少记录。边看视频变更新,我尽快更新。
2020-06-23 13:59:12
386230
227
原创 【读书笔记】从实模式到保护模式
用电表示数据寄存器的作用:具有记忆功能的器件。锁存可以通过下面的开关控制,平时开关为空,按下开关之后,将输入锁存起来。锁存之后右面灯泡就就不会变化了,除非再次按下锁存开关。下面的开关是关着的,有间隙,是上下按的。带有寄存器的加法机如何工作:每次输入/数字后存入寄存器,而不是多组线进行输入。再入加减乘除就是多了其他控制开关,上面的加减乘除是每个开关,其他控制的地方也可以用一组01值来表示各类操作。
2023-07-16 21:47:24
847
原创 阿里云ACP认证考试笔记
课件:https://gitee.com/HanFerm/technical-documentation/tree/master/阿里云acp教材本文档为公开内容一、ACP是干嘛的内容范围:历史二、阿里云综述技术架构优势三、弹性计算ECSECS的组成与功能ECS是由多个并列又相互关联的产品概念组成:实例(Instance)/ 实例规格(InstanceType)磁盘(Disk)/ 快照(Snapshot)镜像(Image)虚拟专有网络(VPC, Virt
2022-01-30 02:03:51
5926
1
原创 【Go】GoLang基本
本来由来:java开发偶尔需要Go开发,简单记的笔记,如果你也是此目的可以参考一下。如果本来就是学Go的,本文参考意义不大。安装Go下载包添加go/bin到环境变量编译方式# 编译&&执行程序go run XXX.go# 仅编译go build XXX.go程序示例和python引用无需在句尾加;package main // 包声明,主函数import "fmt" // 引入包func main() { // 主函数 fmt.Println.
2021-12-05 22:00:53
1483
原创 【Prometheus】Prometheus&Grafana 监控
Prometheus&Grafana 监控整理自B站多个视频,如尚硅谷https://www.bilibili.com/video/BV1HT4y1Z7vR马哥https://www.bilibili.com/video/BV1AK4y1T7QQ本文尚在整理中,先抛出来给大家参考第1章 Prometheus 入门版本:V2.0Prometheus 受启发于 Google 的Brogmon 监控系统(相似的 Kubernetes 是从 Google的 Brog 系统演变而来),从 2
2021-12-03 17:39:53
20905
4
原创 【Kafka源码】生产者篇
本文尚在更新中,未完结说明首先需要搭建源码环境,不多说了,网上有很多,比如:https://www.cnblogs.com/jun1019/p/7989127.html注释的代码上传到了:https://gitee.com/HanFerm/kafka-source-2.1.0因为源码一篇文章很难讲清楚,而且刚开始阅读只阅读大体步骤比较好,而后续就应该进入调用栈里深层次阅读了,基于这个矛盾关系,所以本文只保证基本的流程,而不保证调用栈的线性关系。所以本文主要以知识点为单位划分,这样在你亲自阅读源.
2021-10-31 22:26:24
3048
4
原创 【AQS源码】condition、CountDownLatch、CyclicBarrier、中断、共享等
导言:大家应该都或多或少学习过Reentranlock的源码,说实话AQS相关的阻塞队列、调价队列、排它锁、共享锁的阅读还是需要花时间细心看的,本文希望能梳理思路,方便你真正读代码时不至于绕迷糊。本文基于我的思维导图来讲解:https://www.processon.com/view/link/5ede205d5653bb6963dc6d56一、从Reentranlock说起0、名词解释代码中有些函数的命名规则lock()代表是最高层的加锁API,他调用acquireacquire是第二高的
2021-10-25 16:16:41
2965
7
原创 【git】原理与.git文件夹解读
git原理0、目录结构进入空目录,执行git init将会出现.git目录.git目录./.git./.git/objects./.git/objects/info./.git/objects/pack./.git/hooks./.git/info./.git/info/exclude./.git/HEAD./.git/branches./.git/description./.git/refs./.git/refs/heads./.git/refs/tags./.git/
2021-10-13 17:44:03
4724
原创 【谷粒商城】k8s与DevOps最终章
笔记-基础篇-1(P1-P28):https://blog.csdn.net/hancoder/article/details/106922139笔记-基础篇-2(P28-P100):https://blog.csdn.net/hancoder/article/details/107612619笔记-高级篇(P340):https://blog.csdn.net/hancoder/article/details/107612746笔记-vue:https://blog.csdn.net..
2021-10-11 15:29:26
2136
原创 【k8s】docker网络模式(必知)
一、docker网络基础docker网络部分的视频我看了很多,讲解最透彻的还是https://www.bilibili.com/video/BV123411y7TB?p=8docker的网络是基于Linux namespace虚拟化实现的。Docker本身的技术依赖于Linux内核虚拟化技术的发展。所以Docker对Linux内核的特性有很强的依赖。本章主要介绍Docker所使用的Linux网络技术。1 网络基础其中Docker使用到的与Linux网络有关的技术分别有:网络名称空间、Veth、
2021-10-05 22:26:34
3265
原创 【ElasticSearch】ELK statck
ELK搜索高级课程 https://www.bilibili.com/video/BV1if4y1P79q本人画的ES知识思维导图:https://www.processon.com/view/link/614f2bebf346fb058d9dc7fc本笔记获取方式:见本博客中谷粒商城文尾获取方式,邮件请备注【ES】1. 课程简介1.1 课程内容ELK是包含但不限于Elasticsearch(简称es)、Logstash、Kibana 三个开源软件的组成的一个整体。这三个软件合成ELK。是用于数据
2021-10-04 16:50:26
2472
原创 【java多线程】对象头、synchronized锁的升级、monitor
很久之前写的一篇文章,简单整理了下发表出来。整理的不够好,但是内容很充分很多内容是长期积累的舍不得删了,读者尽量把前面的看懂吧。源码部分可忽略一、对象头在 JVM 中,对象在内存中分为三块区域:对象头:标记字段和类型指针。一会介绍实例数据:这部分主要是存放类的数据信息,父类的信息。对齐填充:由于虚拟机要求对象起始地址必须是8字节的整数倍,填充数据不是必须存在的,仅仅是为了字节对齐。HotSpot虚拟机中,设计了一个OOP&Klass Model。它用来标识一个对象的特征,注意并不包
2021-09-22 20:09:18
1972
原创 【SpringMVC】SPI、父子容器、xml与注解式配置解读
一、回顾Servlet@WebServlet("/hello")public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //super.doGet(req, resp); System.out.println(T
2021-09-19 13:25:58
551
原创 【SpringMVC】源码阅读
一、框架预览二、定义与对象首先必须了解处理器即handler是什么:你在前期可以直接理解为controller方法HttpServlet定义了规范, 但是如果不重写doGet方法的话就会报错FrameworkServlet重写了doGet(),实现了HttpServletBeanDispatcherServlet:派发到处理器上HanlderInterceptor,接口3个方法preHandle//请求开始之前postHandle//请求结束之后,画面渲染之前af.
2021-09-13 17:32:48
848
原创 【分布式事务】
分布式事务专题1.基础概念1.1 .什么是事务什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。明白上述例子,再来看事务的定义:事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。1.2 .本地事务在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,
2021-09-10 01:21:40
6744
4
原创 【Tomcat】4、架构组成
系列文章目录:https://blog.csdn.net/hancoder/category_11180472.html一、Tomcat架构先上一张Tomcat的顶层结构图(图A),如下:层次关系为:Server Service 多个 Connector 多个 Engine Host Context WrapperTomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务。S
2021-07-04 20:33:57
775
原创 【JVM】类加载源码、SPI、线程上下文类加载器TCCL
说明:本文虽然借鉴了网络的部分内容,但是由于网络上内容基本都是摘抄JVM书来的,有的地方很晦涩难懂,尤其是SPI和线程上下文类加载器TCCL那里。本文通过根据jdbc的驱动加载过程,跟踪双亲委派源码、rt.jar、Class.forName、SPI、TCCL的执行顺序,分析了它们之间的关系。总结完收获很大,希望你也有所收获各小节没有标序号,但大章节序号是有的,慢慢看即可,我花了一整天整理学习。不说了,去睡觉了类的使用流程:是否加载了该类没有加载:使用类加载器加载该类加载了:链接–初始化.
2021-07-04 01:45:19
865
2
原创 【Jenkins】持续集成环境实战
《Jenkins持续集成入门到精通》1、持续集成及Jenkins介绍2、Jenkins安装和持续集成环境配置3、Jenkins构建Maven项目4、Jenkins+Docker+SpringCloud微服务持续集成5、基于Kubernetes/K8S构建Jenkins微服务持续集成平台一、持续集成及Jenkins介绍软件开发生命周期软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试和部署过程的集合。如下图所示 :
2021-06-26 03:10:49
15913
11
原创 【java】泛型
毕业找完工作了,在面试的过程中经常被问到泛型的底层实现等等,而泛型在自学做项目中用的很少,其他八股文对答如流,对最基本的java语法却没有深入研究,所以本文希望能迭代更新,写写泛型的各个知识点,兼具面试问题和公司项目实战经验一、概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参.
2021-06-21 00:43:42
529
1
原创 【aop】10分钟利用aop写注解权限认证
前言之前学过很多遍AOP切面,但印象中自己只会在切点前后打印写日志,没有实战能力,为此,本篇笔记就点除了“打印日志”之外的AOP常用功能AOP基础这这篇笔记的同学应该大都了解过AOP,这里不详述了,只带着大家回忆一下核心知识点。AOP用途用途:如前面所言,你可以简单理解为你想在spring容器中某一个方法每次调用前后打印一些日志。(设为计算器的方法cal.add(a,b))静态代理与动态代理:静态代理:你自己在那个方法体力自己写日志打印逻辑,add(a,b){打印日志;正常业务;打印日志}
2021-06-20 23:47:52
728
1
原创 【kotlin】学习笔记
数据类型首字母大写String Char Boolean Int Double list Set Map“a” to 5,“b” to 6String${} 字符串模板substring(0 until -1)split返回 origin,dest,proxy,三个字符串,。也可以返回List,返回挨个赋值而已,有可能赋值没完?replate(){whenforEach==字符是否匹配===是否同一对象。新生成的就不是一个字符串了数字没有转换成功就返回null而不是抛异常字符串t
2021-06-20 21:46:58
232
1
原创 【k8s】10、dashboard
第十章 DashBoard 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。部署Dashboard下载yaml,并运行Dashboard# 下载yaml[root@master ~]# wget https://raw.gi
2021-06-20 15:41:09
674
原创 【k8s】9、安全认证
第九章 安全认证本章节主要介绍Kubernetes的安全认证机制。访问控制概述 Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。客户端在Kubernetes集群中,客户端通常有两类:User Account:一般是独立于kubernetes之外的其他服务管理的用户账号。Service Account:kubernetes管理的账号,用于为Pod中的服务进程在访问K
2021-06-20 15:21:48
428
原创 【k8s】8、数据存储
第八章 数据存储 在前面已经提到,容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。 Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volume的生命容
2021-06-20 15:19:51
815
1
原创 【k8s】7、service详解
第七章 Service详解本章节主要介绍kubernetes的流量负载组件:Service和Ingress。Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能
2021-06-20 15:17:50
2447
2
原创 【k8s】6、pod控制器
第六章 Pod控制器详解本章节主要介绍各种Pod控制器的详细使用。Pod控制器介绍Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建什么是Pod控制器 Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器
2021-06-20 02:30:45
1722
原创 【k8s】5、pod详解
第五章 Pod详解本章节将详细介绍Pod资源的各种配置(yaml)和原理。1、Pod介绍1.1 Pod结构每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类:用户程序所在的容器,数量可多可少Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个:可以以它为依据,评估整个Pod的健康状态可以在根容器上设置IP地址,其它容器都此IP(Pod IP),以实现Pod内部的网路通信这里是Pod内部的通讯,Pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境
2021-06-19 22:29:51
1113
1
原创 【k8s】4、组件
第四章 组件/实战入门本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问。Namespace Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分
2021-06-19 14:25:26
1170
原创 【k8s】2、k8s安装、kubeSphere安装与使用
第二章 集群环境搭建本章节主要介绍如何搭建kubernetes的集群环境2.1 环境规划集群类型kubernetes集群大体上分为两类:一主多从和多主多从。一主多从:一台Master节点和多台Node节点,搭建简单,但是有单机故障风险,适合用于测试环境多主多从:多台Master节点和多台Node节点,搭建麻烦,安全性高,适合用于生产环境说明:为了测试简单,本次搭建的是 一主两从 类型的集群安装方式kubernetes有多种部署方式,目前主流的方式有kubeadm、minik
2021-06-19 14:15:40
7339
11
原创 【k8s】3、资源管理
第三章 资源管理本章节主要介绍yaml语法和kubernetes的资源管理方式3.1 资源管理介绍在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。 kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在kubernetes集群中运行一个个的容器,并将指定的程序跑在容器中。 kubernetes的最小管理单元是pod而不是容器,所以只能将容器放在Pod中,而kubernetes一般也不
2021-06-17 00:32:27
1244
1
原创 【k8s】1、介绍
第一章 kubernetes介绍本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。应用部署方式演变在部署应用程序的方式上,主要经历了三个时代:传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单,不需要其它技术的参与缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容易产生影响虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境优点:程序环境不会相互产生影响,提供了一定程度的安全性
2021-06-16 23:59:17
2942
3
原创 【定时任务】xxl-job框架学习笔记
注:本文为定时任务框架xxl-job的参考手册,本文仅做了内容标注、整理、去除冗余内容,以方便个人查阅。请读者执行前往官方查看官方手册https://www.xuxueli.com/xxl-job/一、简介XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。特性可以在任务中心动态修改任务状态、启动/停止任务,以及终止运行中任务3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调.
2021-06-13 22:33:28
2467
原创 【谷粒商城】【rabbitMQ】笔记
文章目录1. 消息中间件概述1.1. 什么是消息中间件1.2. AMQP 和 JMS1.2.1. AMQP1.2.2. JMS1.2.3. AMQP 与 JMS 区别1.3. 消息队列产品1.4. RabbitMQ2. 安装及配置RabbitMQ3. RabbitMQ入门3.1. 搭建示例工程3.2. 编写生产者3.3. 编写消费者3.4. 小结4. AMQP4.1. 相关概念介绍4.2. RabbitMQ运转流程4.3. 生产者流转过程说明4.4. 消费者流转过程说明5. RabbitMQ工作模式4.1.
2021-03-03 00:10:06
7410
7
原创 【谷粒商城】【认证服务】验证码、社交登录、分布式session、单点登录
本文是谷粒商城项目笔记文章目录认证服务**1 gulimall-auth-server****2 注册验证码**(1) 验证码倒计时(2) 阿里云-短信服务(3) 接口防刷(4) 注册VO(5) 注册用户保存(6)密码加密(7) 用户名密码登录**3 社交登录**(1) OAuth2.0(2) 微博开放平台使用(3) 代码编写/weibo/successtoken保存**4 SpringSession**(1) session 原理(2) 分布式session解决方案1) session复制2) h.
2021-02-28 23:24:56
24994
3
原创 【谷粒商城】高级篇-分布式锁与缓存
缓存本地缓存:和微服务同一个进程。缺点:分布式时分布式缓存:缓存中间件1. 本地缓存category、brand、productredisredis学习笔记:https://blog.csdn.net/hancoder/article/details/105694186安装docker-redisproduct导入依赖<dependency> <groupId>org.springframework.boot</groupId>
2021-02-23 22:11:20
23024
14
原创 【springboot】5、自动配置
servlet容器要遵循servlet规范。如tomcat、nettyjdbc的接口Driver,在用MySQL的时候,要有Driver的实现类。初始化驱动的时候,class.forName()会加载驱动,mysql的话实现类是com.mysql.Driver。他在工厂中 把接口作为文件名,里面写上实现类,tomcat就会读这个文件,这个是servlet规范java的文件路径是META-INF/servicestomcat 的文件路径是META-INF/services/javax.servlet.
2021-02-22 17:44:16
1069
课件-内存结构,垃圾回收,字节码,内存模型.zip
2020-09-10
HashMap、ConcurrenyHashMap源码解读
2020-06-06
鲁班学院数据库高级笔记.zip
2020-04-20
引入外部js文件时乱码,在复制到内部时候正常显示
2019-12-10
【指针取内容后引用】有这种用法吗
2019-09-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人