<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[haogenmin的博客]]></title><description><![CDATA[个人学习]]></description><link>https://blog.csdn.net/haogenmin</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; haogenmin]]></copyright><item><title><![CDATA[Java类加载]]></title><link>https://blog.csdn.net/haogenmin/article/details/118966430</link><guid>https://blog.csdn.net/haogenmin/article/details/118966430</guid><author>haogenmin</author><pubDate>Wed, 21 Jul 2021 14:53:40 +0800</pubDate><description><![CDATA[原文：https://www.cnblogs.com/czwbig/p/11127222.html

本文目的：

深入理解Java类加载机制;
	理解各个类加载器特别是线程上下文加载器;
Java虚拟机类加载机制

虚拟机把描述类的数据从 Class 文件加载到内存，并对数据进行校验、转换解析和初始化，最终形成可以被虚拟机直接使用的 Java 类型，这就是虚拟机的类加载机制。

在Java语言里面，类型的加载、连接和初始化过程都是在程序运行期间完成的

类加载的过程

类的个生命周期如下图：


为支持运]]></description><category></category></item><item><title><![CDATA[epoll详解]]></title><link>https://blog.csdn.net/haogenmin/article/details/118527213</link><guid>https://blog.csdn.net/haogenmin/article/details/118527213</guid><author>haogenmin</author><pubDate>Tue, 06 Jul 2021 18:59:53 +0800</pubDate><description><![CDATA[一、从网卡接收数据说起

下图是一个典型的计算机结构图，计算机由CPU、存储器（内存）、网络接口等部件组成。了解epoll本质的第一步，要从硬件的角度看计算机怎样接收网络数据。



计算机结构图（图片来源：linux内核完全注释之微型计算机组成结构）

下图展示了网卡接收数据的过程。在①阶段，网卡收到网线传来的数据；经过②阶段的硬件电路的传输；最终将数据写入到内存中的某个地址上（③阶段）。这个过程涉及到DMA传输、IO通路选择等硬件有关的知识，但我们只需知道：网卡会把接收到的数据写入内存。



网卡接收]]></description><category></category></item><item><title><![CDATA[Mysql高可用集群学习笔记（一）主从复制与读写分离]]></title><link>https://blog.csdn.net/haogenmin/article/details/118513794</link><guid>https://blog.csdn.net/haogenmin/article/details/118513794</guid><author>haogenmin</author><pubDate>Tue, 06 Jul 2021 09:40:49 +0800</pubDate><description><![CDATA[具体内容在我的笔记里面：点这里
]]></description><category></category></item><item><title><![CDATA[详解Tomcat 配置文件server.xml]]></title><link>https://blog.csdn.net/haogenmin/article/details/118489513</link><guid>https://blog.csdn.net/haogenmin/article/details/118489513</guid><author>haogenmin</author><pubDate>Mon, 05 Jul 2021 14:36:48 +0800</pubDate><description><![CDATA[前言

Tomcat隶属于Apache基金会，是开源的轻量级Web应用服务器，使用非常广泛。server.xml是Tomcat中最重要的配置文件，server.xml的每一个元素都对应了Tomcat中的一个组件；通过对xml文件中元素的配置，可以实现对Tomcat中各个组件的控制。因此，学习server.xml文件的配置，对于了解和使用Tomcat至关重要。

本文将通过实例，介绍server.xml中各个组件的配置，并详细说明Tomcat各个核心组件的作用以及各个组件之间的相互关系。

说明：由于serv]]></description><category></category></item><item><title><![CDATA[详解tomcat的连接数与线程池]]></title><link>https://blog.csdn.net/haogenmin/article/details/118489431</link><guid>https://blog.csdn.net/haogenmin/article/details/118489431</guid><author>haogenmin</author><pubDate>Mon, 05 Jul 2021 14:35:11 +0800</pubDate><description><![CDATA[前言

在使用tomcat时，经常会遇到连接数、线程数之类的配置问题，要真正理解这些概念，必须先了解Tomcat的连接器（Connector）。

在前面的文章详解Tomcat配置文件server.xml中写到过：Connector的主要功能，是接收连接请求，创建Request和Response对象用于和请求端交换数据；然后分配线程让Engine（也就是Servlet容器）来处理这个请求，并把产生的Request和Response对象传给Engine。当Engine处理完请求后，也会通过Connecto..]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记（十）kakfa消费组和重平衡]]></title><link>https://blog.csdn.net/haogenmin/article/details/109489704</link><guid>https://blog.csdn.net/haogenmin/article/details/109489704</guid><author>haogenmin</author><pubDate>Wed, 04 Nov 2020 14:29:04 +0800</pubDate><description><![CDATA[版权声明：本文为转载文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接和本声明。

原文链接：https://blog.csdn.net/weixin_39468305/article/details/106846814

摘要：Consumer Group 指多个消费者实例组成一个组来共同消费一组主题，它可谓大名鼎鼎，不仅可以加速消费端 TPS，还具有扩展性和容错性等优势。而组成员之间如何达成一致来分配订阅 Topic，又成为了 Rebalance（重平衡）的重头大戏，不得不夸赞 Re..]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记（九）kakfa消费位移]]></title><link>https://blog.csdn.net/haogenmin/article/details/109488571</link><guid>https://blog.csdn.net/haogenmin/article/details/109488571</guid><author>haogenmin</author><pubDate>Wed, 04 Nov 2020 13:40:39 +0800</pubDate><description><![CDATA[版权声明：本文为转载文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接和本声明。

原文链接：https://blog.csdn.net/weixin_39468305/article/details/106799061

摘要：Kafka中的位移是个极其重要的概念，因为数据一致性、准确性是一个很重要的语义，我们都不希望消息重复消费或者丢失,我们也希望能自由控制消费位置。而位移就是控制消费进度的大佬。本文聊聊kafka消费位移的那些事，包括：



概念剖析

kafka的两种位移

关..]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记（八）Kafka消费者]]></title><link>https://blog.csdn.net/haogenmin/article/details/109469803</link><guid>https://blog.csdn.net/haogenmin/article/details/109469803</guid><author>haogenmin</author><pubDate>Tue, 03 Nov 2020 15:19:15 +0800</pubDate><description><![CDATA[版权声明：本文为转载文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接和本声明。

原文链接：https://blog.csdn.net/weixin_39468305/article/details/106774777




	消费者消费速率跟不上怎么办？
	
	
	消费组是什么？重平衡是什么？
	
	
	消费者数据丢失了怎么办？重复消费了怎么办？
	
	
	怎么指定位置消费？比如我铁了心要2020-05-20 13:14开始消费。
	
如果有任一问题回答不出来，那你就不能说自己掌...]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记（七）Kafka生产者分析]]></title><link>https://blog.csdn.net/haogenmin/article/details/109463654</link><guid>https://blog.csdn.net/haogenmin/article/details/109463654</guid><author>haogenmin</author><pubDate>Tue, 03 Nov 2020 10:45:38 +0800</pubDate><description><![CDATA[版权声明：本文为转载文章有部分修改，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接和本声明。

原文链接：https://blog.csdn.net/weixin_39468305/article/details/106740953



作为应用者，如果你不研究透彻，很多生产问题你也无法解决，比如：

"为什么我的报表数据不准呢？和源头数据对不上是怎么回事?"

"为什么吞吐量提升不上来呢？怎么优化?"

那么今天就通过源码了解一下kafka生产者优秀的架构设计、以及完整的发送流程、参...]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记（六）Kafka生产者]]></title><link>https://blog.csdn.net/haogenmin/article/details/109451655</link><guid>https://blog.csdn.net/haogenmin/article/details/109451655</guid><author>haogenmin</author><pubDate>Mon, 02 Nov 2020 16:42:04 +0800</pubDate><description><![CDATA[版权声明：本文为转载文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接和本声明。

本文链接：https://blog.csdn.net/weixin_39468305/article/details/106610773



Kafka系列博文的前三篇，我们都在讲概念，集群的概念、分区的概念、副本的概念。。行了行了别说了。今天不来点实际操练，我都不想再看下去了。那好吧，今天就动起来吧~

我们都知道kafka是消息引擎，既然是消息引擎就得有消息，那么消息怎么来的呢？你会告诉我，so ...]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记（五）副本机制]]></title><link>https://blog.csdn.net/haogenmin/article/details/109449944</link><guid>https://blog.csdn.net/haogenmin/article/details/109449944</guid><author>haogenmin</author><pubDate>Mon, 02 Nov 2020 15:31:20 +0800</pubDate><description><![CDATA[版权声明：本文为转载文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接和本声明。

原文链接：https://blog.csdn.net/weixin_39468305/article/details/106369196



Topic、Partition、Replica是主题层三要素，每个Topic都有至少一个Partition，而Partition有副本机制，Kafka 定义了两类副本：领导者副本和追随者副本。只能有 1 个领导者副本和 N-1 个追随者副本。

这些都是你死记硬...]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记（四）分区机制]]></title><link>https://blog.csdn.net/haogenmin/article/details/109449016</link><guid>https://blog.csdn.net/haogenmin/article/details/109449016</guid><author>haogenmin</author><pubDate>Mon, 02 Nov 2020 14:57:08 +0800</pubDate><description><![CDATA[主题是存储消息的一个逻辑概念，可以简单理解为一类消息的集合。

每个主题又可以划分成多个分区，每个分区存储不同的消息。

当消息添加至分区时，会为其分配一个位移offset（从0开始递增），并保证分区上唯一，消息在分区上的顺序由offset保证，即同一个分区内的消息是有序的。

如下图所示：



为什么主题之下需要有分区的概念呢？有啥用？

分区到底是个什么东西，怎么存储的呢？

生产者生产消息的时候怎样决定消息分配到哪个分区呢？

分区会带来哪些不利影响呢？

本文从以下几个方面为你一一解答:



分]]></description><category></category></item><item><title><![CDATA[kafka学习笔记（三）SpringBoot初体验Kafka]]></title><link>https://blog.csdn.net/haogenmin/article/details/109381298</link><guid>https://blog.csdn.net/haogenmin/article/details/109381298</guid><author>haogenmin</author><pubDate>Fri, 30 Oct 2020 14:10:22 +0800</pubDate><description><![CDATA[创建项目

用spring初始化器创建一个项目把kafka选上去。



我这里用的版本是2.1.15。

首先看一下目录结构，我这里是一个父工程下的子模块。



配置文件如下：

父工程：


&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta]]></description><category></category></item><item><title><![CDATA[网上ftp读取图片并转Base64出现死循环的问题]]></title><link>https://blog.csdn.net/haogenmin/article/details/109193616</link><guid>https://blog.csdn.net/haogenmin/article/details/109193616</guid><author>haogenmin</author><pubDate>Wed, 21 Oct 2020 08:55:16 +0800</pubDate><description><![CDATA[public String download(String ftpUrl,String sfzh){
        //ftpUrl :文件夹路径  afzh:图片路径
        FTPClient ftpClient = new FTPClient();
        InputStream inputStream = null;
        String re=null;
        try {
            ftpClient.connect(ftp_ip,ftp_por.]]></description><category></category></item><item><title><![CDATA[kafka学习笔记（二）简单安装]]></title><link>https://blog.csdn.net/haogenmin/article/details/108821887</link><guid>https://blog.csdn.net/haogenmin/article/details/108821887</guid><author>haogenmin</author><pubDate>Tue, 29 Sep 2020 19:04:57 +0800</pubDate><description><![CDATA[准备

准备三台虚拟机


192.168.10.12
192.168.10.13
192.168.10.14

安装jdk

每台设备安装


yum install java-1.8.0-openjdk

下载之后默认的目录为：/usr/lib/jvm/

验证


[root@localhost ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK.]]></description><category></category></item><item><title><![CDATA[kafka学习笔记（一）简介]]></title><link>https://blog.csdn.net/haogenmin/article/details/108780318</link><guid>https://blog.csdn.net/haogenmin/article/details/108780318</guid><author>haogenmin</author><pubDate>Fri, 25 Sep 2020 09:13:59 +0800</pubDate><description><![CDATA[Kafka是什么

Kafka是Apache旗下的一款分布式流媒体平台，Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。它可以处理消费者规模的网站中的所有动作流数据。这种动作（网页浏览，搜索和其他用户的行动）是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

消息系统分类

Peer-to-Peer (Queue)

简单来说就是生产者（Producer）发送消息到队列，消费者（Consumer）从队列中取出消息。这种模型的特点就是]]></description><category></category></item><item><title><![CDATA[PageHelper原理及使用]]></title><link>https://blog.csdn.net/haogenmin/article/details/108756569</link><guid>https://blog.csdn.net/haogenmin/article/details/108756569</guid><author>haogenmin</author><pubDate>Wed, 23 Sep 2020 17:03:55 +0800</pubDate><description><![CDATA[目录



Mybatis原理

PageHelper使用

添加依赖

加入插件

使用

分析

总结

Mybatis原理



              

PageHelper使用

添加依赖


&lt;!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --&gt;
&lt;dependency&gt;
   &lt;groupId&gt;com.github.pa...]]></description><category></category></item><item><title><![CDATA[MySQL-配置文件my.cnf参数优化详解]]></title><link>https://blog.csdn.net/haogenmin/article/details/108335956</link><guid>https://blog.csdn.net/haogenmin/article/details/108335956</guid><author>haogenmin</author><pubDate>Tue, 01 Sep 2020 10:32:42 +0800</pubDate><description><![CDATA[[client]
#########################################################################
#                                    #
#             MySQL客户端配置                #
#               ...]]></description><category></category></item><item><title><![CDATA[SpringCloud学习笔记（九）ngnix配合zuul实现系统网关]]></title><link>https://blog.csdn.net/haogenmin/article/details/108222086</link><guid>https://blog.csdn.net/haogenmin/article/details/108222086</guid><author>haogenmin</author><pubDate>Wed, 26 Aug 2020 13:26:48 +0800</pubDate><description><![CDATA[安装ngnix

ngnix一般部署在linux系统中，这里用centos作为ngnix部署服务器。

安装ngnix

成功之后，访问服务器ip,默认端口是80端口。

nginx的相关内容详见：nginx


]]></description><category></category></item><item><title><![CDATA[nginx系列之八：使用upsync模块实现负载均衡]]></title><link>https://blog.csdn.net/haogenmin/article/details/108223222</link><guid>https://blog.csdn.net/haogenmin/article/details/108223222</guid><author>haogenmin</author><pubDate>Tue, 25 Aug 2020 16:04:02 +0800</pubDate><description><![CDATA[一、nginx reload的问题

问题描述

nginx reload是有一定损耗的，如果你使用的是长连接的话，那么当reload nginx时长连接所有的worker进程会进行优雅退出，并当该worker进程上的所有连接都释放时，进程才真正退出。

解决办法

对于社区版nginx目前有三个选择方式：

Tengine 的Dyups模块。
	微博的Upsync+Consul 实现动态负载均衡。
	OpenResty的balancer_by_lua(又拍云使用其开源的slardar(Consul bal]]></description><category></category></item></channel></rss>