<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[drift_away的专栏]]></title><description><![CDATA[All]]></description><link>https://blog.youkuaiyun.com/drift_away</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; drift_away]]></copyright><item><title><![CDATA[运行jar文件时，ClassPathResource无法读取到资源文件的问题]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/110196109</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/110196109</guid><author>drift_away</author><pubDate>Thu, 26 Nov 2020 17:10:28 +0800</pubDate><description><![CDATA[问题场景：

在idea中运行，一切正常，资源文件都可以访问到，但打成jar包后，使用java -jar的形式去启动，就访问不到resource下的资源文件了

案例描述：

网上搜了很多文章，但试了后都不好使

我的路径是配置在properties文件中，然后读取配置文件中的值，然后拼接文件路径，再使用ClassPathResource去读取的

开始时我配置文件中是这样写的：


service.config-root=static/service/
service.config-name=AppC..]]></description><category></category></item><item><title><![CDATA[HashMap的工作原理以及存取过程]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/84882491</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/84882491</guid><author>drift_away</author><pubDate>Fri, 07 Dec 2018 17:54:13 +0800</pubDate><description><![CDATA[组成

HashMap实际上是一个“链表散列”的数据结构，即数组和链表的结合体。

数组：存储区间连续，占用内存严重，寻址容易，插入删除困难；

链表：存储区间离散，占用内存比较宽松，寻址困难，插入删除容易；

Hashmap综合应用了这两种数据结构，实现了寻址容易，插入删除也容易。

基本存储原理

基本原理：先声明一个下标范围比较大的数组来存储元素。另外设计一个哈希函数（也叫做散列函数）来获得...]]></description><category></category></item><item><title><![CDATA[Java算法时间复杂度的表示：o(1)、o(n)、 o(logn)、o(nlogn)]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/84871704</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/84871704</guid><author>drift_away</author><pubDate>Fri, 07 Dec 2018 11:45:01 +0800</pubDate><description><![CDATA[在描述算法复杂度时,经常用到O(1)、O(n)、O(logn)、O(nlogn)来表示对应算法的时间复杂度, 

这里进行归纳一下它们代表的含义:

O后面的括号中有一个函数，指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。 

O(n)：时间复杂度为O(n)，代表数据量增大几倍，耗时也增大几倍。比如常见的遍历算法。

再比如时间复杂度O(n^2)，就代表数据量增大n倍...]]></description><category></category></item><item><title><![CDATA[TCP通讯、UDP通讯简java单实现示例]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/83898638</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/83898638</guid><author>drift_away</author><pubDate>Fri, 09 Nov 2018 15:52:26 +0800</pubDate><description><![CDATA[JDK 1.8

一，TCP通讯

创建TCPserver，数据接收方


/**
 * TCP server demo
 */
public class TcpServer {

    public static void main(String[] args) throws IOException {
        //创建ServerSocket
        ServerSocket...]]></description><category></category></item><item><title><![CDATA[Springboot根据指定profile启动jar包，及docker image制作中启动参数的配置]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/83826382</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/83826382</guid><author>drift_away</author><pubDate>Wed, 07 Nov 2018 16:43:05 +0800</pubDate><description><![CDATA[Springboot项目中的配置文件：



其中application.properties中只需配置spring.profiles.active=testing即可(即默认值)，当jar启动时没配置spring.profiles.active参数时的默认启动application-testing.properties配置文件

启动jar包


# 根据不同的环境(dev,testing,pr...]]></description><category></category></item><item><title><![CDATA[CentOS7 yum及源码安装nginx]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/83751489</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/83751489</guid><author>drift_away</author><pubDate>Mon, 05 Nov 2018 17:09:42 +0800</pubDate><description><![CDATA[nginx version：nginx-1.14.0

CentOS version：7.4

一，安装所需环境

1，gcc安装

nginx是C语言开发，安装 nginx 需要先将官网下载的源码进行编译，编译依赖 gcc 环境，如果没有 gcc 环境，则需要安装。


yum install gcc-c++

2，PCRE，pcre-devel安装

PCRE(Perl Compatible ...]]></description><category></category></item><item><title><![CDATA[CentOS 7 安装 Zookeeper]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/83717410</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/83717410</guid><author>drift_away</author><pubDate>Sun, 04 Nov 2018 18:11:06 +0800</pubDate><description><![CDATA[CentOS版本：7.4

zookeeper版本：3.4.13

zookeeper主要有单机、伪集群、集群三种部署方式

下载zookeeper：

http://archive.apache.org/dist/zookeeper/

我们可以通过以上链接下载tar包然后上传到CentOS中，也可以直接在linux系统使用如下命令下载：


 wget http://archive.apach...]]></description><category></category></item><item><title><![CDATA[CentOS 7.4 安装JDK]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/83716632</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/83716632</guid><author>drift_away</author><pubDate>Sun, 04 Nov 2018 16:26:50 +0800</pubDate><description><![CDATA[以安装1.8版本为例，分别以两种方式为例安装

首先我们先查看是否安装了JDK


[root@zero data]# java -version
-bash: java: command not found

如果已经安装，可以使用下面的命令卸载，然后安装自己想要的版本


# list the installed java version
yum list installed | grep j...]]></description><category></category></item><item><title><![CDATA[通过shell执行kubectl exec并在对应pod容器内执行shell命令]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/82996447</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/82996447</guid><author>drift_away</author><pubDate>Wed, 10 Oct 2018 14:56:06 +0800</pubDate><description><![CDATA[问题描述：

由于服务部署在K8S环境下，在应用层之上有一次cache层，使用的是nginx的缓存，这样每次更新后台服务资源后，cache内的缓存并未及时更新，这时需要人工清除cache，其实只要使用yaml文件拉取nginx镜像重新部署就可以了，但K8s对于镜像tag未变化时并不会重新拉取docker image重新部署服务。

服务部署公司是用jenkins job执行shell脚本来做的CI...]]></description><category></category></item><item><title><![CDATA[解决Jenkins执行shell脚本时出现“sudo: no tty present and no askpass program specified”的错误]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/82983724</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/82983724</guid><author>drift_away</author><pubDate>Tue, 09 Oct 2018 16:16:32 +0800</pubDate><description><![CDATA[今天使用jenkins job执行调用脚本执行CD task时，出现了“sudo: no tty present and no askpass program specified”的问题，网上找了很多，但大多都没有解决我的问题。

问题描述：

写好shell脚本后，直接在宿主机直接使用&quot;sudo ./product_env.sh&quot;时，脚本可以正常执行，但是在jenkins服务器上，远程调用此机器...]]></description><category></category></item><item><title><![CDATA[Docker的版本]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/82780205</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/82780205</guid><author>drift_away</author><pubDate>Thu, 20 Sep 2018 00:02:58 +0800</pubDate><description><![CDATA[最近在学习Docker，但是在CentOS下安装时，发现网上搜索安装命令也不尽相同，如：


sudo yum install docker

sudo yum install docker.io

sudo yum install docker-engine

sudo yum install docker-ce

sudo yum install docker-ee

其实看到这里时我是懵逼的...]]></description><category></category></item><item><title><![CDATA[Linux 下安装postgres 安装教程]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/20617467</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/20617467</guid><author>drift_away</author><pubDate>Thu, 06 Mar 2014 12:35:00 +0800</pubDate><description><![CDATA[用到的几个rpm安装文件
1：postgresql-libs-8.4.13-1.el6_3.x86_64.rpm
2：postgresql-8.4.13-1.el6_3.x86_64.rpm
3：postgresql-server-8.4.13-1.el6_3.x86_64.rpm
4：uuid-1.6.1-10.el6.x86_64.rpm
5：postgresql-contrib-8]]></description><category></category></item><item><title><![CDATA[使用Gson转换Json对象中的一些细节问题]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/10212281</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/10212281</guid><author>drift_away</author><pubDate>Fri, 23 Aug 2013 10:54:08 +0800</pubDate><description><![CDATA[今天使用rest写了一个web service接口，但是在将一个实体对象转换成Json字符串的过程中，调用toJson()方法时，不会输出到json串里；当调用fromJson()方法时，如果VO里有，但是json串里没有，则字段会被设置成null；如果VO里没有，json串里有，那么该字段会被忽略 
此外，如果一个字段标记为transient，那么默认是被忽略的，在serialization和]]></description><category></category></item><item><title><![CDATA[Win8 输入法切换 (Ctrl + space)个人解决方案]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/8480447</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/8480447</guid><author>drift_away</author><pubDate>Tue, 08 Jan 2013 12:29:24 +0800</pubDate><description><![CDATA[废话不说，先出结论：使用win8自带 微软拼音输入法。虽然看了之后你可能不屑，但现在的微软拼音跟以前确实不一样了，两个字：实用。 


最近换了win8 系统，整体上感觉还不错，唯一让我不爽的就是输入法的切换，我相信所有习惯Ctrl +space切换的人都不喜欢 win8 中win+space或Ctrl + shift 的切换方式
同样，这个问题也让我颇为难受，更苦逼的是，作为程序猿，在开]]></description><category></category></item><item><title><![CDATA[could not instantiate RegionFactory [org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridg]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/8190895</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/8190895</guid><author>drift_away</author><pubDate>Fri, 16 Nov 2012 14:48:23 +0800</pubDate><description><![CDATA[org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'userDAO': Injection of resource methods failed; nested exception is org.springframework.beans.factory.BeanCrea]]></description><category></category></item><item><title><![CDATA[eclipse中xml文件格式化]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/8178459</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/8178459</guid><author>drift_away</author><pubDate>Tue, 13 Nov 2012 14:32:46 +0800</pubDate><description><![CDATA[今天用eclipse开发，发现格式化xml文件后很乱，如图：





这不是我想要的样子，我想要的是这样的：




但网上大多数的解决方案都千篇一律说是这个样子：






基本上都是进入 Window/Preferences，展开到 XML/XML Files/Editor，勾选 “Split multiple attributes each on a]]></description><category></category></item><item><title><![CDATA[ExtJs添加到eclipse时奇卡无比最后重启eclipse的解决方案]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/8132608</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/8132608</guid><author>drift_away</author><pubDate>Wed, 31 Oct 2012 15:01:04 +0800</pubDate><description><![CDATA[初识ext，看文档时本来想实际操作一下试试，可是将extjs添加到项目时奇卡无比，最后只得强制关闭eclipse在启动，但结果依旧，于是从网上找到了解决方案


打开项目的.project文件，将


		
			org.eclipse.wst.jsdt.core.javascriptValidator
			
			
		
	
	
		org.eclipse.wst.jsdt.core]]></description><category></category></item><item><title><![CDATA[SiteMesh基本用法及示例]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/8088758</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/8088758</guid><author>drift_away</author><pubDate>Fri, 19 Oct 2012 11:02:46 +0800</pubDate><description><![CDATA[SiteMesh是基于Servlet的filter的，即过滤流。它是通过截取reponse，并进行装饰后再交付给客户。


其中涉及到两个名词： 装饰页面(decorator page)和 “被装饰页面(Content page)" , 即 SiteMesh通过对Content Page的装饰，最终得到页面布局和外观一直的页面，

并返回给客户


运行环境需要：servlet2.]]></description><category></category></item><item><title><![CDATA[工作随笔(RMI、WebService、REST)]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/8070421</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/8070421</guid><author>drift_away</author><pubDate>Sun, 14 Oct 2012 19:53:47 +0800</pubDate><description><![CDATA[本文仅当笔记，写的比较乱


RMI，Hessian，Burlap，Httpinvoker，Web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能不同（Hessian，Burlap，Httpinvoker用到的较少，略过）



RMI是java语言本身提供的远程通讯协议，稳定高效，是EJB的基础。但它只能用于JAVA程序之间的通讯。
Web Service]]></description><category></category></item><item><title><![CDATA[Linux添加/删除用户和用户组(转载)]]></title><link>https://blog.youkuaiyun.com/drift_away/article/details/7915072</link><guid>https://blog.youkuaiyun.com/drift_away/article/details/7915072</guid><author>drift_away</author><pubDate>Tue, 28 Aug 2012 10:41:37 +0800</pubDate><description><![CDATA[在使用linux时，经常会出现好多原先加的帐户未删除的情况，给系统运行带来隐患，因此一定要彻底删除。

进入root用户，输入

　　cd /etc

在这个目录下输入

　　cat passwd

会出现很多用户，绝大部分是系统用户，是不能删的，一般最下面的是用户自己原先添加的帐户。这些帐户已经用

　　userdel 用户名

这个命令删过，但是仍存在关联文件。所以]]></description><category></category></item></channel></rss>