<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_37838913的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_37838913</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_37838913]]></copyright><item><title><![CDATA[Spring框架中的@Async注解实现异步任务]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/144596390</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/144596390</guid><author>weixin_37838913</author><pubDate>Thu, 19 Dec 2024 22:34:33 +0800</pubDate><description><![CDATA[在现代Web应用中，异步任务的执行变得越来越重要。本文将详细介绍如何在Spring Boot应用中使用@Async注解，并指出使用过程中需要注意的地方。@Async注解的方法必须是公共的（public），并且不能在同一个类中调用。Spring框架中的@Async注解提供了一种简单的方式来实现异步任务。通过@Async注解，我们可以将方法标记为异步执行，而不需要显式地管理线程。如果返回Future，调用方可以使用Future.get()方法获取异步任务的结果，但需要注意这会阻塞调用线程，直到异步任务完成。]]></description><category></category></item><item><title><![CDATA[Java实现百万级数据从Excel导入到数据库]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/140151422</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/140151422</guid><author>weixin_37838913</author><pubDate>Wed, 03 Jul 2024 14:57:11 +0800</pubDate><description><![CDATA[一、Excel导入可能产生的问题1、内存溢出问题百万级数据量，一次性都读取到内存中，肯定是不现实的，那么好的办法就是基于流式读取的方式进行分批处理。在技术选型上，我们选择使用EasyExcel，他特别针对大数据量和复杂Excel文件的处理进行了优化。在解析Excel时EasyExcel不会将Excel一次性全部加载到内存中，而是从磁盘上一行行读取数据，逐个解析。]]></description><category></category></item><item><title><![CDATA[【NOSQL】MongoDB]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/131794370</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/131794370</guid><author>weixin_37838913</author><pubDate>Wed, 19 Jul 2023 23:29:07 +0800</pubDate><description><![CDATA[MongoDB是一个开源、高性能、无模式的文档型数据库，当初的设计就是用于简化开发和方便扩展，是NoSQL数据库产品中的一种。是最像关系型数据库（MySQL）的非关系型数据库。它支持的数据结构非常松散，是一种类似于 JSON 的 格式叫BSON，所以它既可以存储比较复杂的数据类型，又相当的灵活。MongoDB中的记录是一个文档，它是一个由字段和值对（field:value）组成的数据结构。MongoDB文档类似于JSON对象，即一个文档认为就是一个对象。]]></description><category></category></item><item><title><![CDATA[【云原生】K8S单节点搭建]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/131739766</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/131739766</guid><author>weixin_37838913</author><pubDate>Sat, 15 Jul 2023 20:05:31 +0800</pubDate><description><![CDATA[云控制器管理器允许您链接集群到云提供商的应用编程接口中， 并把和该云平台交互的组件与只和您的集群交互的组件分离开。Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器，如果进入容器的流量很大， Kubernetes 可以负载均衡并分配网络流量，从而使部署稳定。当容器指定了资源请求时，Kubernetes 可以做出更好的决策来管理容器的资源。控制平面的组件对集群做出全局决策(比如调度)，以及检测和响应集群事件（例如，当不满足部署的 replicas 字段时，启动新的 pod）。]]></description><category></category></item><item><title><![CDATA[【线程通信】]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/108305532</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/108305532</guid><author>weixin_37838913</author><pubDate>Mon, 27 Jun 2022 15:10:34 +0800</pubDate><description><![CDATA[【线程通信】最粗暴的“文件共享”通信变量共享线程协作-JDK API
最粗暴的“文件共享”通信
通过文件共享

package com.fly.threadDome;

import java.nio.file.Files;
import java.nio.file.Paths;

/**
 * @Title: 线程通信
 * @Author: Fly
 * @Date: 2020/8/30 - 13:50
 * @Description:
 */
public class ThreadDome {
   ]]></description><category></category></item><item><title><![CDATA[【前端】前端面试]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/125258180</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/125258180</guid><author>weixin_37838913</author><pubDate>Mon, 13 Jun 2022 22:35:40 +0800</pubDate><description><![CDATA[前端面试：Html，CSS，ES6，JS，Vue，闭包，防抖，权限]]></description><category></category></item><item><title><![CDATA[【easyExcel】easyExcel自定义单元格]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/123090290</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/123090290</guid><author>weixin_37838913</author><pubDate>Wed, 23 Feb 2022 15:24:15 +0800</pubDate><description><![CDATA[easyExcel自定义单元格配置依赖对象写excel导出excel方法实现CellWriteHandler接口读excel
配置
依赖
 &lt;!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
            &lt;artifactId&gt;ea]]></description><category></category></item><item><title><![CDATA[【多线程】解决SpringBoot热部署时layering-cache线程池被Tomcat Graceful shutdown，重新赋值方法区中 StatsServi]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/123004521</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/123004521</guid><author>weixin_37838913</author><pubDate>Fri, 18 Feb 2022 16:02:55 +0800</pubDate><description><![CDATA[解决SpringBoot热部署时layering-cache线程池被Tomcat Graceful shutdown，重新赋值方法区中 StatsService的Static ScheduledThreadPoolExecutor，以免初始化Bean时Terminated线程触发拒绝策略SpringBoot热部署Tomcat graceful shutdown（优雅停机）热部署时解决layering-cacheScheduledThreadPoolExecutor
SpringBoot热部署

Tomcat]]></description><category></category></item><item><title><![CDATA[【Spring5】源代码解析]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/122531548</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/122531548</guid><author>weixin_37838913</author><pubDate>Mon, 17 Jan 2022 00:12:22 +0800</pubDate><description><![CDATA[Spring5Spring IOCSpring AOP
Spring IOC
Spring AOP


]]></description><category></category></item><item><title><![CDATA[【MySQL】]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/105209241</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/105209241</guid><author>weixin_37838913</author><pubDate>Sat, 15 Jan 2022 18:47:02 +0800</pubDate><description><![CDATA[【MySQL】InnoDB
root记录每一page的最小值
聚集索引:索引值已经包含数据值(主键索引包含所有主键)(索引覆盖)
一个索引一个B+树
回表:按主键
最左前缀原则
不是数字的字符都转成0

explain select b from t1 order by b,c,d

explain select * from t1 order by b,c,d




...]]></description><category></category></item><item><title><![CDATA[Kafka学习笔记]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/109107575</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/109107575</guid><author>weixin_37838913</author><pubDate>Fri, 16 Oct 2020 00:41:26 +0800</pubDate><description><![CDATA[KafkaKafka使用MQ的好处点对点模式（一对一：消费后删除消息）发布/订阅（一对多：消费者消费数据之后不会清除消息）Kafka架构
Kafka
Kafka是一个分布式的基于发布/订阅模式的消息队列（Message Queue），主要应用于大数据实时处理领域。

MQ传统应用场景之异步处理

同步处理

1、填写注册信息——》2、注册信息写入数据库——》3、调用发送短信接口——》4、发送短信——》5、页面响应注册成功【发送验证码59s】


异步处理

1、填写注册信息——》2、注册信息写入数据库——》]]></description><category></category></item><item><title><![CDATA[【Java数据结构-集合】ArrayList源码解析]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/108392684</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/108392684</guid><author>weixin_37838913</author><pubDate>Thu, 03 Sep 2020 23:23:18 +0800</pubDate><description><![CDATA[ArrayList源码解析ArrayList概念标记接口RandomAccessCloneable（Object.clone）浅拷贝深拷贝java.io.Serializable源码解析构造函数：扩容添加元素删除元素迭代器：fast-fail快速失败机制Array.asList什么是fail-fast？Vector
ArrayList
概念
数组就是由一块连续的内存组成的数据结构
添加如下：

缺点：

大小固定，不能动态拓展。
插入和删除的效率比较慢，假如我们在数组的非尾部插入或删除一个数据，那么就要移动]]></description><category></category></item><item><title><![CDATA[【Tomcat】Tomcat参数调优:连接数和并发数]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/108306794</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/108306794</guid><author>weixin_37838913</author><pubDate>Sun, 30 Aug 2020 15:24:57 +0800</pubDate><description><![CDATA[Tomcat参数调优:连接数和并发数连接数实战并发处理线程数  调整实战




配置项
含义
默认
建议
注意
备注




ConnectionTimeout
连接超时
20s
减少
与程序处理能力有关，处理能力越快设置短一点没关系
到底多久提示请求超时


maxThreads
处理连接的最大线程数（并发量）
200
增加
不是越大越好



acceptCount（backlog）
等待接受accept的请求数量限制
100
增加
socket参数，min（accept，/proc/sys/net/]]></description><category></category></item><item><title><![CDATA[【网络编程】TCP通信程序-文件上传实例和BS案例]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/108251169</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/108251169</guid><author>weixin_37838913</author><pubDate>Thu, 27 Aug 2020 05:05:13 +0800</pubDate><description><![CDATA[【网络编程】TCP通信程序TCP通信程序Socket类（java.net）构造方法成员方法实现步骤ServerSocket类构造方法成员方法实现步骤文件上传的原理服务端文件程序阻塞原因read读不到-1文件上传优化
TCP通信程序
能实现TCP通信的Java程序


概述：

TCP通信能是实现两台计算机之间的数据交互，通信的两端，要严格区分为客户端(Client)和服务端（Server）
面向连接的通信，客户端和服务端必须经过3次握手，建立逻辑连接，才能通信（安全）
建立逻辑连接，这个连接包含一个对象，也]]></description><category></category></item><item><title><![CDATA[【多线程】线程中止、CPU缓存优化、内存屏障、线程通信（wait/notify/notifyAll、park/unpark机制）]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/108113781</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/108113781</guid><author>weixin_37838913</author><pubDate>Thu, 20 Aug 2020 01:08:22 +0800</pubDate><description><![CDATA[线程中止、CPU缓存优化、内存屏障线程中止不正确的线程中止-Stop正确的线程中止-interrupt正确的线程中止-标志位内存屏障和CPU缓存CPU性能优化手段-缓存多级缓存MESI协议CPU性能优化手段-运行时指令重排两个问题内存屏障（Memory Barrier）读内存屏障（Load Memory Barrier）写内存屏障（Store Memory Barrier）
线程中止
不正确的线程中止-Stop

Stop：中止线程，并且清除监控器锁的信息，但是可能导致线程安全问题，JDK不建议用。
Des]]></description><category></category></item><item><title><![CDATA[【操作系统-进程】进程间通信：管道]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/107925958</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/107925958</guid><author>weixin_37838913</author><pubDate>Tue, 11 Aug 2020 01:58:48 +0800</pubDate><description><![CDATA[进程间通信进程管道
进程
每个进程的用户地址空间都是独立的，一般而言是不能互相访问的，但内核空间是每个进程都共享，所以进程之间要通信必须通过内核。
Linux内核提供了不少进程间通信的机制：

管道
消息队列
共享内存
信号量
信号
Socket

管道
linux中的“|”竖线
$ ps auxf| grep mysql

上面命令行里的|竖线就是一个管道，它的功能是将一个命令（ps auxf）的输出，作为后一个命令（grep mysql）的输入，从这功能描述，可以看出管道传输数据是单向的。
如果想互相通]]></description><category></category></item><item><title><![CDATA[Mockjs前端请求模拟数据]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/107910898</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/107910898</guid><author>weixin_37838913</author><pubDate>Mon, 10 Aug 2020 13:33:51 +0800</pubDate><description><![CDATA[CMSMockjs模拟数据数据模板定义规范DTD数据占位符定义规范DPD基本方法
Mockjs
模拟数据
//文件名：demo1.js
//生成一个列表数据，5条数据  包含id和name属性
let Mock=require('mockjs')
let data=Mock.mock({
  'list|5':[{
 	id:1;
 	name:'测试fly'
  }]
})
console.log(JSON.stringify(data));
//换行展示，2个缩进
console.log(JSON.st]]></description><category></category></item><item><title><![CDATA[CMS和MongoDB和页面静态化技术Freemarker]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/107829734</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/107829734</guid><author>weixin_37838913</author><pubDate>Mon, 10 Aug 2020 13:05:03 +0800</pubDate><description><![CDATA[CMS1、什么是CMS2、静态门户工程搭建1.1导入门户工程1.2配置虚拟主机3、SSI服务端包含技术4、CMS页面管理需求5、CMS服务端工程搭建工程结构
1、什么是CMS
2、静态门户工程搭建
1.1导入门户工程
1.2配置虚拟主机
3、SSI服务端包含技术
4、CMS页面管理需求
5、CMS服务端工程搭建
工程结构


怎么将没有小蓝方块的文档导成Module？


然后直接next和finish就好


...]]></description><category></category></item><item><title><![CDATA[JVM：大端小端、常量池、字节码文件解析（持续更新...)]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/107849502</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/107849502</guid><author>weixin_37838913</author><pubDate>Fri, 07 Aug 2020 12:54:11 +0800</pubDate><description><![CDATA[JVM：大端小端、常量池、字节码文件解析大端小端一个类最多实现65535个接口常量池有三种
大端小端
一个类最多实现65535个接口




占多少个字节
name
什么东西
why




u4
magic
魔数
如果不是cafebabe，就不是


u2
minor version
次版本号



u2
major version
主版本号









常量池有三种

占两个字节u2






...]]></description><category></category></item><item><title><![CDATA[【FastDFS】在Linux下安装FastDFS以及Nginx配置、SpringBoot整合FastDFS、SpringCloud整合FastDFS分布式文件管理系统]]></title><link>https://blog.youkuaiyun.com/weixin_37838913/article/details/105933494</link><guid>https://blog.youkuaiyun.com/weixin_37838913/article/details/105933494</guid><author>weixin_37838913</author><pubDate>Wed, 06 May 2020 06:32:28 +0800</pubDate><description><![CDATA[在Linux下安装FastDFS、SpringBoot整合FastDFS、SpringCloud整合FastDFS分布式文件管理系统解压文件配置并启动trackerd修改复制后的配置文件:启动fdfs_trackerd脚本:配置并启动storaged修改复制后的配置文件:启动fdfs_storaged脚本解压fastfds-nginx-module修改vim config配置ngnix与FastD...]]></description><category></category></item></channel></rss>