<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yi16881</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yi16881]]></copyright><item><title><![CDATA[kerl管理erlang版本]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/124134552</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/124134552</guid><author>yi16881</author><pubDate>Tue, 12 Apr 2022 21:29:39 +0800</pubDate><description><![CDATA[Kerl地址 ​​​​​: https://github.com/kerl/kerl/blob/master/kerl

将该链接内容复制到本地，chmod a+x kerl

安装autoconf


yum install automake autoconf

查看所有发布版本，因为github国内经常访问不通，所以用码云地址


OTP_GITHUB_URL="https://gitee.com/mirrors/erlang" KERL_BUILD_BACKEND=git kerl update re]]></description><category></category></item><item><title><![CDATA[windows系统如何进入wsl]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/123133074</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/123133074</guid><author>yi16881</author><pubDate>Fri, 25 Feb 2022 14:58:55 +0800</pubDate><description><![CDATA[如何进入wls ]]></description><category></category></item><item><title><![CDATA[并发编程-锁]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/122401150</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/122401150</guid><author>yi16881</author><pubDate>Sun, 09 Jan 2022 23:01:56 +0800</pubDate><description><![CDATA[两种上下文环境

上下文分为中断上下文和进程上下文。自旋锁广泛应用于中断理部分

同步和互斥区别：

互斥实际上资源的排他使用，同步目的时多个线程协同完成同一个任务。
	互斥量只能为0或1， 信号量可以为非负整数
	互斥量加锁和解锁必须是同行一个线程，信号量可以是一个线程释放，一个线程得到
悲观锁

通常有以下两种锁

共享锁【shared locks】又称为读锁，简称 S 锁。顾名思义，共享锁就是多个事务对于同一数据可以共享一把锁，都能访问到数据，但是只能读不能修改。
	排他锁【exclusive loc]]></description><category></category></item><item><title><![CDATA[Erlang maps vs gb_trees]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/122293453</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/122293453</guid><author>yi16881</author><pubDate>Mon, 03 Jan 2022 22:01:24 +0800</pubDate><description><![CDATA[erlang maps gb_trees性能对比]]></description><category></category></item><item><title><![CDATA[erlang重启策略]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/118313791</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/118313791</guid><author>yi16881</author><pubDate>Mon, 28 Jun 2021 23:17:57 +0800</pubDate><description><![CDATA[1. one_for_all: 
父进程的所有子进程全部重启

2. rest_for_one: 
父进程下的在该进程后面启动的进程全部重启

3. one_for_one: 
只有该进程重启，别的进程不受影响



4. simple_one_for_one: 
用来修饰supervisor，非gen_server。该策略在系统启动时静态只启动一个，后面都是通过supervisor:start_child方法启动。该种策略常常用于收到客户...]]></description><category></category></item><item><title><![CDATA[cocos2d-x CCAnimate 动画播放时间帧问题]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/12994413</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/12994413</guid><author>yi16881</author><pubDate>Thu, 24 Oct 2013 11:18:50 +0800</pubDate><description><![CDATA[cocos2d-x CCAnimate 播放动画原理。]]></description><category></category></item><item><title><![CDATA[cocos2d-x 屏幕适配原理]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/12378931</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/12378931</guid><author>yi16881</author><pubDate>Mon, 07 Oct 2013 12:13:48 +0800</pubDate><description><![CDATA[cocos2d-x作为著名的cocos2d游戏开发框架的C++实现者，最近一年发展迅猛。越来越多的app使用它实现快速多平台部署，从最初的ios，android，win32等到新近的html5，实现移动，客户端到浏览器全覆盖，不得了~~
 

开发移动应用的屏幕适配和爱情一样是一个从洪荒时代就存在的永恒命题，根本目的是实现在不同设备上用户体验的统一。
cocos2d-x在cocos2d-2]]></description><category></category></item><item><title><![CDATA[快速排序，希尔排序，插入排序比较次数采样结果]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/12092049</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/12092049</guid><author>yi16881</author><pubDate>Fri, 27 Sep 2013 14:09:52 +0800</pubDate><description><![CDATA[快速排序，希尔排序，插入排序比较次数采样结果]]></description><category></category></item><item><title><![CDATA[lua和c++/c交互]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/12051109</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/12051109</guid><author>yi16881</author><pubDate>Thu, 26 Sep 2013 15:47:12 +0800</pubDate><description><![CDATA[好久没有写文章了，前些天在我的资源里面上传了一个有关lua和c++/c交互（一下文章中都用c++代替）问题的文档，小伙伴们说有点难懂，这里我在详细描述一下吧！
看文章之前小伙伴要弄清楚table,metaTable概念。说起metaTable，我忍不住想多说几句了。
 
既然有了table,为什么还要metaTable呢?假设现在你有一个yourtable,yourtable里面有一个fun]]></description><category></category></item><item><title><![CDATA[文档编辑与查看命令]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5761671</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5761671</guid><author>yi16881</author><pubDate>Sat, 24 Jul 2010 17:58:00 +0800</pubDate><description><![CDATA[<br />vi <br />   ESC   在三种模式之间进行切换<br />   i    进入编辑状态<br />光标移动操作（可以在命令模式下，也可以输入模式下操作） <br />   （1）在文本模式下  可直接使用键盘上的四个方向键移动光标。 <br />   （2）命令模式下hjkl四个小写字母控制光标移动，H光标移动到当前屏中的首横，L移动至当前屏中的末尾横，<br />M移动至当前屏幕的中间行<br /> 删除操作<br />    x删除光标上的一个字符  d删除一个对象（d5w删除五]]></description><category></category></item><item><title><![CDATA[压缩与解压缩]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5761599</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5761599</guid><author>yi16881</author><pubDate>Sat, 24 Jul 2010 17:13:00 +0800</pubDate><description><![CDATA[<br />压缩解压 <br />linux下怎么解后缀名是gzip的文件？ <br />1.以.a为扩展名的文件: <br />#tar xv file.a <br />2.以.z为扩展名的文件: <br />#uncompress file.Z <br />3.以.gz为扩展名的文件: <br />#gunzip file.gz <br />4.以.bz2为扩展名的文件: <br />#bunzip2 file.bz2 <br />5.以.tar.Z为扩展名的文件: <br />#tar xvZf fi]]></description><category></category></item><item><title><![CDATA[命令]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5717148</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5717148</guid><author>yi16881</author><pubDate>Tue, 06 Jul 2010 22:32:00 +0800</pubDate><description><![CDATA[<br /># cd 目录路径/名 进入某个某目录    例：# cd /tmp<br /># ls [可选参数][目录路径]  无目录路径时，默认显示当前目录下的文件信息<br /># ls –l    等价于 # ll           有些时候ll命令不好用时，可以使用ls –l<br /># mkdir [路径/]文件夹名    创建文件夹<br /># rm –rf 目录名                 删除这个目录及其子录下所有文件（甚用）<br /># cp –pr 源文件 目标地址 拷贝]]></description><category></category></item><item><title><![CDATA[Hibernate简单示例]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5714296</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5714296</guid><author>yi16881</author><pubDate>Mon, 05 Jul 2010 18:11:00 +0800</pubDate><description><![CDATA[<br />hibernate.xml（数据源配置文件）<br /><?xml version='1.0' encoding='UTF-8'?><br /><!DOCTYPE hibernate-configuration PUBLIC<br />          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"<br />          "http://hibernate.sourceforge.net/hibernate-configuratio]]></description><category></category></item><item><title><![CDATA[Hibernate数据库连接配置]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5714183</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5714183</guid><author>yi16881</author><pubDate>Mon, 05 Jul 2010 17:28:00 +0800</pubDate><description><![CDATA[<br /><hibernate-configuration><br /> <session-factory><br />  <property name="connection.username">system</property><br />  <property name="connection.url"><br />   jdbc:oracle:thin:@localhost:1521:orcl<br />  </property><br />  <property name="dialect"><]]></description><category></category></item><item><title><![CDATA[struts数据源配置]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5714176</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5714176</guid><author>yi16881</author><pubDate>Mon, 05 Jul 2010 17:24:00 +0800</pubDate><description><![CDATA[JDBC数据源(Data Source)的使用,简化了数据库的连接过程.Struts中使用JDBC 2.0标准扩展包中的javax.sql.DataSource接口来实现数据源的。扩展包是jdbc2_0-stdext.jar。，在jdk1.4后版本包含此扩展包。 例如下面的例子。数据库名“classuser”，表：“classuser”。在Struts配置文件“struts-config.xml中”配置Struts数据源，这些数据源由ActionServlet负责管理。 以下代码是Struts-config]]></description><category></category></item><item><title><![CDATA[spring数据源配置]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5714167</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5714167</guid><author>yi16881</author><pubDate>Mon, 05 Jul 2010 17:21:00 +0800</pubDate><description><![CDATA[<br />配置一个数据源 <br />    Spring在第三方依赖包中包含了两个数据源的实现类包，其一是Apache的DBCP，其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。<br /> DBCP数据源<br />    DBCP类包位于 <spring_home></spring_home>/lib/jakarta-commons/commons-dbcp.jar，DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池，所以在类路径下还必]]></description><category></category></item><item><title><![CDATA[validator框架]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5698208</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5698208</guid><author>yi16881</author><pubDate>Sun, 27 Jun 2010 22:41:00 +0800</pubDate><description><![CDATA[<br />Commons-Validator（一）<br /><br />    Commons-Validator包用来把验证规则程序提取出来，以供重复使用。这个包可以使用在Struts中，也可以独立的应用在任何其它的应用中。用户可以通过java类的方式自定义验证方法，也可以在配置文件中通过正则表达式配置验证方法。它不但支持服务器端的验证，客户端的验证也支持，具体需要使用tag把相应的js方法写入相应的页面中。<br /><br />一、综述：<br />    整个Validator框架可以有若干个F]]></description><category></category></item><item><title><![CDATA[synchronized使用]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5695597</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5695597</guid><author>yi16881</author><pubDate>Sat, 26 Jun 2010 11:20:00 +0800</pubDate><description><![CDATA[<br />synchronized修饰非静态方法<br />此时，不可能出现同一个对象的synchronized修饰的方法在不同的线程中同时执行（即使方法名不同也不允许）。但是，允许两个线程，a线程执行synchronized方法，b线程执行同一个对象中的非synchronized方法<br />由于代码太长，这里只对代码的结构略加描述：<br />  class Test2{<br />  public synchronized void method1(){<br /> <br />  ......<]]></description><category></category></item><item><title><![CDATA[jsp内置隐含对象和servlet常用类]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5690312</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5690312</guid><author>yi16881</author><pubDate>Wed, 23 Jun 2010 22:25:00 +0800</pubDate><description><![CDATA[javax.servlet.http.CookieCookie(String name,String value)int getMaxAge()void setMaxAge(int expiry)  Sets the maximum age of the cookie in secondsString getName()String getValue()void setValue(String newValue)javax.servlet.http    Interface HttpSessionObjec]]></description><category></category></item><item><title><![CDATA[依赖注入@EJB @Resource注解]]></title><link>https://blog.youkuaiyun.com/yi16881/article/details/5682487</link><guid>https://blog.youkuaiyun.com/yi16881/article/details/5682487</guid><author>yi16881</author><pubDate>Sun, 20 Jun 2010 23:59:00 +0800</pubDate><description><![CDATA[@EJB注释的beanName属性指定EJB的类名(不带包名),他的另一个属性mappedName指定Bean实例的JNDI名。public class InjectionBean implements Injection {@EJB (beanName="HelloWorldBean")//@EJB (mappedName="HelloWorldBean/remote")HelloWorld helloworld;…@EJB 注释如果被用在JavaBean风格的setter 方法上时，容器会在属性第一次使]]></description><category></category></item></channel></rss>