<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[廉颇老矣，尚能饭否？ (jdk+算法+spring+netty+大数据+OS+Architect)]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iteye_6401</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iteye_6401]]></copyright><item><title><![CDATA[Map浅析]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82654500</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82654500</guid><author>iteye_6401</author><pubDate>Tue, 12 Jul 2016 22:35:25 +0800</pubDate><description><![CDATA[
java.Util.Map接口是jdk的常用接口，Map是一种数据字典，以key,value形式出现，key、value作为数据域出现在内部接口Entry&amp;lt;K,V&amp;gt;中。提供根据key查value，以及keys和values集合并遍历的方法。没什么特殊的地方，只是对于几种Map，如果能知道其数据结构和相对优劣，对于编写性能较好的程序是需要掌握这些的。
 
1.Hashtable...]]></description><category></category></item><item><title><![CDATA[List浅析]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82654391</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82654391</guid><author>iteye_6401</author><pubDate>Sun, 10 Jul 2016 17:13:19 +0800</pubDate><description><![CDATA[
java.util.List是java集合框架的基础接口之一，使用频率非常高，如下主要从数据结构和应用场景做简单分析，仅供交流和参考。
 
1.Vector
Jdk遗留类，现在使用很少，但了解下最初jdk集合类的实现方法也是不错的。添加、删除方法如下所示，都是通过synchronized关键字保证线程安全性。
public synchronized void addElement(E ...]]></description><category></category></item><item><title><![CDATA[mq的用途]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82604539</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82604539</guid><author>iteye_6401</author><pubDate>Sat, 13 Sep 2014 00:01:14 +0800</pubDate><description><![CDATA[
最近几个月，参与了一个大数量，高并发的项目，遇到过一个问题，由于并发较高，导致系统间的tcp调用超时严重，调用者和被调用者都不堪重负，后来添加了一个MQ，负责两者之间的消息传输，有效地解决了两者的窘境。调用者将消息发送到MQ，它容量巨大，调用者发送很顺畅，接收方也可根据自己的处理能力来决定接收速度，处理完1条消息，再接收下1条，遇到处理异常还可重发，真可谓一石二鸟...
 
 
...]]></description><category></category></item><item><title><![CDATA[mysql大数据量下访问实践]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82603829</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82603829</guid><author>iteye_6401</author><pubDate>Mon, 01 Sep 2014 11:14:50 +0800</pubDate><description><![CDATA[
最近参与了一些用户相关系统的开发，经历了数据库在大数据量下出现的一些问题，记录备忘，也请有经验的牛们指点指点。
 
目前数据量大概在40亿条左右，最近1周大概增长了50%左右，后面可能会小一些，每天预估在几百到几千W条左右。
 
功能：
java服务接口接收请求，执行sql操作。
 
查询：
读操作共有5,6种，group by, max（）比较多，查询数据时间范围在1年左右。...]]></description><category></category></item><item><title><![CDATA[java服务，cpu高，内存高，telnet不通排查及分析]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82554600</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82554600</guid><author>iteye_6401</author><pubDate>Sun, 22 Dec 2013 12:29:14 +0800</pubDate><description><![CDATA[
记录上周五的一个java服务的异常排查及分析过程，以备将来参考。
 
java服务的异常主要表现为3点：
1.cpu使用率高；
2.内存占用较大；
3.本机telnet访问服务被拒绝
 
具体情况：
1.cpu高。启动时会打到800%以上，访问量不大的时段，top看到使用率在100-400%之间，基本稳定在100%-200%左右。
 
2.内存高。启动后java服务占用的内...]]></description><category></category></item><item><title><![CDATA[应用二级缓存设计]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82539107</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82539107</guid><author>iteye_6401</author><pubDate>Mon, 09 Sep 2013 13:01:55 +0800</pubDate><description><![CDATA[
最近ssss系统对redis的访问压力较大，为了减轻对redis服务器的访问压力，需要对功能进行优化，下面参考了同事的优化思路，并对思路进行了改进。
 
  
...]]></description><category></category></item><item><title><![CDATA[strategy（策略）模式]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82525024</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82525024</guid><author>iteye_6401</author><pubDate>Mon, 12 Aug 2013 15:54:17 +0800</pubDate><description><![CDATA[
    策略模式属于对象的行为模式。其用意是针对一组算法，将每一个算法封装到具有共同接口的独立的类中，从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
策略模式的结构　　策略模式是对算法的包装，是把使用算法的责任和算法本身分割开来，委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面，作为一个抽象策略类的子类。用一句话来说，就是：“准备一...]]></description><category></category></item><item><title><![CDATA[Adapter（适配器）模式]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82524994</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82524994</guid><author>iteye_6401</author><pubDate>Mon, 12 Aug 2013 13:34:48 +0800</pubDate><description><![CDATA[
《设计模式》GOF ：
    将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
 
    在GOF设计模式中，Adapter可以分为类模式和对象模式两种，类模式通过继承实现，对象模式通过委托实现。 
 
类模式示意图：  
 
对象模式示意图：  
 
...]]></description><category></category></item><item><title><![CDATA[观察者模式(发布-订阅)]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82524397</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82524397</guid><author>iteye_6401</author><pubDate>Thu, 08 Aug 2013 11:27:18 +0800</pubDate><description><![CDATA[
由于网站带有弱sns功能，因此需要设计关注和被关注的消息或是动作通知，那么将这个需求抽象出来的时候就会发现正好符合java中发布订阅模式。一、概述 Java 的设计模式很多，观察者模式被称为是模式中的皇后，而且Java jdk也对它做了实现，可见该设计模式的重要位置。在图形化设计的软件中，为了实现视图和事件处理的分离，大多都采用了Observer模式，比如 Java的Swing，Flex的Ac...]]></description><category></category></item><item><title><![CDATA[深入分析 Java I/O 的工作机制 ]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82523640</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82523640</guid><author>iteye_6401</author><pubDate>Sun, 04 Aug 2013 15:15:44 +0800</pubDate><description><![CDATA[
Java I/O 类库的基本架构
I/O 问题是任何编程语言都无法回避的问题，可以说 I/O 问题是整个人机交互的核心问题，因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代，I/O 问题尤其突出，很容易成为一个性能瓶颈。正因如此，所以 Java 在 I/O 上也一直在做持续的优化，如从 1.4 开始引入了 NIO，提升了 I/O 的性能。关于 NIO 我们将在后面详细介绍...]]></description><category></category></item><item><title><![CDATA[装饰器(Decorator)模式]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82523509</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82523509</guid><author>iteye_6401</author><pubDate>Sat, 03 Aug 2013 01:31:20 +0800</pubDate><description><![CDATA[
今天被问起装饰器模式，已没有什么印象，回来了查查资料，发现java io这块是对装饰器模式的典型应用，画张类图备忘。后面再对java nio进行统一地梳理和深入。
 
 
 
BufferedInputStream，顾名思义就是对InputStream添加缓冲的装饰，通过在构造函数中传入InputStream对象获得需要装饰的流，其他具体装饰子类的设计思路与此相同。OutputStre...]]></description><category></category></item><item><title><![CDATA[QPS、PV和需要部署机器数量计算公式]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82523103</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82523103</guid><author>iteye_6401</author><pubDate>Wed, 31 Jul 2013 16:39:34 +0800</pubDate><description><![CDATA[
QPS = req/sec = 请求数/秒
 
【QPS计算PV和机器的方式】
QPS统计方式 [一般使用 http_load 进行统计]QPS = 总请求数 / ( 进程总数 *   请求时间 )QPS: 单个进程每秒请求服务器的成功次数
单台服务器每天PV计算公式1：每天总PV = QPS * 3600 * 6公式2：每天总PV = QPS * 3600 * 8
服务器计算服务器数...]]></description><category></category></item><item><title><![CDATA[RPC之java应用]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82523005</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82523005</guid><author>iteye_6401</author><pubDate>Wed, 31 Jul 2013 10:09:18 +0800</pubDate><description><![CDATA[
    什么是RPC？Remote Procedure Call，远程过程调用。也就是说，调用过程代码并不是在调用者本地运行，而是要实现调用者与被调用者二地之间的连接与通信。比较严格的定义是：
    
Remote procedure call (RPC) is a protocol that allows a computer program running on one compute...]]></description><category></category></item><item><title><![CDATA[rmi工厂模式实例]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82522716</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82522716</guid><author>iteye_6401</author><pubDate>Mon, 29 Jul 2013 15:50:46 +0800</pubDate><description><![CDATA[
rmi编写java分布式系统时，采用工厂模式的使用示例，参考孙卫琴的《java网络编程精解》，比较简单，仅供日后备忘。
 
类图：
 
 
 
远程接口
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IFlight extends Remote{
	
	public ...]]></description><category></category></item><item><title><![CDATA[socket、RMI、WebService 比较]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82522423</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82522423</guid><author>iteye_6401</author><pubDate>Fri, 26 Jul 2013 21:30:06 +0800</pubDate><description><![CDATA[
RMI vs Socket
一般来说，基于CS（client-server)软件架构的开发技术有很多种。比较常用的有：基于socket的网络编程、RPC、基于 Java技术的 RMI（当然C#也有类似技术）、CORBA等。在这里我们只是对基于socket的网络编程与RMI作个对比，有助于我们了解它们各自的应用领域，帮助 我们在面对一个具体问题的时候选用适合的技术。另外，本文所做的讨论可以认为...]]></description><category></category></item><item><title><![CDATA[几种主要通信协议的性能比较]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82522422</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82522422</guid><author>iteye_6401</author><pubDate>Fri, 26 Jul 2013 21:24:56 +0800</pubDate><description><![CDATA[
总体性能比较：Socket(BIO/NIO)&amp;gt;RMI&amp;gt;HTTPInvoker&amp;gt;=Hessian&amp;gt;REST&amp;gt;&amp;gt;Burlap&amp;gt;EJB&amp;gt;&amp;gt;Web Service
 
如果协议设计的比较好，Socket性能毫无疑问是最高，同时灵活性和复杂度也最高，如果采用高效的网络框架如:Mina、Netty等可以降低开 发复杂度，一般在对性能有非常苛刻的条件下...]]></description><category></category></item><item><title><![CDATA[Linux: 10 个 Netstat 命令实例]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82521868</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82521868</guid><author>iteye_6401</author><pubDate>Tue, 23 Jul 2013 19:34:25 +0800</pubDate><description><![CDATA[
Netstat 命令用于显示各种网络相关信息，如网络连接，路由表，接口状态 (Interface Statistics)，masquerade 连接，多播成员 (Multicast Memberships) 等等。本文提供 10 个非常实用的 Netstat 命令实例。
 
1. 列出所有端口 (包括监听和未监听的)
列出所有端口 netstat -a
 
netstat -a | m...]]></description><category></category></item><item><title><![CDATA[mysql函数实例-统计月登陆用户数]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82520364</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82520364</guid><author>iteye_6401</author><pubDate>Sun, 14 Jul 2013 21:31:39 +0800</pubDate><description><![CDATA[
统计月使用用户数，仅作备忘。
 
CREATE FUNCTION  statics_user_login_month() RETURNS int(11)
    COMMENT '月使用用户数\r\n'
BEGIN
	#Routine body goes here...
	DECLARE stopFlag INT DEFAULT 0 ;
	DECLARE _shop_id INT(...]]></description><category></category></item><item><title><![CDATA[mysql函数实例-统计1周内未登陆的用户]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82520362</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82520362</guid><author>iteye_6401</author><pubDate>Sun, 14 Jul 2013 21:13:24 +0800</pubDate><description><![CDATA[
流失用户统计（1周内未登陆的用户）。
 
CREATE FUNCTION `statics_user_unlogin_week`() RETURNS int(11)
    COMMENT '流失用户统计（一周内未登录的用户）'
BEGIN
	#Routine body goes here...
	DECLARE stopFlag INT DEFAULT 0 ;
	DECLARE...]]></description><category></category></item><item><title><![CDATA[mysql函数实例-统计日新增用户]]></title><link>https://blog.youkuaiyun.com/iteye_6401/article/details/82520359</link><guid>https://blog.youkuaiyun.com/iteye_6401/article/details/82520359</guid><author>iteye_6401</author><pubDate>Sun, 14 Jul 2013 21:02:20 +0800</pubDate><description><![CDATA[
新增用户统计，仅用作备忘。
 
CREATE FUNCTION `statics_user_new`() RETURNS int(11)
    COMMENT '统计新增用户'
BEGIN
	#Routine body goes here...	
	DECLARE stopFlag INT DEFAULT 0 ;
	DECLARE _shop_id VARCHAR(11) DEF...]]></description><category></category></item></channel></rss>