<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[笃行淡言]]></title><description><![CDATA[用技术实现价值]]></description><link>https://blog.youkuaiyun.com/dreamwbt</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dreamwbt]]></copyright><item><title><![CDATA[drools规则引擎耗费内存问题解决]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/121861568</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/121861568</guid><author>dreamwbt</author><pubDate>Fri, 10 Dec 2021 18:02:21 +0800</pubDate><description><![CDATA[背景
公司使用drools规则引擎过程中，一个规则文件中差不多10个rule，每一次访问都需要耗费800M内存，导致频繁GC，同时classloader实例数每构建一次都会增加，导致nonHeap区内存占用量跟着递增，导致比较频繁的fullGC（此时老年代使用率还不到10%）。当并发量稍微大一点服务就会挂掉。
原因
规则文件加入drools的时候需要解析编译，每访问一次接口都导致规则解析编译一次，经过监控测试发现800M内存和classloader递增问题就是在解析过程中产生的
解决思路
解决问题的本质是缓]]></description><category></category></item><item><title><![CDATA[无需外设实现电脑远程开机]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/115347914</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/115347914</guid><author>dreamwbt</author><pubDate>Wed, 31 Mar 2021 13:31:27 +0800</pubDate><description><![CDATA[所谓的远程开机本质上就是触发电脑电源的断电、通电功能（台式机、笔记本都是同样的道理），向日葵等远程软件的什么智能插拔、某某棒等本质上就是这个原理，并没有特殊功能，就是借助BIOS自身的功能，实现通断电触发开机，没必要花那个冤枉钱。
开机原理
电脑实际上有两个系统，第一个是底层系统BIOS(基本输入输出系统)，这个是每个电脑必备的，而我们平时所说的系统就是Windows，Linux等系统。
底层的BIOS系统可以直接对我们的硬盘、CPU、电源等进行管理和配置，电源管理中心就有一项配置，可以实现：电脑通电触发开]]></description><category></category></item><item><title><![CDATA[多行文本展开或收起或隐藏（uniapp）]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/110518588</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/110518588</guid><author>dreamwbt</author><pubDate>Thu, 03 Dec 2020 09:18:00 +0800</pubDate><description><![CDATA[详见插件： 点我跳转

]]></description><category></category></item><item><title><![CDATA[Microsoft edge已过期]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/109237024</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/109237024</guid><author>dreamwbt</author><pubDate>Fri, 23 Oct 2020 10:19:06 +0800</pubDate><description><![CDATA[简介
edge浏览器经常右上角弹出已过期



修复办法

第一步：打开设置第二步：点击关于
第三步：等待自动升级
浏览器会自动更新升级，升级完以后就好了
]]></description><category></category></item><item><title><![CDATA[Error response from daemon: Cannot restart container x: driver failed programming external connecti]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/109178039</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/109178039</guid><author>dreamwbt</author><pubDate>Tue, 20 Oct 2020 11:41:29 +0800</pubDate><description><![CDATA[简介
docker容器重启时有时候会抱着个错误
原因
第一种
docker服务启动时定义的自定义链DOCKER，在docker服务运行过程中，如果防火墙配置发生变化，该链会被清掉，此时重启容器就会报错。
解决办法
重启docker服务，自动重新生成自定义链DOCKER
systemctl restart docker


...]]></description><category></category></item><item><title><![CDATA[shell遍历目录下所有文件(可对文件进行解耦回调处理)]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/107856455</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/107856455</guid><author>dreamwbt</author><pubDate>Fri, 07 Aug 2020 10:25:17 +0800</pubDate><description><![CDATA[说明：该脚本一共两个入参，第一个为被遍历目录，第二个为回调方法(目录下文件被遍历到时，针对这个文件需要做什么)，该回调方法第一个入参必须是被遍历到的文件
# 遍历目录下所有文件(包括子目录)
# 调用格式 dirTraversal 被遍历目录 回调方法(参数为目录下的文件) 
# 实例： dirTraversal /home callback   （callback为自定义回调方法）
function dirTraversal(){
    for element in `ls $1`
    do  
 ]]></description><category></category></item><item><title><![CDATA[shell从文件中根据key获取value]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/107856201</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/107856201</guid><author>dreamwbt</author><pubDate>Fri, 07 Aug 2020 10:10:28 +0800</pubDate><description><![CDATA[# 根据key获取value（适用于key=value格式的数据）
# 调用格式 info key &lt;file&gt;
function info(){
        info_line=`sed -n "/^$1/p" $2`
        if [[ -z $info_line ]];then
                echo "$1为空，请核查"
                exit 4
        fi
        tmp_str=$1
        tmp_len=]]></description><category></category></item><item><title><![CDATA[linux时钟(时间)同步]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/107354875</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/107354875</guid><author>dreamwbt</author><pubDate>Thu, 30 Jul 2020 09:45:49 +0800</pubDate><description><![CDATA[简介
当一个系统需要多主机协同运行的时候，主机间的时钟一致便非常重要。
特别注意：
1、这里为什么叫时钟同步，而不是时间同步。时钟和时间是不同的东西，时钟是全球公认的时间节点，全球统一；而时间则是结合时钟+时区得到的时间点。
2、ntpdate命令只是同步时钟，时钟同步后系统会结合时区得到一个具体的时间。不管是从中国还是美国的ntp服务器上同步时钟，都是可以的，时钟仅有非常非常微小的差别。
第一步：安装时间同步客户端
首先在服务器上执行ntpdate命令看是否已经安装过了，如果没有
yum install ]]></description><category></category></item><item><title><![CDATA[Jenkins文件发送到远程服务器不生效]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/107581902</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/107581902</guid><author>dreamwbt</author><pubDate>Sat, 25 Jul 2020 17:57:18 +0800</pubDate><description><![CDATA[简介
我们一般会使用push over ssh插件实现文件远程复制功能，但是在用的过程中又是会出现文件无法复制的问题，下边我描述下通过实践总结的经验。
首先，push over ssh文件复制有个限制**“只能复制当前任务所在目录下的文件”**，很多时候文件无法复制就是因为这个限制导致的。那么我们可以换一种思路，在使用push over ssh插件之前，先把需要的文件复制到当前任务所在目录下。
第一步：文件复制到任务目录下
选择“执行shell”，即在jenkins所在主机上执行shell脚本，这里的脚本不]]></description><category></category></item><item><title><![CDATA[windows10家庭版打开策略管理器]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/107410257</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/107410257</guid><author>dreamwbt</author><pubDate>Fri, 17 Jul 2020 15:51:08 +0800</pubDate><description><![CDATA[第一步：创建脚本
创建一个.cmd为后缀的文本文件，添加如下内容
@echo off

pushd "%~dp0"

dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum &gt;List.txt

dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Packa]]></description><category></category></item><item><title><![CDATA[docker容器时区批量修改(8小时)]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/107251937</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/107251937</guid><author>dreamwbt</author><pubDate>Fri, 10 Jul 2020 15:40:15 +0800</pubDate><description><![CDATA[**
简介
**
使用docker部署一些服务的时候会发现，容器内部的时间时钟比我们中国电脑的时间慢8小时，这个是时区导致，修改下时区就好
脚本
#!/bin/bash
# 获取所有容器(包括已停止的)
containers=`docker ps -aq`

#不用担心因为哪条命令报错导致异常退出，for中的每一条命令都是独立执行，不会相互影响
for item in `docker ps -aq`
do
		# 这行是测试过程中脚本错误产生的异常数据，主要用于清理，所以可以忽略该行
        #do]]></description><category></category></item><item><title><![CDATA[Jenkins分支自动合并]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/106517292</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/106517292</guid><author>dreamwbt</author><pubDate>Wed, 03 Jun 2020 13:33:26 +0800</pubDate><description><![CDATA[Jenkins分支自动合并简介步骤如图
简介
通过jenkins发布项目时，可能需要合并分支，如：发布测试环境的时候需要把dev分支合并到test分支，此时就可以用jenkins自动实现
步骤如图



]]></description><category></category></item><item><title><![CDATA[docker方式安装Nginx]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/106390464</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/106390464</guid><author>dreamwbt</author><pubDate>Wed, 27 May 2020 21:01:01 +0800</pubDate><description><![CDATA[简介
第一步：启动容器
docker run -d --name=nginx -p 80:80 -v /etc/mote/nginx/nginx.conf:/etc/nginx/nginx.conf -v /etc/mote/nginx/conf.d:/etc/nginx/conf.d -v /usr/share/mote/nginx/html:/usr/share/nginx/html nginx:latest  

注意：

]]></description><category></category></item><item><title><![CDATA[Docker日志清理与配置]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/106297377</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/106297377</guid><author>dreamwbt</author><pubDate>Sat, 23 May 2020 11:16:35 +0800</pubDate><description><![CDATA[一、docker全局日志配置
# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://ung2thfc.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts": {"max-size":"50m", "max-file":"3"}
}

备注：registry-mirrors为docker镜像仓库地址，默认的比较慢，所以该成阿里的
完成后更新配置
// 重启docker守护进程]]></description><category></category></item><item><title><![CDATA[Idea不提示错误]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/106260706</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/106260706</guid><author>dreamwbt</author><pubDate>Thu, 21 May 2020 16:27:16 +0800</pubDate><description><![CDATA[简介
网上有很多解决方案，但是我遇到的是另外一个坑
idea 2020版安装了插件 “Jclasslib Bytecode Viewer” 后，代码开发无错误提示。
解决办法：
卸载该插件

]]></description><category></category></item><item><title><![CDATA[docker、podman容器不能解析域名]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/105829065</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/105829065</guid><author>dreamwbt</author><pubDate>Wed, 29 Apr 2020 01:01:59 +0800</pubDate><description><![CDATA[https://blog.yeefire.com/2020_03/docker_DNS_resolve.html

]]></description><category></category></item><item><title><![CDATA[漏桶限流算法和令牌限流算法的区别(通俗易懂)]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/104818678</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/104818678</guid><author>dreamwbt</author><pubDate>Thu, 12 Mar 2020 14:57:45 +0800</pubDate><description><![CDATA[网上找了挺多资料看这两个的区别，十个有9个就是相互抄袭复制，一直比较懵懂，下边是我查资料总结的对这两个的理解。
建议：先看看其他博客的理论知识
漏桶算法
即  一个固定容量的桶，上边不停的滴水，下边漏水。
特别注意：上边滴水的速度是不固定的，下边则是以固定的流速往下滴水，当下边的流速小于上边的流速时，桶里的水就会溢出。
映射到具体的网络请求就是：网络请求就相当于上边的水滴，一个请求对应一个水滴，大...]]></description><category></category></item><item><title><![CDATA[Spring自定义配置提示]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/104476821</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/104476821</guid><author>dreamwbt</author><pubDate>Mon, 24 Feb 2020 14:18:32 +0800</pubDate><description><![CDATA[第一步：添加提示的元数据

在自定义包中添加文件additional-spring-configuration-metadata.json（resources/META-INF下）
数据格式如下（主要关注properties，其他暂时不清楚具体作用）


{
  "groups": [
    {
      "name": "mote",
      "type": "org.springfra...]]></description><category></category></item><item><title><![CDATA[podman-docker详解]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/104210867</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/104210867</guid><author>dreamwbt</author><pubDate>Fri, 07 Feb 2020 15:38:57 +0800</pubDate><description><![CDATA[简介

Podman是一个开源项目，可在大多数Linux平台上使用并开源在GitHub上。Podman是一个无守护进程的容器引擎，用于在Linux系统上开发，管理和运行Open Container Initiative（OCI）容器和容器镜像。Podman提供了一个与Docker兼容的命令行前端，它可以简单地作为Docker cli，简单地说你可以直接添加别名：alias docker = pod...]]></description><category></category></item><item><title><![CDATA[intellj全局配置]]></title><link>https://blog.youkuaiyun.com/dreamwbt/article/details/103970106</link><guid>https://blog.youkuaiyun.com/dreamwbt/article/details/103970106</guid><author>dreamwbt</author><pubDate>Tue, 14 Jan 2020 11:50:08 +0800</pubDate><description><![CDATA[预备知识

1：JAVA_OPTS：常用于一些应用的配置，如Tomcat，但它一般不作为环境变量，也不能被JVM识别的，是那些应用的自定义配置；

2：JAVA_OPTIONS：也是作为环境变量来替代命令行参数的，但它是JVM厂家自定义的，可以覆盖JAVA_TOOL_OPTIONS，但各厂家的不同，_JAVA_OPTIONS是Oracle的JVM，而IBM的则是用IBM_JAVA_OPTIONS。...]]></description><category></category></item></channel></rss>