<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[刘飞]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iteye_13419</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iteye_13419]]></copyright><item><title><![CDATA[Spring MVC集成velocity扩展]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82521840</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82521840</guid><author>iteye_13419</author><pubDate>Tue, 23 Jul 2013 17:18:50 +0800</pubDate><description><![CDATA[
1、扩展velocity的视图
[code=&amp;quot;java&amp;quot;]package org.christ.matrix.template.velocity;

import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
i...]]></description><category></category></item><item><title><![CDATA[eclipse svn 忽略 target等目录]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82488878</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82488878</guid><author>iteye_13419</author><pubDate>Mon, 22 Apr 2013 10:08:11 +0800</pubDate><description><![CDATA[
这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面，还有 .project 和.classpath 最好也别放到src repository 里。 具体的做法就是在新建项目的时候，在第一次commit 到 SVN 之前，先在项目的根目录设置一个 SVN 属性（我在eclipse 3.3 中，SVN插件是subclipse 1.4.0）： 在ec...]]></description><category></category></item><item><title><![CDATA[如何发布你的Android应用程序]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82484049</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82484049</guid><author>iteye_13419</author><pubDate>Mon, 25 Mar 2013 15:10:28 +0800</pubDate><description><![CDATA[
在发布你的应用程序之前，你首先要做的事情是为你的应用做数字化签名认证。在Google的Android开发者网站上，有一个整版都是介绍签名问题页 面，但如果你使用的是带有ADT (Android Developer Tools)插件的Eclipse来开发的，这个过程会变的出奇的简单：你在Package Explorer视图里右键点击你的应用项目名称，然后在右键菜单里选择“Android Tools...]]></description><category></category></item><item><title><![CDATA[【分布式系统工程实现】CAP理论及系统一致性]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82481375</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82481375</guid><author>iteye_13419</author><pubDate>Fri, 08 Mar 2013 16:05:59 +0800</pubDate><description><![CDATA[

印象中CAP理论开始流行是从Amazon Dynamo的论文开始的，Amazon的CTO还在他的博客中介绍了最终一致性的概念，从此以后，各种会议和交流中都少不了CAP的影子。然而，对于分布式系统工程设计和开发来说，CAP意味着什么呢？

CAP 理论由 Berkerly 的 Brewer 教授提出，三者的含义如下：

    一致性 ( Consistency) ：任何一个读操作总...]]></description><category></category></item><item><title><![CDATA[【分布式系统工程实现】分布式事务]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82481374</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82481374</guid><author>iteye_13419</author><pubDate>Fri, 08 Mar 2013 16:03:01 +0800</pubDate><description><![CDATA[

CAP理论虽然告诉我们，一致性和可用性二者不可兼得，但这并不代表互联网系统都应该牺牲一致性，哪个特性更重要只有业务需求才能决定。

ACID是单机事务的特性，不过在分布式系统中，由于两台机器理论上无法达到一致的状态（参考Fischer等的论文），需要引入一个单点进行协调，这就出现了著名的两阶段锁协议。两阶段锁(Two-phase commit)协议是每个分布式工程师必须掌握的协议，大致...]]></description><category></category></item><item><title><![CDATA[用消息队列和消息应用状态表来消除分布式事务]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82481373</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82481373</guid><author>iteye_13419</author><pubDate>Fri, 08 Mar 2013 16:01:23 +0800</pubDate><description><![CDATA[由于数据量的巨大，大部分Web应用都需要部署很多个数据库实例。这样，有些用户操作就可能需要去修改多个数据库实例中的数据。传统的解决方法是使用分布式事务保证数据的全局一致性，经典的方法是使用两阶段提交协议。

长期以来，分布式事务提供的优雅的全局ACID保证麻醉了应用开发者的心灵，很多人都不敢越雷池一步，想像没有分布式事务的世界会是怎样。如今就如MySQL和PostgreSQL这类面向低端用户的...]]></description><category></category></item><item><title><![CDATA[ZooKeeper典型应用场景一览]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82481290</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82481290</guid><author>iteye_13419</author><pubDate>Fri, 08 Mar 2013 10:14:34 +0800</pubDate><description><![CDATA[[b]数据发布与订阅（配置中心）[/b]
发布与订阅模型，即所谓的配置中心，顾名思义就是发布者将数据发布到ZK节点上，供订阅者动态获取数据，实现配置信息的集中式管理和动态更新。例如全局的配置信息，服务式服务框架的服务地址列表等就非常适合使用。

    应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样：应用在启动的时候会主动来获取一次配置，同时，在节点上注册一个Watche...]]></description><category></category></item><item><title><![CDATA[吃"软饭"的一些不良思考习惯 ]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82412166</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82412166</guid><author>iteye_13419</author><pubDate>Tue, 25 Sep 2012 21:13:46 +0800</pubDate><description><![CDATA[


1. 认为“简单原则”，就是不加认真思考，制作最简单易于实现的系统。

殊不知真正的简单是深思熟虑之后得到的结果。要多视角考虑，并且，必要时还需要跳出来思考，避免钻牛角尖，这样，才可能拿出真正简单有效的方案。

2. 对于难以实现的需求，而不是认真客观地认识和挖掘他们，然后根据可用的技术和资源，找出合理的解决方案，而是否认这些需求的存在。

这样往往实现的功能不能满足真正的...]]></description><category></category></item><item><title><![CDATA[可伸缩性架构常用技术－－数据切分]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82412165</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82412165</guid><author>iteye_13419</author><pubDate>Tue, 25 Sep 2012 21:09:39 +0800</pubDate><description><![CDATA[1. 简介

本来想写一篇可伸缩性架构方面的文章，发现东西太多了，久久未能下笔，这里首先把大家最关注的数据切分（Partition/Sharding）方面的内容先写完，给大家参考。

我们知道，为了应对不断增长的数据，我们对数据进行切分，存储在不同的数据库里，本文提到的数据库在非特定指明的情况下，均指一个逻辑数据库（是一组数据库，比如Master-Slave），而非单一各个物理数据库。
...]]></description><category></category></item><item><title><![CDATA[Spring Data —— 完全统一的API？]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82411390</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82411390</guid><author>iteye_13419</author><pubDate>Sun, 23 Sep 2012 01:54:57 +0800</pubDate><description><![CDATA[Spring Data 作为SpringSource的其中一个父项目， 旨在统一和简化对各类型持久化存储， 而不拘泥于是关系型数据库还是NoSQL 数据存储。
相关厂商内容

白皮书下载：JBoss Enterprise Application Platform 6迁移指南

白皮书下载：利用您的私有或混合云加速业务成果

Amazon五星敏捷图书作者、敏捷教练Amr Elssama...]]></description><category></category></item><item><title><![CDATA[如何加深消费者对产品的印象 ]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82411389</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82411389</guid><author>iteye_13419</author><pubDate>Sun, 23 Sep 2012 01:53:58 +0800</pubDate><description><![CDATA[

摘要: 上世纪90年代末，戴姆勒•克莱斯勒在公司内部成立了一个全新的部门。这个部门的职能不是设计，不是制造，也不是营销，而是研究和制作开关车门的声音。为 此，一位顶级的汽车工程师与我分享了他的有趣见解：如今人们的购车心理已和20年前大不相同。今天，消费者一走进汽车展...

上世纪90年代末，戴姆勒•克莱斯勒在公司内部成立了一个全新的部门。这个部门的职能不是设计，不是制造，也不是营销，...]]></description><category></category></item><item><title><![CDATA[简单之美]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82411388</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82411388</guid><author>iteye_13419</author><pubDate>Sun, 23 Sep 2012 01:53:07 +0800</pubDate><description><![CDATA[近多次看到系统设计与实现的文章与讨论，再加上以前读过的其他资料以及自己的一些实践教训，让我觉得应该把这些资料汇总整理一下。如果要从讨论不同系统的众多资料中总结一条黄金法则的话，那只有一个词——“简单”；如果用一个英语单词来表达的话，那就是——KISS (Keep It Simple, Stupid!)。



麻省理工方法与新泽西方法(MIT Approach vs. New Jersey...]]></description><category></category></item><item><title><![CDATA[DCI: 代码的可理解性]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82411387</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82411387</guid><author>iteye_13419</author><pubDate>Sun, 23 Sep 2012 01:37:03 +0800</pubDate><description><![CDATA[ 代码难以理解是软件行业的痼疾. 众多方法和方法论致力于解决这个问题, 不管主观还是客观. 造成理解困难的原因有很多, 我们今天讨论其中一种: 业务流程被分解在代码中, 支离破碎.

而这个原因的引申问题就是: 业务流程在代码中如何组织? 对于这个问题, 争论从未停止:

·         Transaction Script vs. Domain Model

·         ...]]></description><category></category></item><item><title><![CDATA[Java编程中“为了性能”尽量要做到的一些地方]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82409289</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82409289</guid><author>iteye_13419</author><pubDate>Fri, 14 Sep 2012 10:33:17 +0800</pubDate><description><![CDATA[1. 尽量在合适的场合使用单例

使用单例可以减轻加载的负担，缩短加载的时间，提高加载的效率，但并不是所有地方都适用于单例，简单来说，单例主要适用于以下三个方面：

第一，控制资源的使用，通过线程同步来控制资源的并发访问；

第二，控制实例的产生，以达到节约资源的目的；

第三，控制数据共享，在不建立直接关联的条件下，让多个不相关的进程或线程之间实现通信。

2. 尽量避免随意...]]></description><category></category></item><item><title><![CDATA[淘宝Oceanbase云存储系统实践]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82407035</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82407035</guid><author>iteye_13419</author><pubDate>Wed, 05 Sep 2012 19:51:54 +0800</pubDate><description><![CDATA[淘宝Oceanbase云存储系统实践
通俗地讲，云计算就是把基础设施以服务的形式打包对外销售，它是一种商业模式，而其中的云存储是技术难点。可以从两个维度分析云存储系统的特性：功 能和可扩展性，这是一个“鱼和熊掌”不容易兼得的问题。不同的数据规模，不同的事务和一致性要求，不同的系统故障容忍度，都可能导致不同的存储系统设计。 国外的互联网巨头Amazon、Google、Microsoft、Yahoo...]]></description><category></category></item><item><title><![CDATA[Java 5.0多线程编程]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82401521</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82401521</guid><author>iteye_13419</author><pubDate>Fri, 17 Aug 2012 19:16:00 +0800</pubDate><description><![CDATA[

    概述
    1：三个新加的多线程包
    2：Callable 和 Future接口
    3：新的线程执行架构
    4：Lockers和Condition接口
    5: Synchronizer：同步装置
    6: BlockingQueue接口
    7：Atomics 原子级变量
    8：Concurrent Collections 共...]]></description><category></category></item><item><title><![CDATA[ Thread.setDaemon设置说明 ]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82360675</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82360675</guid><author>iteye_13419</author><pubDate>Thu, 28 Jun 2012 18:00:59 +0800</pubDate><description><![CDATA[
Thread.setDaemon的用法，经过学习以后了解：

1. setDaemon需要在start方法调用之前使用

2. 线程划分为用户线程和后台(daemon)进程，setDaemon将线程设置为后台进程

3. 如果jvm中都是后台进程，当前jvm将exit。（随之而来的，所有的一切烟消云散，包括后台线程啦）

4. 主线程结束后，

      1） 用户线程将...]]></description><category></category></item><item><title><![CDATA[使用MBean获取tomcat和jboss端口]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82307293</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82307293</guid><author>iteye_13419</author><pubDate>Tue, 10 Apr 2012 21:29:48 +0800</pubDate><description><![CDATA[[code=&quot;java&quot;]/**
	 * 根据协议和scheme获取服务端口号
	 * 
	 * @param protocol
	 * @param scheme
	 * @return
	 */
	protected Integer getPortByMBean(String protocol, String scheme) {
		MBeanServer mBeanServe...]]></description><category></category></item><item><title><![CDATA[解决maven传递依赖中的版本冲突]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82302390</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82302390</guid><author>iteye_13419</author><pubDate>Wed, 28 Mar 2012 14:39:17 +0800</pubDate><description><![CDATA[传递依赖是maven最有特色的、最为方便的优点之一，可以省了很多配置。如a 依赖 b,b 依赖c  默认 a也会依赖 c。但是 也会带来隐患，如版本冲突。当然maven也考虑到解决办法，可以使用exclusions来排除相应的重复依赖。

但是我们还会遇到一个严重的问题，那就是，我怎么知道是哪个包的传递依赖产生的冲突 ？那该怎么办呢？当然，maven也会有相应的解决方案。

 首先，你要在...]]></description><category></category></item><item><title><![CDATA[Spring技术内幕——深入解析Spring架构与设计原理]]></title><link>https://blog.youkuaiyun.com/iteye_13419/article/details/82295626</link><guid>https://blog.youkuaiyun.com/iteye_13419/article/details/82295626</guid><author>iteye_13419</author><pubDate>Thu, 08 Mar 2012 19:48:25 +0800</pubDate><description><![CDATA[IOC的基础
下面我们从IOC/AOP开始，它们是Spring平台实现的核心部分；虽然，我们一开始大多只是在这个层面上，做一些配置和外部特性的使用工 作，但对这两个核心模块工作原理和运作机制的理解，对深入理解Spring平台，却是至关重要的；因为，它们同时也是Spring其他模块实现的基础。从 Spring要做到的目标，也就是从简化Java EE开发的出发点来看，简单的来说，它是通过对POJO开...]]></description><category></category></item></channel></rss>