<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DRB321的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DRB321</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DRB321]]></copyright><item><title><![CDATA[论程序员如何高效的开发]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/113608362</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/113608362</guid><author>DRB321</author><pubDate>Wed, 03 Feb 2021 16:00:31 +0800</pubDate><description><![CDATA[一、身为一个程序员在开发中常见问题
1、技术问题
常常因为某个知识或者技术能力，迟迟找不到解决方案。这个问题相信每个人都碰到过，那么如何处理呢？
	我们常做的手段是百度或者询问身边的大神。这样常常也能解决问题，那么如果下次碰见了，我们又当如何处理呢？所以在解决完问题之后，你是否当作一个tip记载下来，以便下次更快的响应。

2、沟通问题
这个问题我觉得是比技术问题还要麻烦的，因为程序是死的，人是活的。程序上碰到的问题，我们如果有较长一段时间的积累，碰到了也会很快的处理，不影响我们的主体任务的开发。但是我们常]]></description><category></category></item><item><title><![CDATA[IDEA完整项目提交到git]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/106731696</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/106731696</guid><author>DRB321</author><pubDate>Sat, 13 Jun 2020 14:15:11 +0800</pubDate><description><![CDATA[IDEA完整项目提交到git1、第一步2、第二步3、第三步4、第四步5、第五步6、第六步7、第七步8、第八步
1、第一步
在idea的菜单项选择 VCS》Import into Version Control》Create Git Repository

2、第二步
出现Select directory for git init对话框，默认是直接定位到当前项目文件所在的磁盘目录，一般git初始化就在当前项目的根目录，不需要修改路径，直接点击OK确定即可

3、第三步
init完成之后，可以看到原本的项目文件]]></description><category></category></item><item><title><![CDATA[shiro整合spring时出现405错误]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/106731508</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/106731508</guid><author>DRB321</author><pubDate>Sat, 13 Jun 2020 14:05:07 +0800</pubDate><description><![CDATA[Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported 405] 问题如何处理?问题起源代码结构问题发现问题解决分析解决方法
问题起源
这个问题是在做shiro和spring整合时候发现的，在此做个记录
git地址：shiro简单整合spring
代码结构

问题发现



问题解决
分析
debug 去DispatcherServlet 这个类]]></description><category></category></item><item><title><![CDATA[你真的了解Java中的finally吗？]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/106087220</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/106087220</guid><author>DRB321</author><pubDate>Tue, 12 May 2020 22:52:11 +0800</pubDate><description><![CDATA[你真的了解Java中的finally吗？序章01 什么情况下finally不会被执行？02 什么情况下finally会被执行？03 练习
序章
首先抛出一个问题：Java中的finally一定会执行吗？
很多人都认为finally是一定会执行的，其中包括一些经验老到的程序员。可惜并不像大多数人所想的那样，这个问题的答案是否定的
接下来带大家一同探讨这个问题。
01 什么情况下finally不会被执行？
例 1：
    @Test
    void test1() {
        try {
     ]]></description><category></category></item><item><title><![CDATA[mysql的Sql优化实战]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/94139199</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/94139199</guid><author>DRB321</author><pubDate>Sat, 29 Jun 2019 11:52:59 +0800</pubDate><description><![CDATA[文章目录SQL优化实战策略1.尽量全值匹配策略2.最佳左前缀法则策略3.不在索引列上做任何操作策略4.范围条件放最后策略5.覆盖索引尽量用策略6.不等于要慎用策略7.Null/Not 有影响策略8.Like查询要当心策略9.字符类型加引号策略10.OR改UNION效率高记忆总结：测试
SQL优化实战
CREATE TABLE `staffs`(
	id int primary key auto_i...]]></description><category></category></item><item><title><![CDATA[Linux service无法使用系统环境变量问题]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/93242793</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/93242793</guid><author>DRB321</author><pubDate>Fri, 21 Jun 2019 23:10:43 +0800</pubDate><description><![CDATA[文章目录Linux service无法使用系统环境变量问题问题详细描述问题探索解决办法最后总结
Linux service无法使用系统环境变量问题
问题

Linux service无法使用系统环境变量问题

详细描述

之前在做一个mysql多实例安装时，安装成功，linux也能成功启动；但是将support-files/mysqld_multi.server移动到/etc/init.d/目录下...]]></description><category></category></item><item><title><![CDATA[JVM垃圾回收算法与垃圾回收器]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/90726743</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/90726743</guid><author>DRB321</author><pubDate>Sat, 01 Jun 2019 10:48:28 +0800</pubDate><description><![CDATA[文章目录垃圾回收算法与垃圾回收器判断对象的存活各种引用强引用软引用（SoftReference）弱引用（WeakReference）虚引用（PhantomReference）GC垃圾回收算法垃圾回收器分代收集各种垃圾回收器垃圾回收器的重要参数（使用-XX:）
垃圾回收算法与垃圾回收器

学习垃圾回收的意义


1 面试需要；
2 GC对应用的性能是有影响的；
3 写代码有好处
栈：栈中的生命周期是...]]></description><category></category></item><item><title><![CDATA[Linux网络配置（动静转换及连接Linux问题）]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/90522703</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/90522703</guid><author>DRB321</author><pubDate>Fri, 24 May 2019 20:44:00 +0800</pubDate><description><![CDATA[文章目录Linux网络配置动态固定重启网卡CentOS中ping不通百度，解决如下：ssh不允许使用root用户使用密码登陆示范：我的固定IP配置
Linux网络配置
动态

windows 虚拟机




Linux


路径：/etc/sysconfig/network-scripts/ifcfg-ens33
配置：
TYPE=“Ethernet”
PROXY_METHOD=“none”
BR...]]></description><category></category></item><item><title><![CDATA[并发安全]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/90269860</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/90269860</guid><author>DRB321</author><pubDate>Thu, 16 May 2019 19:03:45 +0800</pubDate><description><![CDATA[并发安全
文章目录并发安全线程封闭ad-hoc 线程封闭栈封闭无状态的类让类不可变volatile加锁和CAS安全的发布ThreadLocalServlet辨析
线程封闭
ad-hoc 线程封闭

这是完全靠实现者控制的线程封闭，他的线程封闭完全靠实现者实现。ad-hoc 线程封闭非常脆弱，应该尽量避免使用

栈封闭

使用局部变量，方法中的局部变量都会拷贝一份到线程栈中，不会被多个线程共享。

...]]></description><category></category></item><item><title><![CDATA[Java部分集合有序性记录]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/90114564</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/90114564</guid><author>DRB321</author><pubDate>Sat, 11 May 2019 20:51:00 +0800</pubDate><description><![CDATA[1表格结果

序号
			集合名称
			进出集合
			key大小
		1
			HashMap
			无序
			无序
		2
			Hashtable
			无序
			无序
		3
			TreeMap
			无序
			从小到大
		4
			LinkedHashMap
			先进先出
			无序
		5
			ConcurrentSkipListMap
			无序
			从小到大
		...]]></description><category></category></item><item><title><![CDATA[log4j2的简单使用]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/89853816</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/89853816</guid><author>DRB321</author><pubDate>Sun, 05 May 2019 20:02:00 +0800</pubDate><description><![CDATA[使用这个的初衷是因为在做自己的一个小的netty服务端的时候，用Jmeter压测了一下，结果发现并发数大了之后返回数据特别慢，最后排查是由于日志打印比较大数据（我有一个数据7万多的字节），因此采用log4j2的异步日志处理。

一、所需要jar:

disruptor-3.0.0.jar
log4j-api-2.3.jar
log4j-core-2.3.jar

二、配置文件

pom.xml:
...]]></description><category></category></item><item><title><![CDATA[Java并发同步器AQS（AbstractQueuedSynchronizer）]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/89817071</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/89817071</guid><author>DRB321</author><pubDate>Sat, 04 May 2019 22:40:33 +0800</pubDate><description><![CDATA[换AQS中的数据结构-节点和同步队列



同步器AQS中有两个参数：head，tail，分别指头节点，尾节点

节点Node中有两个参数：prev,next,分别指前一个节点，后一个节点

1.节点加入到同步队列



ReentrantLock代码：下面以ReentrantLock分析


        final void lock() {
            if (compareA...]]></description><category></category></item><item><title><![CDATA[IDEA 类和方法注释模板]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/89760993</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/89760993</guid><author>DRB321</author><pubDate>Thu, 02 May 2019 13:37:24 +0800</pubDate><description><![CDATA[file-&gt;setting-&gt;Editor-&gt;Filr and Code Templates-&gt;Includes-&gt;File Header

类注释模板：


/**

* @title: ${NAME}

* @projectName ${PROJECT_NAME}

* @description: TODO

* @author ${USER}

* @date...]]></description><category></category></item><item><title><![CDATA[Java 基于bio实现一个服务端/客户端程序]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/89740252</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/89740252</guid><author>DRB321</author><pubDate>Wed, 01 May 2019 20:39:49 +0800</pubDate><description><![CDATA[使用了线程池，N客户端--M线程，N可以大于M

利弊：这个虽然使用了线程池，比原始的bio（一个客户端《----》一个线程）更进一步，但是当客户端请求过多时，请求会被放到线程池的队列中，有可能会造成任务阻塞。

Client端代码


package CS.f2;

import java.io.BufferedReader;
import java.io.IOException;
import...]]></description><category></category></item><item><title><![CDATA[演示Exchange用法]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/89436665</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/89436665</guid><author>DRB321</author><pubDate>Sun, 21 Apr 2019 18:18:27 +0800</pubDate><description><![CDATA[import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.Exchanger;


/**
* 类说明：演示Exchange用法
*/
public class UseExchange {
    private static final Exch...]]></description><category></category></item><item><title><![CDATA[多线程中 volatile 保证可见性和不保证原子性]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/89416550</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/89416550</guid><author>DRB321</author><pubDate>Sat, 20 Apr 2019 14:18:10 +0800</pubDate><description><![CDATA[多线程中 volatile 保证可见性和不保证原子性，代码说明问题

例1：原子性问题



/**
 * 不能保证原子性
 */
public class VolatileUnsafe2 {
    private volatile long count =0;

    public long getCount() {
        return count;
    }

    publ...]]></description><category></category></item><item><title><![CDATA[Rabbitmq的server端安装问题-Public key for *.rpm is not installed]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/89221378</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/89221378</guid><author>DRB321</author><pubDate>Thu, 11 Apr 2019 22:13:37 +0800</pubDate><description><![CDATA[执行 


yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

的时候碰到

error:


warning: /usr/local/ribbitmq/rabbitmq-server-3.6.6-1.el7.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY

P...]]></description><category></category></item><item><title><![CDATA[解决IDEA模块复制时出现Module "XXX".The root already belongs to module "XXX"]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/88921856</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/88921856</guid><author>DRB321</author><pubDate>Sun, 31 Mar 2019 00:28:53 +0800</pubDate><description><![CDATA[File--&gt;Project Structure--&gt;Modules



检查上图红框中每一个文件的路径，做出处理就可以了。
]]></description><category></category></item><item><title><![CDATA[Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input l]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/88920456</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/88920456</guid><author>DRB321</author><pubDate>Sat, 30 Mar 2019 22:32:33 +0800</pubDate><description><![CDATA[spring cloud启动出错：Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input l

发现是编码问题，现在记录一下

解决方法：将编码改为UTF-8
...]]></description><category></category></item><item><title><![CDATA[Intellij IDEA Cannot Resolve Symbol ‘XXX’（maven项目）]]></title><link>https://blog.youkuaiyun.com/DRB321/article/details/88798334</link><guid>https://blog.youkuaiyun.com/DRB321/article/details/88798334</guid><author>DRB321</author><pubDate>Mon, 25 Mar 2019 16:52:10 +0800</pubDate><description><![CDATA[我的尝试：

尝试一：File-&gt;Invalidate Caches/Restart ，重启；再重新maven，选择reimport

尝试二：如果是maven的，查看maven依赖是否配置好，查看本地仓库是否有对应的包

尝试三：maven的clean,install

尝试四：重新编译，ctrl+9

尝试五：删掉iml文件，重新mvn idea:module

尝试六：删掉 .idea...]]></description><category></category></item></channel></rss>