<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Alps__的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Alps__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Alps__]]></copyright><item><title><![CDATA[maven mirror]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/104510824</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/104510824</guid><author>Alps__</author><pubDate>Wed, 26 Feb 2020 09:35:52 +0800</pubDate><description><![CDATA[1、在mirrorOf与repositoryId相同的时候优先是使用mirror的地址

2、mirrorOf等于*的时候覆盖所有repository配置

3、存在多个mirror配置的时候mirrorOf等于*放到最后

4、只配置mirrorOf为central的时候可以不用配置repository
...]]></description><category></category></item><item><title><![CDATA[String和StringBuffer]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/103842142</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/103842142</guid><author>Alps__</author><pubDate>Sun, 05 Jan 2020 22:48:49 +0800</pubDate><description><![CDATA[多线程安全

String和StringBuffer是多线程安全的，String的字符数组是final的，所以它不存在修改也就天然线程安全，而StringBuffer则是通过同步锁实现线程安全的，它的所有方法都是使用的synchronized修饰保证其线程安全性。而StringBuilder则是非线程安全的。



乐观锁和悲观锁

CAS是乐观锁，synchonize是悲观锁。
...]]></description><category></category></item><item><title><![CDATA[JAVA NIO 零拷贝相关]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/103340507</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/103340507</guid><author>Alps__</author><pubDate>Sun, 01 Dec 2019 22:11:06 +0800</pubDate><description><![CDATA[一、Java NIO 零拷贝实现

在 Java NIO 中的通道（Channel）就相当于操作系统的内核空间（kernel space）的缓冲区。
而缓冲区（Buffer）对应的相当于操作系统的用户空间（user space）中的用户缓冲区（user buffer）：
 通道（Channel）是全双工的（双向传输），它既可能是读缓冲区（read buffer），也可能是网络缓冲区（socket...]]></description><category></category></item><item><title><![CDATA[nginx做udp负载均衡]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/103034164</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/103034164</guid><author>Alps__</author><pubDate>Tue, 12 Nov 2019 17:34:59 +0800</pubDate><description><![CDATA[要求：nginx实现UDP负载，upstream server能拿到client ip&amp;port，并向client回包。

背景：nginx server:10.1.1.200。upstream server：10.1.1.100。port:7400。



1，安装nginx

nginx默认不支持udp负载，安装编译时加上“--with-stream”

2，nginx配置

ngi...]]></description><category></category></item><item><title><![CDATA[linux百万级长链接系统配置]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/88390739</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/88390739</guid><author>Alps__</author><pubDate>Mon, 11 Mar 2019 16:36:18 +0800</pubDate><description><![CDATA[以下在centos7上试验通过

1. 前提

1）关闭selinux

修改/etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled

2）关闭防火墙


systemctl stop firewalld.service
systemctl disable firewalld.service

2. 修改/etc/security/lim...]]></description><category></category></item><item><title><![CDATA[java一些注解]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/87936714</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/87936714</guid><author>Alps__</author><pubDate>Tue, 26 Feb 2019 16:41:58 +0800</pubDate><description><![CDATA[一、@Component,@Service,@Controller,@Repository

在Spring2.0之前的版本中，@Repository注解可以标记在任何的类上，用来表明该类是用来执行与数据库相关的操作（即dao对象），并支持自动处理数据库操作产生的异常。

在Spring2.5版本中，引入了更多的Spring类注解：@Component,@Service,@Controller。@...]]></description><category></category></item><item><title><![CDATA[DateTimeFormat.ISO不安全兼容ISO 8601]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/56293789</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/56293789</guid><author>Alps__</author><pubDate>Tue, 21 Feb 2017 19:49:57 +0800</pubDate><description><![CDATA[spring中
DateTimeFormat.ISO DATE_TIME

Format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g. "2000-10-31T01:30:00.000-05:00".




js中toISOString()返回‘2017-02-21T03:20:59.540Z’，格式标准为ISO 8601。

如果为UTC时间，可以直接在]]></description><category></category></item><item><title><![CDATA[Collections的emptyList() emptyMap() emptySet()]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/54709923</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/54709923</guid><author>Alps__</author><pubDate>Tue, 24 Jan 2017 19:50:55 +0800</pubDate><description><![CDATA[Collections.emptySet() 
Collections.emptyList() 
Collections.emptyMap()
三个为不可写入的


主要用途：返回0长度的数组或者集合，而不是null]]></description><category></category></item><item><title><![CDATA[crontab格式问题]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/53908493</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/53908493</guid><author>Alps__</author><pubDate>Wed, 28 Dec 2016 14:52:49 +0800</pubDate><description><![CDATA[1，linux crontab格式

 ┌───────────── minute (0 - 59)
 │ ┌───────────── hour (0 - 23)
 │ │ ┌───────────── day of month (1 - 31)
 │ │ │ ┌───────────── month (1 - 12)
 │ │ │ │ ┌───────────── day of week ]]></description><category></category></item><item><title><![CDATA[cors的好文章]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/53765913</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/53765913</guid><author>Alps__</author><pubDate>Tue, 20 Dec 2016 17:26:12 +0800</pubDate><description><![CDATA[Access-Control-Allow-Origin与跨域
http://www.tuicool.com/articles/7FVnMz



Using CORS

https://www.html5rocks.com/en/tutorials/cors/]]></description><category></category></item><item><title><![CDATA[bgp笔记]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/51569784</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/51569784</guid><author>Alps__</author><pubDate>Thu, 02 Jun 2016 20:06:49 +0800</pubDate><description><![CDATA[http://www.china-ccie.com/ccie/lilun/bgp/bgp.html
http://wenku.baidu.com/link?url=Wh71NC7uYqN5x3xjqtQEGz1hyHHDjGkawr3bnJmV4LEOcEOjCOHx1raCz6P5tD0ex7APdOLJRKnxaGq7XysdRxkjjbRrimpv-g1QWJXSObm


1、内部]]></description><category></category></item><item><title><![CDATA[rpm spec文章]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/48519489</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/48519489</guid><author>Alps__</author><pubDate>Thu, 17 Sep 2015 11:24:01 +0800</pubDate><description><![CDATA[http://fedoraproject.org/wiki/How_to_create_an_RPM_package/zh-cn]]></description><category></category></item><item><title><![CDATA[RPM -U 升级机制探索]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/48450053</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/48450053</guid><author>Alps__</author><pubDate>Mon, 14 Sep 2015 23:34:18 +0800</pubDate><description><![CDATA[RPM基本的升级策略：
1. 基本策略：
    a. 安装高version的rpm包
    b. 删除所有旧version包的内容
2. 针对文件的upgrade
RPM 对旧版本的rpm包所属文件在升级的过程中采用策略基本原理是： 计算文件的MD5值，比对MD5然后采取不同的策略。

首先定义几个术语： 
原有文件（original file）: 指的是旧版本安装时的某文件]]></description><category></category></item><item><title><![CDATA[大端小端]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/48157533</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/48157533</guid><author>Alps__</author><pubDate>Tue, 01 Sep 2015 14:37:00 +0800</pubDate><description><![CDATA[Big Endian

   低地址                                            高地址
   ----------------------------------------->
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     12     |      34    |     56     ]]></description><category></category></item><item><title><![CDATA[gradle好文章]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/48008307</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/48008307</guid><author>Alps__</author><pubDate>Wed, 26 Aug 2015 19:10:54 +0800</pubDate><description><![CDATA[构建神器Gradle

http://jiajixin.cn/2015/08/07/gradle-android/

http://www.youkuaiyun.com/article/2015-08-10/2825420/1



加速Android Studio/Gradle构建

http://blog.isming.me/2015/03/18/android-build-speed]]></description><category></category></item><item><title><![CDATA[ubuntu wine gnome-keyring-pkcs11.so问题]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/47978949</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/47978949</guid><author>Alps__</author><pubDate>Tue, 25 Aug 2015 16:23:02 +0800</pubDate><description><![CDATA[p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: 无法打开共享对象文件: 没有那个文件或目录


解决办法：
sudo apt-get install li]]></description><category></category></item><item><title><![CDATA[gcc 去除符号表]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/46743401</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/46743401</guid><author>Alps__</author><pubDate>Fri, 03 Jul 2015 17:41:02 +0800</pubDate><description><![CDATA[读取符号表
readelf -p .dynstr mylib.so


通过gcc控制可见性
__attribute__((visibility("hidden"))) int foo(int a, int b);
__attribute__((visibility("default"))) int foo(int a, int b);



ndk中控制
NDK_ROOT/]]></description><category></category></item><item><title><![CDATA[ndk交叉编译两种方式]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/46536683</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/46536683</guid><author>Alps__</author><pubDate>Wed, 17 Jun 2015 18:15:11 +0800</pubDate><description><![CDATA[方式一，导出standalone
cd 
./build/tools/make-standalone-toolchain.sh --platform=android-8 --install-dir=/android-8 --arch=arm --toolchain=arm-linux-androideabi-4.8 --system=linux-x86_64
export PATH=/and]]></description><category></category></item><item><title><![CDATA[startActivityForResult用户及与onResume顺序问题]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/45073447</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/45073447</guid><author>Alps__</author><pubDate>Thu, 16 Apr 2015 12:16:02 +0800</pubDate><description><![CDATA[基本用法
MainActivity
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button btnOpen=(]]></description><category></category></item><item><title><![CDATA[android api对应版本]]></title><link>https://blog.youkuaiyun.com/Alps__/article/details/44803527</link><guid>https://blog.youkuaiyun.com/Alps__/article/details/44803527</guid><author>Alps__</author><pubDate>Wed, 01 Apr 2015 10:35:59 +0800</pubDate><description><![CDATA[Platform Version

API Level

VERSION_CODE

Notes



Android 5.1

22

LOLLIPOP_MR1

Platform Highlights



Android 5.0

21

LOLLIPOP



Android 4.4W

20

KITKAT_WATCH
]]></description><category></category></item></channel></rss>