<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[努力充实，远方可期]]></title><description><![CDATA[个人学习笔记，禁止转载。]]></description><link>https://blog.youkuaiyun.com/hancoder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hancoder]]></copyright><item><title><![CDATA[【读书笔记】从实模式到保护模式]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/131755661</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/131755661</guid><author>hancoder</author><pubDate>Sun, 16 Jul 2023 21:47:24 +0800</pubDate><description><![CDATA[用电表示数据寄存器的作用：具有记忆功能的器件。锁存可以通过下面的开关控制，平时开关为空，按下开关之后，将输入锁存起来。锁存之后右面灯泡就就不会变化了，除非再次按下锁存开关。下面的开关是关着的，有间隙，是上下按的。带有寄存器的加法机如何工作：每次输入/数字后存入寄存器，而不是多组线进行输入。再入加减乘除就是多了其他控制开关，上面的加减乘除是每个开关，其他控制的地方也可以用一组01值来表示各类操作。]]></description><category></category></item><item><title><![CDATA[【前端】Angular学习笔记]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/125476390</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/125476390</guid><author>hancoder</author><pubDate>Mon, 27 Jun 2022 01:09:35 +0800</pubDate><description><![CDATA[前端三大框架之angular框架学习]]></description><category></category></item><item><title><![CDATA[阿里云ACP认证考试笔记]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/122749845</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/122749845</guid><author>hancoder</author><pubDate>Sun, 30 Jan 2022 02:03:51 +0800</pubDate><description><![CDATA[课件：https://gitee.com/HanFerm/technical-documentation/tree/master/阿里云acp教材
本文档为公开内容
一、ACP是干嘛的
内容范围：

历史

二、阿里云综述
技术架构



优势




三、弹性计算


ECS

ECS的组成与功能
ECS是由多个并列又相互关联的产品概念组成：
实例（Instance）/ 实例规格（InstanceType）
磁盘（Disk）/ 快照（Snapshot）
镜像（Image）
虚拟专有网络（VPC, Virt]]></description><category></category></item><item><title><![CDATA[【Go】GoLang基本]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/121736523</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/121736523</guid><author>hancoder</author><pubDate>Sun, 05 Dec 2021 22:00:53 +0800</pubDate><description><![CDATA[本来由来：
java开发偶尔需要Go开发，简单记的笔记，如果你也是此目的可以参考一下。
如果本来就是学Go的，本文参考意义不大。

安装Go

下载包
添加go/bin到环境变量

编译方式
# 编译&amp;&amp;执行程序
go run XXX.go
# 仅编译
go build XXX.go

程序示例
和python引用无需在句尾加;
package main // 包声明，主函数

import "fmt" // 引入包

func main() { // 主函数
   fmt.Println.]]></description><category></category></item><item><title><![CDATA[【Prometheus】Prometheus&Grafana 监控]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/121703904</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/121703904</guid><author>hancoder</author><pubDate>Fri, 03 Dec 2021 17:39:53 +0800</pubDate><description><![CDATA[Prometheus&amp;Grafana 监控

整理自B站多个视频，
如尚硅谷https://www.bilibili.com/video/BV1HT4y1Z7vR
马哥https://www.bilibili.com/video/BV1AK4y1T7QQ

本文尚在整理中，先抛出来给大家参考
第1章 Prometheus 入门
版本：V2.0
Prometheus 受启发于 Google 的Brogmon 监控系统（相似的 Kubernetes 是从 Google的 Brog 系统演变而来），从 2]]></description><category></category></item><item><title><![CDATA[【Kafka源码】生产者篇]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/121071349</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/121071349</guid><author>hancoder</author><pubDate>Sun, 31 Oct 2021 22:26:24 +0800</pubDate><description><![CDATA[本文尚在更新中，未完结

说明

首先需要搭建源码环境，不多说了，网上有很多，比如：https://www.cnblogs.com/jun1019/p/7989127.html
注释的代码上传到了：https://gitee.com/HanFerm/kafka-source-2.1.0
因为源码一篇文章很难讲清楚，而且刚开始阅读只阅读大体步骤比较好，而后续就应该进入调用栈里深层次阅读了，基于这个矛盾关系，所以本文只保证基本的流程，而不保证调用栈的线性关系。所以本文主要以知识点为单位划分，这样在你亲自阅读源.]]></description><category></category></item><item><title><![CDATA[【AQS源码】condition、CountDownLatch、CyclicBarrier、中断、共享等]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120954315</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120954315</guid><author>hancoder</author><pubDate>Mon, 25 Oct 2021 16:16:41 +0800</pubDate><description><![CDATA[导言：
大家应该都或多或少学习过Reentranlock的源码，说实话AQS相关的阻塞队列、调价队列、排它锁、共享锁的阅读还是需要花时间细心看的，本文希望能梳理思路，方便你真正读代码时不至于绕迷糊。
本文基于我的思维导图来讲解：https://www.processon.com/view/link/5ede205d5653bb6963dc6d56
一、从Reentranlock说起
0、名词解释
代码中有些函数的命名规则

lock()代表是最高层的加锁API，他调用acquire
acquire是第二高的]]></description><category></category></item><item><title><![CDATA[【git】原理与.git文件夹解读]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120748968</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120748968</guid><author>hancoder</author><pubDate>Wed, 13 Oct 2021 17:44:03 +0800</pubDate><description><![CDATA[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/]]></description><category></category></item><item><title><![CDATA[【谷粒商城】k8s与DevOps最终章]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120704276</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120704276</guid><author>hancoder</author><pubDate>Mon, 11 Oct 2021 15:29:26 +0800</pubDate><description><![CDATA[笔记-基础篇-1(P1-P28)：https://blog.youkuaiyun.com/hancoder/article/details/106922139


笔记-基础篇-2(P28-P100)：https://blog.youkuaiyun.com/hancoder/article/details/107612619


笔记-高级篇(P340)：https://blog.youkuaiyun.com/hancoder/article/details/107612746


笔记-vue：https://blog.youkuaiyun.com..]]></description><category></category></item><item><title><![CDATA[【k8s】docker网络模式（必知）]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120619260</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120619260</guid><author>hancoder</author><pubDate>Tue, 05 Oct 2021 22:26:34 +0800</pubDate><description><![CDATA[一、docker网络基础
docker网络部分的视频我看了很多，讲解最透彻的还是https://www.bilibili.com/video/BV123411y7TB?p=8

docker的网络是基于Linux namespace虚拟化实现的。

Docker本身的技术依赖于Linux内核虚拟化技术的发展。所以Docker对Linux内核的特性有很强的依赖。本章主要介绍Docker所使用的Linux网络技术。
1 网络基础
其中Docker使用到的与Linux网络有关的技术分别有：网络名称空间、Veth、]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】ELK statck]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120605376</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120605376</guid><author>hancoder</author><pubDate>Mon, 04 Oct 2021 16:50:26 +0800</pubDate><description><![CDATA[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。是用于数据]]></description><category></category></item><item><title><![CDATA[【思维导图】本博客技术思维导图]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120444916</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120444916</guid><author>hancoder</author><pubDate>Thu, 23 Sep 2021 22:49:48 +0800</pubDate><description><![CDATA[本文记录为了学习技术而画过的思维导图和流程图，供大家参考
之前在DrawIO整理过一些内容，有时间会往processON上迁移一部分，方便大家参照。
链接地址分为为网页URL、图片下载地址、html内嵌预览
JVM

在线网页：https://www.processon.com/view/link/614c8ccaf346fb125807a4e2
图片：http://processon.com/chart_image/614c4e96f346fb12580718b1.png


AQS、ReentrantL]]></description><category></category></item><item><title><![CDATA[【java多线程】对象头、synchronized锁的升级、monitor]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120421993</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120421993</guid><author>hancoder</author><pubDate>Wed, 22 Sep 2021 20:09:18 +0800</pubDate><description><![CDATA[很久之前写的一篇文章，简单整理了下发表出来。整理的不够好，但是内容很充分很多内容是长期积累的舍不得删了，读者尽量把前面的看懂吧。源码部分可忽略
一、对象头
在 JVM 中，对象在内存中分为三块区域：

对象头：标记字段和类型指针。一会介绍
实例数据：这部分主要是存放类的数据信息，父类的信息。
对齐填充：由于虚拟机要求对象起始地址必须是8字节的整数倍，填充数据不是必须存在的，仅仅是为了字节对齐。


HotSpot虚拟机中，设计了一个OOP&amp;Klass Model。它用来标识一个对象的特征，注意并不包]]></description><category></category></item><item><title><![CDATA[【SpringMVC】SPI、父子容器、xml与注解式配置解读]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120379717</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120379717</guid><author>hancoder</author><pubDate>Sun, 19 Sep 2021 13:25:58 +0800</pubDate><description><![CDATA[一、回顾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]]></description><category></category></item><item><title><![CDATA[【SpringMVC】源码阅读]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120271665</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120271665</guid><author>hancoder</author><pubDate>Mon, 13 Sep 2021 17:32:48 +0800</pubDate><description><![CDATA[一、框架预览


二、定义与对象
首先必须了解处理器即handler是什么：你在前期可以直接理解为controller方法


HttpServlet定义了规范， 但是如果不重写doGet方法的话就会报错


FrameworkServlet重写了doGet()，实现了HttpServletBean


DispatcherServlet：派发到处理器上


HanlderInterceptor，接口3个方法


preHandle//请求开始之前
postHandle//请求结束之后，画面渲染之前
af.]]></description><category></category></item><item><title><![CDATA[【分布式事务】]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/120213532</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/120213532</guid><author>hancoder</author><pubDate>Fri, 10 Sep 2021 01:21:40 +0800</pubDate><description><![CDATA[分布式事务专题
1.基础概念
1.1 .什么是事务
什么是事务？举个生活中的例子：你去小卖铺买东西，“一手交钱，一手交货”就是一个事务的例子，交钱和交货必须全部成功，事务才算成功，任一个活动失败，事务将撤销所有已成功的活动。
明白上述例子，再来看事务的定义：
事务可以看做是一次大的活动，它由不同的小活动组成，这些活动要么全部成功，要么全部失败。
1.2 .本地事务
在计算机系统中，更多的是通过关系型数据库来控制事务，这是利用数据库本身的事务特性来实现的，因此叫数据库事务，由于应用主要靠关系数据库来控制事务，]]></description><category></category></item><item><title><![CDATA[【Tomcat】4、架构组成]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/118466983</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/118466983</guid><author>hancoder</author><pubDate>Sun, 04 Jul 2021 20:33:57 +0800</pubDate><description><![CDATA[系列文章目录：https://blog.youkuaiyun.com/hancoder/category_11180472.html
一、Tomcat架构
先上一张Tomcat的顶层结构图（图A），如下：

层次关系为：
Server
	Service 多个
		Connector 多个
		Engine
			Host
				Context
					Wrapper

Tomcat中最顶层的容器是Server，代表着整个服务器，从上图中可以看出，一个Server可以包含至少一个Service，用于具体提供服务。
S]]></description><category></category></item><item><title><![CDATA[【JVM】类加载源码、SPI、线程上下文类加载器TCCL]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/118449268</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/118449268</guid><author>hancoder</author><pubDate>Sun, 04 Jul 2021 01:45:19 +0800</pubDate><description><![CDATA[说明：
本文虽然借鉴了网络的部分内容，但是由于网络上内容基本都是摘抄JVM书来的，有的地方很晦涩难懂，尤其是SPI和线程上下文类加载器TCCL那里。
本文通过根据jdbc的驱动加载过程，跟踪双亲委派源码、rt.jar、Class.forName、SPI、TCCL的执行顺序，分析了它们之间的关系。总结完收获很大，希望你也有所收获
各小节没有标序号，但大章节序号是有的，慢慢看即可，我花了一整天整理学习。不说了，去睡觉了

类的使用流程：

是否加载了该类

没有加载：使用类加载器加载该类
加载了：链接–初始化.]]></description><category></category></item><item><title><![CDATA[【Jenkins】持续集成环境实战]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/118233786</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/118233786</guid><author>hancoder</author><pubDate>Sat, 26 Jun 2021 03:10:49 +0800</pubDate><description><![CDATA[《Jenkins持续集成入门到精通》
1、持续集成及Jenkins介绍
2、Jenkins安装和持续集成环境配置
3、Jenkins构建Maven项目
4、Jenkins+Docker+SpringCloud微服务持续集成
5、基于Kubernetes/K8S构建Jenkins微服务持续集成平台
一、持续集成及Jenkins介绍
软件开发生命周期
软件开发生命周期又叫做SDLC（Software Development Life Cycle），它是集合了计划、开发、测试和部署过程的集合。如下图所示  ：
 ]]></description><category></category></item><item><title><![CDATA[【java】泛型]]></title><link>https://blog.youkuaiyun.com/hancoder/article/details/118077890</link><guid>https://blog.youkuaiyun.com/hancoder/article/details/118077890</guid><author>hancoder</author><pubDate>Mon, 21 Jun 2021 00:43:42 +0800</pubDate><description><![CDATA[毕业找完工作了，在面试的过程中经常被问到泛型的底层实现等等，而泛型在自学做项目中用的很少，其他八股文对答如流，对最基本的java语法却没有深入研究，所以本文希望能迭代更新，写写泛型的各个知识点，兼具面试问题和公司项目实战经验

一、概述
泛型在java中有很重要的地位，在面向对象编程及各种设计模式中有非常广泛的应用。
什么是泛型？为什么要使用泛型？
泛型，即“参数化类型”。一提到参数，最熟悉的就是定义方法时有形参，然后调用此方法时传递实参。那么参数化类型怎么理解呢？顾名思义，就是将类型由原来的具体的类型参.]]></description><category></category></item></channel></rss>