<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[stulingyu的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/stulingyu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; stulingyu]]></copyright><item><title><![CDATA[RPC脑图]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/122684860</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/122684860</guid><author>stulingyu</author><pubDate>Tue, 25 Jan 2022 14:34:24 +0800</pubDate><description><![CDATA[RPC脑图]]></description><category></category></item><item><title><![CDATA[BlockingQueue]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/78967717</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/78967717</guid><author>stulingyu</author><pubDate>Thu, 04 Jan 2018 09:56:35 +0800</pubDate><description><![CDATA[一、阻塞队列基本方法介绍

谈到线程池，不得不谈到生产者-消费者模式，谈到生产者-消费者，就不得不谈到对应的数据结构，谈到对应的数据结构不得不言BlockingQueue。

顾名思义，BlockingQueue翻译为阻塞队列。队列无非两种操作：入队和出队。而针对于入队出队的边界值的不同，分为几个方法：











抛出异常



特殊值

]]></description><category></category></item><item><title><![CDATA[mysql优化（1）show命令慢查询日志explainprofiling]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/56107566</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/56107566</guid><author>stulingyu</author><pubDate>Tue, 21 Feb 2017 01:03:40 +0800</pubDate><description><![CDATA[mysql优化（1）show命令慢查询日志explainprofiling。

一、 优化概述



MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈，CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候。磁盘I/O瓶颈发生在装入数据远大于内存容量的时候，如果应用分布在网络上，那么查询量相当大的时候那么平瓶颈就会出现在网络上，我们可以用mpstat,
 iostat,]]></description><category></category></item><item><title><![CDATA[MySql索引算法原理解析]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/56105273</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/56105273</guid><author>stulingyu</author><pubDate>Tue, 21 Feb 2017 00:58:31 +0800</pubDate><description><![CDATA[（建议大概看文字，不理解不要紧，然后再看图的执行步骤然后在结合文字，这样一切就清晰好多）

B-tree，B是balance，一般用于数据库的索引。使用B-tree结构可以显著减少定位记录时所经历的中间过程，从而加快存取速度。而B+tree是B-tree的一个变种，大名鼎鼎的MySQL就普遍使用B+tree实现其索引结构。

　　那数据库为什么使用这种结构？

　　一般来说，索引本身也]]></description><category></category></item><item><title><![CDATA[是否采用读写分离方案的guideline]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/52885344</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/52885344</guid><author>stulingyu</author><pubDate>Fri, 21 Oct 2016 17:22:26 +0800</pubDate><description><![CDATA[最近在做sql性能优化，下面是DBA给的指引
我们怎么决定，是采用读写分离的架构，还是采用sharding的架构？
               总体来讲，DBA团队prefer sharding机制，而不是严重依赖于replication
 based read/write split;
                对于现有的读写分离应用，要进行梳理；]]></description><category></category></item><item><title><![CDATA[Google WebP 图像格式]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/50563618</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/50563618</guid><author>stulingyu</author><pubDate>Fri, 22 Jan 2016 18:09:52 +0800</pubDate><description><![CDATA[https://developers.google.com/speed/webp/docs/precompiled]]></description><category></category></item><item><title><![CDATA[敏捷开发之Scrum扫盲篇]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/50563607</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/50563607</guid><author>stulingyu</author><pubDate>Fri, 22 Jan 2016 18:08:19 +0800</pubDate><description><![CDATA[现在敏捷开发是越来越火了，人人都在谈敏捷，人人都在学习Scrum和XP...

 

为了不落后他人，于是我也开始学习Scrum，今天主要是对我最近阅读的相关资料，根据自己的理解，用自己的话来讲述Scrum中的各个环节，主要目的有两个，一个是进行知识的总结，另外一个是觉得网上很多学习资料的讲述方式让初学者不太容易理解；所以我决定写一篇扫盲性的博文，同时试着也与园内的朋友一起分享交流一下，希]]></description><category></category></item><item><title><![CDATA[Redis Cluster原理]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/50466806</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/50466806</guid><author>stulingyu</author><pubDate>Wed, 06 Jan 2016 09:44:32 +0800</pubDate><description><![CDATA[Redis Cluster  是Redis的集群实现，内置数据自动分片机制，集群内部将所有的key映射到16384个Slot中，集群中的每个Redis Instance负责其中的一部分的Slot的读写。集群客户端连接集群中任一Redis Instance即可发送命令，当Redis Instance收到自己不负责的Slot的请求时，会将负责请求Key所在Slot的Redis
 Instance地址]]></description><category></category></item><item><title><![CDATA[大数据量整数排序]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/38233991</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/38233991</guid><author>stulingyu</author><pubDate>Mon, 28 Jul 2014 17:17:16 +0800</pubDate><description><![CDATA[题目大意：移动公司需要对已经发放的所有139段的号码进行统计排序，已经发放的139号码段的文件都存放在一个文本文件中（原题是放在两个文件中），一个号码一行，现在需要将文件里的所有号码进行排序，并写入到一个新的文件中；号码可能会有很多，最多可能有一亿个不同的号码（所有的139段号码），存入文本文件中大概要占1.2G的空间；jvm最大的内存在300以内，程序要考虑程序的可执行性及效率；只能使用Java]]></description><category></category></item><item><title><![CDATA[数学之美系列 布隆过滤器（Bloom Filter）]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/38232961</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/38232961</guid><author>stulingyu</author><pubDate>Mon, 28 Jul 2014 16:44:53 +0800</pubDate><description><![CDATA[发表者：Google（谷歌）研究员 吴军
 
在 日常生活中，包括在设计计算机软件时，我们经常要判断一个元素是否在一个集合中。比如在字处理软件中，需要检查一个英语单词是否拼写正确（也就是要判断它 是否在已知的字典中）；在 FBI，一个嫌疑人的名字是否已经在嫌疑名单上；在网络爬虫里，一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中，遇到一个新 元素时，将它和集合中的元素直]]></description><category></category></item><item><title><![CDATA[Thirft框架介绍]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/9097259</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/9097259</guid><author>stulingyu</author><pubDate>Fri, 14 Jun 2013 18:41:39 +0800</pubDate><description><![CDATA[Thirft框架介绍

作者:Dong

网址:http://dongxicheng.org/search-engine/thrift-framework-intro/
1、前言
Thrift是一个跨语言的服务部署框架，最初由Facebook于2007年开发，2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型，然后通过]]></description><category></category></item><item><title><![CDATA[XStream简单介绍]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/7259725</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/7259725</guid><author>stulingyu</author><pubDate>Tue, 14 Feb 2012 23:58:40 +0800</pubDate><description><![CDATA[在转载之前，有一些第三方的jar包是必须导入的：     
xstream-1.4.1.jar --必须的
kxml2-2.3.0.jar     --如果没有这个的话，在执行PrintWriter instance = new PrintWriter(path);是会抛出异常的
kXML2 is a very fast XML pull-parser implementation
转载：]]></description><category></category></item><item><title><![CDATA[编写跨平台的Java程序是需要注意的一些事情]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/5798527</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/5798527</guid><author>stulingyu</author><pubDate>Mon, 09 Aug 2010 12:30:00 +0800</pubDate><description><![CDATA[<br />1． 编写Java跨平台应用程序时，你可以选择JDK1.0，1.1，1.2或支持它们的GUI开发工具如：Jbuilder,Visual Age for Java 等等，但是必须注意你的Java程序只能使用Java核心API包，如果要使用第三方的类库包，则该类库包也要由Java核心包开发完成，否则在发布你的程序的时候还得将支持该Java类库包的JVM发布出去。也就是说，你的程序需要是100%纯Java的。举一个例子，Visual J++ 就不是纯Java的，由Visual J++编写的程序也就不具]]></description><category></category></item><item><title><![CDATA[编写跨平台的Java程序时需要注意的一些事情]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/5798526</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/5798526</guid><author>stulingyu</author><pubDate>Mon, 09 Aug 2010 12:30:00 +0800</pubDate><description><![CDATA[1． 编写Java跨平台应用程序时，你可以选择JDK1.0，1.1，1.2或支持它们的GUI开发工具如：Jbuilder,Visual Age for Java 等等，但是必须注意你的Java程序只能使用Java核心API包，如果要使用第三方的类库包，则该类库包也要由Java核心包开发完成，否则在发布你的程序的时候还得将支持该Java类库包的JVM发布出去。也就是说，你的程序需要是100%纯Java的。举一个例子，Visual J++ 就不是纯Java的，由Visual J++编写的程序也就不具有平台无关性]]></description><category></category></item><item><title><![CDATA[Apache MINA 开发高性能网络应用程序 ]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/5777237</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/5777237</guid><author>stulingyu</author><pubDate>Fri, 30 Jul 2010 17:41:00 +0800</pubDate><description><![CDATA[<br />本文将通过一个简单的问候程序 HelloServer 来介绍 MINA 的基础架构的同时演示如何使用 MINA 开发网络应用程序。<br />Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目，它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序（只在最新的预览版中提供]]></description><category></category></item><item><title><![CDATA[java优化编程笔记摘要]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/5725489</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/5725489</guid><author>stulingyu</author><pubDate>Sat, 10 Jul 2010 15:54:00 +0800</pubDate><description><![CDATA[<br /><br />1.JVM 管理两种类型的内存:堆内存(heap),栈内存(stack),堆内在主要用来存储程序在运行时<br />创建或实例化的对象与变量.而栈内存则是用来存储程序代码中声明为静态(static)(或非静态)<br />的方法.<br />2.JVM 中对象的生命周期,创建阶段,应用阶段,不可视阶段,不可到达阶段,可收集阶段,终结阶<br />段,释放阶段<br />3.避免在循环体中创建对象,即使该对象点用内存空间不大.<br />for(int i=0;i<10000;++i)]]></description><category></category></item><item><title><![CDATA[MyEclipse下用XFire开发WebService(入门级)(2) ]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/5723303</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/5723303</guid><author>stulingyu</author><pubDate>Fri, 09 Jul 2010 14:32:00 +0800</pubDate><description><![CDATA[二，开发WebService客户端<br />1，  由向导生成客户端<br />新建一个package，com.lingyu.webservice.client 用来存放客户端<br /><br /><br />在HelloWebservice上点击右键，new->Other-><br /> <br /> <br />选择Web Service Client<br /> <br /> <br /> <br /> <br /><br />选择WSDL File或WSDL URL,在这里我选择了WSDL UR]]></description><category></category></item><item><title><![CDATA[MyEclipse下用XFire开发WebService(入门级)(1)]]></title><link>https://blog.youkuaiyun.com/stulingyu/article/details/5723097</link><guid>https://blog.youkuaiyun.com/stulingyu/article/details/5723097</guid><author>stulingyu</author><pubDate>Fri, 09 Jul 2010 13:37:00 +0800</pubDate><description><![CDATA[逐步对平时工作进行总结，从实用角度出发，写一些从基础到有一定提高的技术类文章。
这是第一篇，最基础级的WebService开发过程：MyEclipse下用XFire开发WebService(入门级)（1）。]]></description><category></category></item></channel></rss>