<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/hdblocal</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; hdblocal]]></copyright><item><title><![CDATA[【设计模式】设计原则-开闭原则]]></title><link>https://blog.csdn.net/hdblocal/article/details/131933515</link><guid>https://blog.csdn.net/hdblocal/article/details/131933515</guid><author>hdblocal</author><pubDate>Wed, 26 Jul 2023 10:26:35 +0800</pubDate><description><![CDATA[当应用的需求改变时，在不修改软件实体的源代码或者二进制代码的前提下，可以扩展模块的功能，使其满足新的需求。]]></description><category></category></item><item><title><![CDATA[【设计模式】设计原则-里氏替换原则]]></title><link>https://blog.csdn.net/hdblocal/article/details/131925579</link><guid>https://blog.csdn.net/hdblocal/article/details/131925579</guid><author>hdblocal</author><pubDate>Wed, 26 Jul 2023 09:36:48 +0800</pubDate><description><![CDATA[任何基类可以出现的地方，子类一定可以出现。通俗理解：子类可以扩展父类的功能，但不能改变父类原有的功能。换句话说，子类继承父类时，除添加新的方法完成新增功能外，尽量不要重写父类的方法。]]></description><category></category></item><item><title><![CDATA[【设计模式】设计原则-单一职责原则]]></title><link>https://blog.csdn.net/hdblocal/article/details/131904159</link><guid>https://blog.csdn.net/hdblocal/article/details/131904159</guid><author>hdblocal</author><pubDate>Mon, 24 Jul 2023 20:16:53 +0800</pubDate><description><![CDATA[类的职责是站在其它类的角度来定义的类的职责包含多个相关功能因此，SRP 可以翻译为 一个类只负责一组相关的事 ， 对应到代码中就是：一个类有多个方法，这些方法是相关的有了这个定义，我们再来看看学生信息管理类， 很明显，它具有的 4 个功能都是和 管理 相关的，按照 SRP 应该只设计一个学生信息管理类就可以了。]]></description><category></category></item><item><title><![CDATA[数据库之mysql与oracle比较]]></title><link>https://blog.csdn.net/hdblocal/article/details/118969484</link><guid>https://blog.csdn.net/hdblocal/article/details/118969484</guid><author>hdblocal</author><pubDate>Wed, 21 Jul 2021 16:32:08 +0800</pubDate><description><![CDATA[数据库之mysql与oracle比较1. 比较2. 行级锁3. 悲观锁与乐观锁4. @Transactional注意点
1. 比较




项目
mysql
oracle




对事务的提交
自动提交
需要手动提交，commit


事务隔离级别
repeatable-read，可重复读
read commit， 读已提交


对事务的支持
在innodb存储引擎的行级锁的情况下才可支持事务
完全支持事务


存储引擎
Innodb(B+树)，myISAM(B+树), memory
无, B-树


应用]]></description><category></category></item><item><title><![CDATA[java锁（一） synchronized与reentrantLock比较]]></title><link>https://blog.csdn.net/hdblocal/article/details/118962417</link><guid>https://blog.csdn.net/hdblocal/article/details/118962417</guid><author>hdblocal</author><pubDate>Wed, 21 Jul 2021 11:25:25 +0800</pubDate><description><![CDATA[synchronize与reentrantLock比较




项目
synchornize
reentrantLock




原理
Synchronized进过编译，会在同步块的前后分别形成monitorenter和monitorexit这个两个字节码指令。在执行monitorenter指令时，首先要尝试获取对象锁。如果这个对象没被锁定，或者当前线程已经拥有了那个对象锁，把锁的计算器加1，相应的，在执行monitorexit指令时会将锁计算器就减1，当计算器为0时，锁就被释放了。如果获取对象锁失败，那当]]></description><category></category></item><item><title><![CDATA[nginx根据url参数重定向]]></title><link>https://blog.csdn.net/hdblocal/article/details/118931235</link><guid>https://blog.csdn.net/hdblocal/article/details/118931235</guid><author>hdblocal</author><pubDate>Tue, 20 Jul 2021 13:25:11 +0800</pubDate><description><![CDATA[nginx根据url参数重定向1. 判断url路径2. 判断url参数其他参数待完善
1. 判断url路径
location / {
    if ($args ~* "/product-list?param1=val1&amp;param2=val2") {
        rewrite ^ http://www.mysite.com/product-list/$arg_param1/$arg_param2? last;
    }
}

2. 判断url参数
if ($arg_path = 'abc']]></description><category></category></item><item><title><![CDATA[docker-compose小技巧记录]]></title><link>https://blog.csdn.net/hdblocal/article/details/117700608</link><guid>https://blog.csdn.net/hdblocal/article/details/117700608</guid><author>hdblocal</author><pubDate>Tue, 08 Jun 2021 14:13:52 +0800</pubDate><description><![CDATA[docker-compose新增目录挂载，容器不自动创建目录
####容器没有放数据存储###
vi  docker-compose.yml  增加一个挂载目录

sudo /usr/local/bin/docker-compose -f docker-compose.yml stop #停止现有的docker-compose

sudo /usr/local/bin/docker-compose -f docker-compose.yml down --volumes  

sudo /usr/local]]></description><category></category></item><item><title><![CDATA[docker可视化工具portainer]]></title><link>https://blog.csdn.net/hdblocal/article/details/117323457</link><guid>https://blog.csdn.net/hdblocal/article/details/117323457</guid><author>hdblocal</author><pubDate>Thu, 27 May 2021 10:43:33 +0800</pubDate><description><![CDATA[使用docker-compose安装docker可视化工具概述使用1. 编辑docker-compose.yml文件2. 运行3. 管理界面
概述
Portainer：
优点
（1）支持容器管理、镜像管理(导入、导出)。
（2）轻量级，消耗资源少。
（3）基于docker api，安全性高，可指定docker api端口，支持TLS证书认证。
（4）支持权限分配。
（5）支持集群。
（6）github上目前持续维护更新。
缺点
（1）N/A
结论：
    portainer功能完善，目前持续维护更新

使]]></description><category></category></item><item><title><![CDATA[JVM在OOM日志排查]]></title><link>https://blog.csdn.net/hdblocal/article/details/117251593</link><guid>https://blog.csdn.net/hdblocal/article/details/117251593</guid><author>hdblocal</author><pubDate>Wed, 26 May 2021 15:33:25 +0800</pubDate><description><![CDATA[JVM在遇到OOM(OutOfMemoryError)时生成Dump文件

-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/path/heap/dump/$1-heapdump.hprof



-XX:+HeapDumpOnOutOfMemoryError ： OOM时转储dump文件

-XX:HeapDumpPath=/path/heap/dump/$1-heapdump.hprof ： OOM时转储文件
...]]></description><category></category></item><item><title><![CDATA[docker-compose构建nginx]]></title><link>https://blog.csdn.net/hdblocal/article/details/115948406</link><guid>https://blog.csdn.net/hdblocal/article/details/115948406</guid><author>hdblocal</author><pubDate>Sat, 24 Apr 2021 10:45:51 +0800</pubDate><description><![CDATA[docker-compose构建nginx目录前置构建docker-compose文件运行docker-compose文件访问nginx
目录
前置

参考前面博文，创建Dockerfile文件，构建本地镜像
Dockerfile构建nginx

构建docker-compose文件

创建docker-compose文件夹，复制nginx的配置文件到新文件夹

mkdir /usr/local/docker/nginx-docker-compose
cp -r /usr/local/docker/dock]]></description><category></category></item><item><title><![CDATA[Dockerfile构建nginx并挂载]]></title><link>https://blog.csdn.net/hdblocal/article/details/115862440</link><guid>https://blog.csdn.net/hdblocal/article/details/115862440</guid><author>hdblocal</author><pubDate>Sat, 24 Apr 2021 10:44:44 +0800</pubDate><description><![CDATA[dockerfile构建nginx并挂载目录构建本地配置文件Dockerfile构建nginx镜像
目录
构建本地配置文件
参考 docker构建nginx并挂载 , 创建配置文件
新建 docker-file-test目录
#  创建dockerfile文件夹
mkdir /usr/local/docker/docker-file-test
# 拷贝配置文件到docker-file-test文件夹
cp /usr/local/docker/nginx-test/* /usr/local/docker/do]]></description><category></category></item><item><title><![CDATA[docker运行nginx并挂载本地目录]]></title><link>https://blog.csdn.net/hdblocal/article/details/115723943</link><guid>https://blog.csdn.net/hdblocal/article/details/115723943</guid><author>hdblocal</author><pubDate>Thu, 15 Apr 2021 16:54:50 +0800</pubDate><description><![CDATA[docker运行nginx并挂载本地目录docker运行nginx并挂载本地目录从hup上pull镜像创建将要挂载的目录创建配置文件如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
docker运行nginx并挂载本地目录
从hup上pull镜像
docker pull n]]></description><category></category></item><item><title><![CDATA[docker常用命令]]></title><link>https://blog.csdn.net/hdblocal/article/details/113643797</link><guid>https://blog.csdn.net/hdblocal/article/details/113643797</guid><author>hdblocal</author><pubDate>Thu, 04 Feb 2021 14:20:17 +0800</pubDate><description><![CDATA[# 基本操作 
docker run -d -p 物理端口1:容器端口1 -p 物理端口2:物理端口2 --name 容器名 &lt;image-name&gt;:&lt;tag&gt;
docker exec -it 容器名/ID bash 

# 磁盘挂载 
docker run -d -p 8080:80 -v 本机路径:容器路径 --name 容器名 &lt;image-name&gt;:&lt;tag&gt; 

# 容器打包镜像 
docker commit -a "作者" -m "备注" 容.]]></description><category></category></item><item><title><![CDATA[JDK源码学习（一）List集合]]></title><link>https://blog.csdn.net/hdblocal/article/details/102930213</link><guid>https://blog.csdn.net/hdblocal/article/details/102930213</guid><author>hdblocal</author><pubDate>Wed, 06 Nov 2019 11:02:41 +0800</pubDate><description><![CDATA[1. List接口继承了Colletion接口,为什么List接口里，将Collection接口的所有方法复制了一遍？


功能不一样，比如同为add方法，Collection的add，只保证集合中有这个元素，而List的add方法，将参数保存到容器对象的末尾。
如果子类实现List接口，就需要遵守List的javadoc规范，
如果子类实现Collection接口，就需要遵守Collectio...]]></description><category></category></item><item><title><![CDATA[跨域：The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed]]></title><link>https://blog.csdn.net/hdblocal/article/details/83381790</link><guid>https://blog.csdn.net/hdblocal/article/details/83381790</guid><author>hdblocal</author><pubDate>Thu, 25 Oct 2018 16:30:59 +0800</pubDate><description><![CDATA[the access-control-allow-origin header contains multiple values but only one is allowed, Origin 'http://localhost:63342' is therefore notallowed access.



问题原因：配置了多个跨域，nginx配置了一层跨域，代码里又配置了一层跨域。导致head...]]></description><category></category></item><item><title><![CDATA[logstash整合kafka]]></title><link>https://blog.csdn.net/hdblocal/article/details/81171174</link><guid>https://blog.csdn.net/hdblocal/article/details/81171174</guid><author>hdblocal</author><pubDate>Mon, 23 Jul 2018 17:22:23 +0800</pubDate><description><![CDATA[1. 准备工作

logstash版本：6.1.1

es版本：6.1.1

kibana版本6.1.1

kafka版本：0.8.2.1

2. 环境搭建

略

3. 在pom.xml中依赖


&amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;net.logstash.logback&amp;lt;/groupId&amp;gt;
            &amp;lt;a...]]></description><category></category></item><item><title><![CDATA[aliyun搭建kafka，外网无法访问]]></title><link>https://blog.csdn.net/hdblocal/article/details/80899975</link><guid>https://blog.csdn.net/hdblocal/article/details/80899975</guid><author>hdblocal</author><pubDate>Tue, 03 Jul 2018 15:59:00 +0800</pubDate><description><![CDATA[阿里云上部署kafka后，远程总是无法访问，本地机器可以。确定是网络配置的问题，所以在server.properties 做如下修改：host.name=阿里云内网地址      #kafka绑定的interface
advertised.listeners=PLAINTEXT://阿里云外网映射地址:9092    # 注册到zookeeper的地址和端口...]]></description><category></category></item><item><title><![CDATA[远程访问kibana界面被拒绝]]></title><link>https://blog.csdn.net/hdblocal/article/details/80840903</link><guid>https://blog.csdn.net/hdblocal/article/details/80840903</guid><author>hdblocal</author><pubDate>Thu, 28 Jun 2018 11:41:12 +0800</pubDate><description><![CDATA[linux搭建kibana环境后，远程访问，被拒绝解决办法：1. 检查端口是否开放；2. 修改config下面的配置文件，因为Kibana 5.x 默认占用的地址是localhost(127.0.0.1)将$KIBANA/config/kibaba.yml下的server.host: &quot;localhost&quot; 更改为server.host: &quot;0.0.0.0&quot; 就可以了...]]></description><category></category></item><item><title><![CDATA[springcloud--日志链路追踪之log4j2]]></title><link>https://blog.csdn.net/hdblocal/article/details/80837561</link><guid>https://blog.csdn.net/hdblocal/article/details/80837561</guid><author>hdblocal</author><pubDate>Thu, 28 Jun 2018 08:28:24 +0800</pubDate><description><![CDATA[传统的log4j，同步打印日志，同时输出许多条日志记录，会采用抢占式，谁先得到输出机会，先打印某条日志。log4j2，异步打印日志，业务线程将日志输出存放到一个无锁化环形队列(RingBuffer)，log4j2的异步线程会从该队列中读取日志，并进行持久化。该环形队列，可以设置缓冲区大小，以及队列满了后，将debug/info/error/trace中某个级别的日志进行剔除。使用：maven依赖&amp;...]]></description><category></category></item><item><title><![CDATA[springboot中打印http请求的日志]]></title><link>https://blog.csdn.net/hdblocal/article/details/80809768</link><guid>https://blog.csdn.net/hdblocal/article/details/80809768</guid><author>hdblocal</author><pubDate>Tue, 26 Jun 2018 08:24:14 +0800</pubDate><description><![CDATA[1. 技术选项：logbook2. 使用方法a. 导入logbook的maven依赖&amp;lt;logbook.version&amp;gt;1.3.0&amp;lt;/logbook.version&amp;gt;

&amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.zalando&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;...]]></description><category></category></item></channel></rss>