<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[king的专栏]]></title><description><![CDATA[The programmer likes a poet.]]></description><link>https://blog.youkuaiyun.com/jinhao505</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jinhao505]]></copyright><item><title><![CDATA[【jraft】0-源码分析计划]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/114271804</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/114271804</guid><author>jinhao505</author><pubDate>Mon, 08 Mar 2021 20:25:09 +0800</pubDate><description><![CDATA[前言
jraft是蚂蚁金服开源的基于java实现的raft算法的生产及工具库。基于该工具库，我们可以实现具备分布式一致性能力的上层业务应用。
目标

通过学习阅读jraft开源代码的过程，更好的了解raft协议。
学习jraft在实现raft协议过程中的实现，提升自己在高性能网络编程、多线程编程的一些经验。
并能够学习到一些具体的编程技巧和程序的架构设计。
通过阅读源码，尝试参与到jraft的开源计划中，提交一些bug修改和优化代码。

行动计划

 输出源码分析文章，文章按照raft的模块拆分顺序来编写。]]></description><category></category></item><item><title><![CDATA[arthas 运维工具介绍与原理分析]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/87894260</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/87894260</guid><author>jinhao505</author><pubDate>Sun, 29 Mar 2020 22:51:35 +0800</pubDate><description><![CDATA[目录arthas是什么？他能帮我们做什么？arthas使用举例arthas 实现这些功能的原理分析新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLow...]]></description><category></category></item><item><title><![CDATA[activity之间参数传递&&获取activity返回值&&activity生命周期]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/41047203</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/41047203</guid><author>jinhao505</author><pubDate>Wed, 12 Nov 2014 22:32:36 +0800</pubDate><description><![CDATA[Activity之间参数传递

A activity想将参数传给B activity时可以利用Intent将消息带过去
    	Intent intent = new Intent(this,BActivity.class);
    	intent.putExtra("xxxx", "xxxx");

数据量多的话可以使用

        Bundle bundle = new]]></description><category></category></item><item><title><![CDATA[几种常见的xml解析方式 SAX,DOM,PULL以android为例]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/40457771</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/40457771</guid><author>jinhao505</author><pubDate>Sat, 25 Oct 2014 22:39:46 +0800</pubDate><description><![CDATA[准备工作

首先是一个person.xml文件


	
		allen
		36
	
	
		james
		25
	



对应的JavaBean
public class Person {
	private Integer id;
	private String name;
	private Short age;
	
	public Integer getId() {
		retu]]></description><category></category></item><item><title><![CDATA[android文件读写的相关问题]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/40384859</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/40384859</guid><author>jinhao505</author><pubDate>Wed, 22 Oct 2014 22:33:44 +0800</pubDate><description><![CDATA[如果我们应用在当前包下创建了一个文件,并且我们希望别的应用程序 可以访问我们的文件 
一定要指定文件的权限  Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE

如果我们不希望别人修改,访问你的数据
Context.MODE_PRIVATE


如果我们希望每次存取数据 都是以追加方式（该方式只是一种文件添加的策略并非读]]></description><category></category></item><item><title><![CDATA[使用java正则表达式提取文本中所有邮箱地址]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39274667</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39274667</guid><author>jinhao505</author><pubDate>Sun, 14 Sep 2014 22:23:27 +0800</pubDate><description><![CDATA[package net.oschina.tester;
 
import java.io.File;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
import org.apache.commons.io.FileUtils;
 
/**
 * 提取邮件地址]]></description><category></category></item><item><title><![CDATA[String,StringBuffer与StringBuilder的区别]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39271329</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39271329</guid><author>jinhao505</author><pubDate>Sun, 14 Sep 2014 17:37:54 +0800</pubDate><description><![CDATA[String 字符串常量
StringBuffer 字符串变量（线程安全）
StringBuilder 字符串变量（非线程安全）
 简要的说， String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象，然后将指针指向新的 String 对象，所以经常]]></description><category></category></item><item><title><![CDATA[spring事务 整理]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39225693</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39225693</guid><author>jinhao505</author><pubDate>Fri, 12 Sep 2014 10:00:35 +0800</pubDate><description><![CDATA[spring的事务本质上来说还是spring的aop
不过，在aop中事务类，也就是切面类是我们提供的，但在spring事务中，事务是由spring提供的。


spring针对不同的数据库开发框架，启用了不同的事务
如jdbc中由datasource管理connection 在hibernate由sessionfactory 管理session（相当于对connection的封装）
]]></description><category></category></item><item><title><![CDATA[spring aop 整理]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39212799</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39212799</guid><author>jinhao505</author><pubDate>Thu, 11 Sep 2014 22:54:56 +0800</pubDate><description><![CDATA[aop常见概念

   1、切面
        事务、日志、安全性框架、权限等都是切面（就是类，事务有事务类，日志有日志类，权限有权限类）




   2、通知
      切面中的方法就是通知（类中针对目标方法所要插入的方法，即事务类中执行事务的方法，日志类中执行日志操作的方法）
   3、目标类 （你想要侵入修改的方法所在的类，诸如我们想在查询存款时加入一些其他操作，存]]></description><category></category></item><item><title><![CDATA[spring使用注解进行DI（依赖）注入]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39186805</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39186805</guid><author>jinhao505</author><pubDate>Wed, 10 Sep 2014 21:21:55 +0800</pubDate><description><![CDATA[使用@Resource:
  使用方法：

   1、在spring的配置文件中导入命名空间
        xmlns:context="http://www.springframework.org/schema/context"
        http://www.springframework.org/schema/context
        http://www.spri]]></description><category></category></item><item><title><![CDATA[OGNL表达式原理]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39123403</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39123403</guid><author>jinhao505</author><pubDate>Sun, 07 Sep 2014 22:32:21 +0800</pubDate><description><![CDATA[一、OGNL表达式基础知识 
　　1.
 示例：第一个OGNL程序
　　2.
 示例：上下文环境中使用OGNL
　　3.
 示例：使用OGNL调用方法
　　4.
 示例：使用OGNL操作集合  
　　5.
 示例：使用OGNL过滤集合与投影集合
二、OGNL与Struts2
 
 
OGNL表达式

　　OGNL，全称为Object-Graph Navigation]]></description><category></category></item><item><title><![CDATA[tomcat责任链设计模式 FilterChain原理解析]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39086903</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39086903</guid><author>jinhao505</author><pubDate>Fri, 05 Sep 2014 22:54:48 +0800</pubDate><description><![CDATA[今天晚上花了些时间debug了下tomcat,注意观察了下tomcat内部过滤器的实现,其实tomcat内部过滤器采用了责任链的设计模式,
(其实struts2拦截器那一块采用了相似的设计模式)，以下是个人对源码的解读，
ApplicationFilterChain详解
首先是对该类的定义的介绍/**
 * Implementation of javax.servlet.FilterChai]]></description><category></category></item><item><title><![CDATA[cookie操作陷阱（除了getName(),getValue()外，不要妄图得到其他信息）]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39062027</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39062027</guid><author>jinhao505</author><pubDate>Thu, 04 Sep 2014 22:56:23 +0800</pubDate><description><![CDATA[在读取Cookie，然后操作时，除了getName(),getValue()外，不要妄图得到其他信息，如下方法不会得到值的：

cookie.getMaxAge();

cookie.getDomain();
。。。

因为，客户端传来的时候，就只剩下key和value了。
 
 
Java中的Cookie操作：
 
在Java中利用Serlvet或者JSP scriptl]]></description><category></category></item><item><title><![CDATA[jsp九大内置对象 page与pageContext的区别]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39061425</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39061425</guid><author>jinhao505</author><pubDate>Thu, 04 Sep 2014 22:40:50 +0800</pubDate><description><![CDATA[① out - javax.servlet.jsp.jspWriter
   out对象用于把结果输出到网页上。
方法：
1. void clear() ;
   清除输出缓冲区的内容，但是不输出到客户端。
2. void clearBuffer() ;
   清除输出缓冲区的内容，并输出到客户端。
3. void close() ;
   关闭输出流，清除所有内容。
4. vo]]></description><category></category></item><item><title><![CDATA[java el简介及用法]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39031727</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39031727</guid><author>jinhao505</author><pubDate>Wed, 03 Sep 2014 19:36:24 +0800</pubDate><description><![CDATA[EL简介语法结构 运算符等资料代码。

一、EL简介 
1.语法结构 
${expression} 
2.[]与.运算符 
EL 提供.和[]两种运算符来存取数据。 
当要存取的属性名称中包含一些特殊字符，如.或?等并非字母或数字的符号，就一定要使用 []。例如： 
${user.My-Name}应当改为${user["My-Name"] } 
如果要动态取值时，就可以用[]来做]]></description><category></category></item><item><title><![CDATA[JSP页面的动态包含和静态包含示例及介绍]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/39012075</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/39012075</guid><author>jinhao505</author><pubDate>Tue, 02 Sep 2014 21:26:24 +0800</pubDate><description><![CDATA[这篇文章主要介绍了JSP页面的动态包含和静态包含示例及介绍,本文讲解了它们的区别并给出了相应例子,需要的朋友可以参考下

一、静态包含
本文介绍JSP静态包含语句，即使用JSP的include指令来完成的包含操作。
JSP中，有两种包含其它文件的方式，一种是静态包含，一种是动态包含。本文介绍其中的静态包含。
所谓静态包含，跟ASP中的包含是一样的效果，即将所有包含的文件，先静态的包含进来]]></description><category></category></item><item><title><![CDATA[servlet路径映射优先顺序]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/38872895</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/38872895</guid><author>jinhao505</author><pubDate>Wed, 27 Aug 2014 16:39:25 +0800</pubDate><description><![CDATA[一个Servlet可以配置多个url-pattern 
URL 配置格式 三种：
1、完全路径匹配  (以/开始 ) 例如：/hello /init 

2、目录匹配 (以/开始) 例如：/*  /abc/* 
/ 代表网站根目录 

3、扩展名匹配 (不能以/开始) 例如：*.do *.action 
典型错误 /*.do 

在浏览器中 访问的优先级顺序为：
优先级：完全]]></description><category></category></item><item><title><![CDATA[tomcat压缩优化和缓存策略]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/38870625</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/38870625</guid><author>jinhao505</author><pubDate>Wed, 27 Aug 2014 15:31:36 +0800</pubDate><description><![CDATA[tomcat的压缩优化就是将返回的html页面等内容经过压缩，压缩成gzip格式之后，发送给浏览器，浏览器在本地解压缩的过程。
tomcat缓存策略]]></description><category></category></item><item><title><![CDATA[当JAVA集合移除自身集合元素时发生的诸多问题]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/38854317</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/38854317</guid><author>jinhao505</author><pubDate>Tue, 26 Aug 2014 21:53:23 +0800</pubDate><description><![CDATA[当JAVA集合移除自身集合元素时发生的诸多问题。]]></description><category></category></item><item><title><![CDATA[JSP EL表达式详细介绍]]></title><link>https://blog.youkuaiyun.com/jinhao505/article/details/38844623</link><guid>https://blog.youkuaiyun.com/jinhao505/article/details/38844623</guid><author>jinhao505</author><pubDate>Tue, 26 Aug 2014 10:57:23 +0800</pubDate><description><![CDATA[为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言，它提供了在 JSP 中简化表达式的方法。


一、JSP EL语言定义

       
E L（Expression Language）  目的：为了使JSP写起来更加简单。

       表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言，它提供了在 ]]></description><category></category></item></channel></rss>