<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Arthur_Holmes的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Arthur_Holmes</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Arthur_Holmes]]></copyright><item><title><![CDATA[二分查找整理]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/122043122</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/122043122</guid><author>Arthur_Holmes</author><pubDate>Mon, 20 Dec 2021 15:46:19 +0800</pubDate><description><![CDATA[int binary_search(int[] nums, int target) {
    int left = 0, right = nums.length - 1; 
    while(left &lt;= right) {
        int mid = left + (right - left) / 2;
        if (nums[mid] &lt; target) {
            left = mid + 1;
        } else if (nums[mid.]]></description><category></category></item><item><title><![CDATA[supervisor部署python应用找不到模块]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/122024784</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/122024784</guid><author>Arthur_Holmes</author><pubDate>Sun, 19 Dec 2021 15:37:27 +0800</pubDate><description><![CDATA[supervisor 启动错误日志显示是找不到opencv模块：ModuleNotFoundError: No module named 'cv2'

supervisor 配置文件：




[program: webapp]
dirctory = /home/www/web/
command =python3 manager.py runserver 8000
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor]]></description><category></category></item><item><title><![CDATA[intellij idea同步所有配置【导入或导出所有配置】【2020.1】]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116667535</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116667535</guid><author>Arthur_Holmes</author><pubDate>Tue, 11 May 2021 19:53:34 +0800</pubDate><description><![CDATA[intellij idea同步所有配置【导入或导出所有配置】【2020.1】 IDEA版本:2020.1 【原因】使用intellij idea很长一段时间，软件相关的配置也都按照自己习惯的设置好，如果需要重装软件，还得需要重新设置 【操作】: 1.首先将本地的设置上传到云端[其中可能会修改写插件-在右下角点击云朵修改即可]  2.在...]]></description><category></category></item><item><title><![CDATA[Logstash 7.4配置转发器报错提示：“[ERROR][logstash.agent] Failed to execute ction {:action=＞LogStash::Pipel”原因]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116610793</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116610793</guid><author>Arthur_Holmes</author><pubDate>Mon, 10 May 2021 21:14:16 +0800</pubDate><description><![CDATA[&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Logstash 7.4转发器的配置启动报错的解决过程 
经过修改配置文件，执行以下命令启动服务 
nohup bin/logstash -f config/kafka_os_into_es.conf &amp;&nbsp; &nbsp; -----&gt;通过nohup命令将服务启动的进程放到后台并输出到日志 
输出...]]></description><category></category></item><item><title><![CDATA[syslog中的“（CRON）信息（未安装MTA，丢弃输出）”错误]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116563275</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116563275</guid><author>Arthur_Holmes</author><pubDate>Sun, 09 May 2021 12:32:41 +0800</pubDate><description><![CDATA[我重新安装了Ubuntu 12.04.1 LTS和许多服务器。
我没有在这些服务器上添加任何cron作业或编辑我的crontab，但是，大约在同一时间，对于每台计算机，在高峰时，我的系统日志中都有75％的CPU高峰和以下信息：
CRON[8380]: (CRON) info (No MTA installed, discarding output)
我已经安装了mono-complete，并且正在运行服务堆栈Web服务器。
我阻止这种情况发生的最佳方法是什么？我希望能够消除CPU峰值。
cron
— gi
]]></description><category></category></item><item><title><![CDATA[IDEA启动多个微服务]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116563254</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/116563254</guid><author>Arthur_Holmes</author><pubDate>Sun, 09 May 2021 12:30:32 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[面试还不知道BeanFactory和ApplicationContext的区别？]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115639734</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115639734</guid><author>Arthur_Holmes</author><pubDate>Mon, 12 Apr 2021 20:33:47 +0800</pubDate><description><![CDATA[日拱一兵
       
                    2019年07月01日
                   阅读 2243  关注  
            面试还不知道BeanFactory和ApplicationContext的区别？
             
接口 BeanFactory 和 ApplicationContext 都是用来从容器中获取 Spring beans 的，但是，他们二者有很大不同

我看到过很多问 BeanFact...]]></description><category></category></item><item><title><![CDATA[填坑之路！SpringBoot导包坑之spring-boot-starter-parent]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115632954</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115632954</guid><author>Arthur_Holmes</author><pubDate>Mon, 12 Apr 2021 18:00:18 +0800</pubDate><description><![CDATA[填坑之路！SpringBoot导包坑之spring-boot-starter-parent
大誌 2018-11-14 21:03:25  104522  收藏 83
分类专栏： Bug 文章标签： SpringBoot
版权
2020/02/12 补充：本人版本maven-3.3.9
2020/04/29 补充：如果你是公司项目，用的是公司私有仓库，那你应该先问问公司负责仓库管理的同事，仓库内有没有这个包，或者有没有开启云仓库拉取
前言
在新建springboot项目引入RELEASE版本时,有几率从远程]]></description><category></category></item><item><title><![CDATA[java8的ConcurrentHashMap为何放弃分段锁]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115526919</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115526919</guid><author>Arthur_Holmes</author><pubDate>Thu, 08 Apr 2021 17:39:03 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[二分查找、二分边界查找算法的模板代码总结]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115516536</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115516536</guid><author>Arthur_Holmes</author><pubDate>Thu, 08 Apr 2021 12:37:07 +0800</pubDate><description><![CDATA[二分查找、二分边界查找算法的模板代码总结ChiuCheng发布于 2018-10-29 
前言
二分查找作为程序员的一项基本技能，是面试官最常使用来考察程序员基本素质的算法之一，也是解决很多查找类题目的常用方法，它可以达到O(log n)的时间复杂度。  
一般而言，当一个题目出现以下特性时，你就应该立即联想到它可能需要使用二分查找：

待查找的数组有序或者部分有序
要求时间复杂度低于O(n)，或者直接要求时间复杂度为O(log n)

二分查找有很多种变体，使用时需要注意查找条件，判断条件和左右边界的更新]]></description><category></category></item><item><title><![CDATA[Java线程和操作系统线程的关系]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115443369</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115443369</guid><author>Arthur_Holmes</author><pubDate>Mon, 05 Apr 2021 15:47:13 +0800</pubDate><description><![CDATA[文章目录
 1.操作系统线程模型1.1 线程实现在用户空间下1.2 线程实现在操作系统内核中1.3使用用户线程加轻量级进程混合实现
    2.Java线程2.1 Java线程在操作系统上本质:2.2 Java中的线程2.2.1 操作系统中的进程（线程）状态**（区分和JVM中的线程状态）**2.2.2 操作系统中线程和Java...]]></description><category></category></item><item><title><![CDATA[一文告诉你Spring是如何利用“三级缓存“巧妙解决Bean的循环依赖问题的【享学Spring】]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115056116</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/115056116</guid><author>Arthur_Holmes</author><pubDate>Sun, 21 Mar 2021 21:08:36 +0800</pubDate><description><![CDATA[每篇一句 
 
 你今天的优势会被明天的趋势所取代，所以务必好好学理论，一通则百通 
 
前言 
循环依赖：就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方，最终形成闭环。用一副经典的图示可以表示成这样（A、B、C都代表对象，虚线代表引用关系）：  
 
 注意：其实可以N=1，也就是极限情况的循环依赖：自己依赖自己...]]></description><category></category></item><item><title><![CDATA[Spring中BeanFactory与FactoryBean的区别]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114882324</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114882324</guid><author>Arthur_Holmes</author><pubDate>Tue, 16 Mar 2021 15:01:48 +0800</pubDate><description><![CDATA[Spring中BeanFactory与FactoryBean的区别
在Spring中有BeanFactory和FactoryBean这2个接口，从名字来看很相似，比较容易搞混。
一、BeanFactory
BeanFactory是一个接口，它是Spring中工厂的顶层规范，是SpringIoc容器的核心接口，它定义了getBean()、containsBean()等管理Bean的通用方法。Spring的容器都是它的具体实现如：
DefaultListableBeanFactory
XmlBeanFactor]]></description><category></category></item><item><title><![CDATA[两张动图-彻底明白TCP的三次握手与四次挥手]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114873460</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114873460</guid><author>Arthur_Holmes</author><pubDate>Tue, 16 Mar 2021 11:32:40 +0800</pubDate><description><![CDATA[背景描述 
 
 通过上一篇中网络模型中的IP层的介绍，我们知道网络层，可以实现两个主机之间的通信。但是这并不具体，因为，真正进行通信的实体是在主机中的进程，是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机，但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。 ...]]></description><category></category></item><item><title><![CDATA[实战CGLib系列文章 MethodInterceptor和Enhancer]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114708212</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114708212</guid><author>Arthur_Holmes</author><pubDate>Fri, 12 Mar 2021 21:21:26 +0800</pubDate><description><![CDATA[实战CGLib系列文章
本篇介绍通过MethodInterceptor和Enhancer实现一个动态代理。
一、首先说一下JDK中的动态代理：
JDK中的动态代理是通过反射类Proxy以及InvocationHandler回调接口实现的，不了解的同学请参考我的这篇Blog：Java动态代理详解 http://shensy.iteye.com/blog/1698197
但是，JDK中所要进行动态代理的类必须要实现一个接口，也就是说只能对该类所实现接口中定义的方法进行代理，这在实际编程中具有一定的局限性，而且使]]></description><category></category></item><item><title><![CDATA[Java三种代理模式：静态代理、动态代理和cglib代理]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114602334</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114602334</guid><author>Arthur_Holmes</author><pubDate>Tue, 09 Mar 2021 21:28:55 +0800</pubDate><description><![CDATA[一、代理模式介绍
代理模式是一种设计模式，提供了对目标对象额外的访问方式，即通过代理对象访问目标对象，这样可以在不修改原目标对象的前提下，提供额外的功能操作，扩展目标对象的功能。
简言之，代理模式就是设置一个中间代理来控制访问原目标对象，以达到增强原对象的功能和简化访问方式。
代理模式UML类图

举个例子，我们生活中经常到火车站去买车票，但是人一多的话，就会非常拥挤，于是就有了代售点，我们能从代售点买车票了。这其中就是代理模式的体现，代售点代理了火车站对象，提供购买车票的方法。
二、静态代理
这种代理方.]]></description><category></category></item><item><title><![CDATA[BigInteger]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114482165</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114482165</guid><author>Arthur_Holmes</author><pubDate>Sun, 07 Mar 2021 13:23:04 +0800</pubDate><description><![CDATA[BigInteger
在Java中，由CPU原生提供的整型最大范围是64位long型整数。使用long型整数可以直接通过CPU指令进行计算，速度非常快。
如果我们使用的整数范围超过了long型怎么办？这个时候，就只能用软件来模拟一个大整数。java.math.BigInteger就是用来表示任意大小的整数。BigInteger内部用一个int[]数组来模拟一个非常大的整数：
BigInteger bi = new BigInteger(“1234567890”);
System.out.println(bi]]></description><category></category></item><item><title><![CDATA[夜深人静写算法（十四）- 基数估计 (Cardinality Estimation)]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114446027</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114446027</guid><author>Arthur_Holmes</author><pubDate>Sat, 06 Mar 2021 16:26:50 +0800</pubDate><description><![CDATA[目录 
一、概述 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1、最小值估值法 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2、哈希法 &nbsp; &nbsp; &nbsp; 3、k-前缀法 二、Linear Counting &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1、算法思路 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2、算法证明 三、LogL...]]></description><category></category></item><item><title><![CDATA[redis压缩列表 ziplist实现hash]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114444061</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114444061</guid><author>Arthur_Holmes</author><pubDate>Sat, 06 Mar 2021 15:45:14 +0800</pubDate><description><![CDATA[ziplist 编码的哈希对象使用压缩列表作为底层实现， 每当有新的键值对要加入到哈希对象时， 程序会先将保存了键的压缩列表节点推入到压缩列表表尾， 然后再将保存了值的压缩列表节点推入到压缩列表表尾， 因此：
保存了同一键值对的两个节点总是紧挨在一起， 保存键的节点在前， 保存值的节点在后；
先添加到哈希对象中的键值对会被放在压缩列表的表头方向， 而后来添加到哈希对象中的键值对会被放在压缩列表的表尾方向。
作者：one_zheng
链接：https://www.jianshu.com/p/2095df8ae]]></description><category></category></item><item><title><![CDATA[谨慎使用多线程中的fork]]></title><link>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114415193</link><guid>https://blog.youkuaiyun.com/Arthur_Holmes/article/details/114415193</guid><author>Arthur_Holmes</author><pubDate>Fri, 05 Mar 2021 21:31:45 +0800</pubDate><description><![CDATA[前言
在单核时代，大家所编写的程序都是单进程/单线程程序。随着计算机硬件技术的发展，进入了多核时代后，为了降低响应时间，重复充分利用多核cpu的资源，使用多进程编程的手段逐渐被人们接受和掌握。然而因为创建一个进程代价比较大，多线程编程的手段也就逐渐被人们认可和喜爱了。
记得在我刚刚学习线程进程的时候就想，为什么很少见人把多进程和多线程结合起来使用呢，把二者结合起来不是更好吗？现在想想当初真是too young too simple，后文就主要讨论一下这个问题。
进程与线程模型
进程的经典定义就是一个执行中的]]></description><category></category></item></channel></rss>