<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zapldy的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zapldy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zapldy]]></copyright><item><title><![CDATA[漫谈数据库锁]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/45129137</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/45129137</guid><author>zapldy</author><pubDate>Sun, 19 Apr 2015 14:52:59 +0800</pubDate><description><![CDATA[前言
       前段时间在线上和项目当中遇到了很多关于用mysql的GET_LOCK()函数获取锁导致的一些问题，主要有两类问题：
        1、一个连接中不能同时获取两把锁，因为获取后一个的时候会自动释放前面一把锁；另外如果获得锁或者释放锁所使用的connection不一样，假如获得锁的connection被连接池回收了，也可能会导致第一把锁自动释放，最终导致你的业务还没有处理完，]]></description><category></category></item><item><title><![CDATA[Java并发总结（三）：中断线程]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/8288711</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/8288711</guid><author>zapldy</author><pubDate>Wed, 12 Dec 2012 23:44:45 +0800</pubDate><description><![CDATA[线程的状态

在了解如何中断线程之前，先应该弄清楚线程的几种状态：



新建状态(New)：一个新的线程在被创建之后，在运行（或阻塞）之前的状态。


就绪状态（Runnable）：当一个线程只要拥有CPU时间片就能运行的时候，这个线程就处于就绪状态。


阻塞状态（Blocked）：线程还没有死亡，但是由于一些原因不能继续运行，但是还能回到就绪状态。


死亡状态]]></description><category></category></item><item><title><![CDATA[垃圾收集算法]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/8046556</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/8046556</guid><author>zapldy</author><pubDate>Sun, 07 Oct 2012 23:29:15 +0800</pubDate><description><![CDATA[垃圾收集算法
垃圾收集提供了内存管理的机制，使得应用程序不需要再关注内存如何释放，内存用完后，垃圾收集会进行收集，这样就减轻了因为人为的管理内存而造成的错误，比如在C++语言里，出现内存泄露时很常见的。Java语言是目前使用最多的依赖于垃圾收集器的语言，但是垃圾收集器策略从20世纪60年代就已经流行起来了，比如Smalltalk，Eiffel等编程语言也集成了垃圾收集器的机制。
所有的垃圾收集]]></description><category></category></item><item><title><![CDATA[另一个视角解读计算机编码-补码编码]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7814657</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7814657</guid><author>zapldy</author><pubDate>Tue, 31 Jul 2012 15:48:01 +0800</pubDate><description><![CDATA[这篇文章写得很好，转来供大家分享！


        数学是一个完全抽象的学科，而计算机是这个学科的一种形象化的实现，显然无法处理一些仅在抽象意义上有意义的特殊”数字“，比如无穷之类的东西。像数学中的加法，乘法这样运算，计算机必须给与实现，然而由于数学中的实数加法（以及别的运算）是建立在实数域上的，而实数域又是无限的，而计算机只能处理有限域的运算，因此必须给定一个范围，一种方案是在这个范围]]></description><category></category></item><item><title><![CDATA[What is protected mode?]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7754885</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7754885</guid><author>zapldy</author><pubDate>Tue, 17 Jul 2012 13:04:56 +0800</pubDate><description><![CDATA[What is protected mode? 
The 8088 CPU used in the original IBM PC was not very scalable. In particular, there was no easy way to access more than 1 megabyte of physical
 memory. To get around this w]]></description><category></category></item><item><title><![CDATA[利用MemoryAnalyzer进行OutOfMemoryError的诊断分析]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7727572</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7727572</guid><author>zapldy</author><pubDate>Mon, 09 Jul 2012 00:19:43 +0800</pubDate><description><![CDATA[这篇帖子只介绍利用MemoryAnalyzer进行简单的JVM的堆的分析，至于JVM的内部结构是怎么样的，这里不进行分析。好吧，废话不多说；首先如果我们要分析JVM某个时刻的Heap的对象分配情况，我们就必须要dump这个时刻的JVM的heap（堆）；有以下几个办法进行dump某个时刻JVM的heap内容：
         1、 使用$JAVA_HOME/bin/jmap -dump来触发，]]></description><category></category></item><item><title><![CDATA[jhat中的OQL（对象查询语言）]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7523327</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7523327</guid><author>zapldy</author><pubDate>Mon, 30 Apr 2012 00:15:15 +0800</pubDate><description><![CDATA[jhat中的OQL（对象查询语言） 
如果需要根据某些条件来过滤或查询堆的对象，这是可能的，可以在jhat的html页面中执行OQL，来查询符合条件的对象

基本语法： 
select 
[from [instanceof]  ]
[where ]

解释： 
(1)class name是java类的完全限定名，如：java.lang.String, java.util.Arra]]></description><category></category></item><item><title><![CDATA[jhat命令]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7523310</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7523310</guid><author>zapldy</author><pubDate>Mon, 30 Apr 2012 00:05:42 +0800</pubDate><description><![CDATA[jhat命令 -- Java Head Analyse Tool 
用途：是用来分析java堆的命令，可以将堆中的对象以html的形式显示出来，包括对象的数量，大小等等，并支持对象查询语言
第一步：导出堆
 
第二步：分析堆文件
 
第三步：查看html


有时你dump出来的堆很大，在启动时会报堆空间不足的错误，可以使用如下参数：
jhat -J-Xmx512m 

对]]></description><category></category></item><item><title><![CDATA[Java-jps命令的使用]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7523303</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7523303</guid><author>zapldy</author><pubDate>Mon, 30 Apr 2012 00:00:29 +0800</pubDate><description><![CDATA[jps -- Java Virtual Machine Process Status Tool


可以列出本机所有java进程的pid 

jps [ options ] [ hostid ] 

选项 
-q 仅输出VM标识符，不包括class name,jar name,arguments in main method 
-m 输出main method的参数 
-l 输]]></description><category></category></item><item><title><![CDATA[Java虚拟机类装载的原理及实现]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7401206</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7401206</guid><author>zapldy</author><pubDate>Wed, 28 Mar 2012 00:20:18 +0800</pubDate><description><![CDATA[一、引言 
    Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中， 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块， 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统，探讨JVM中类装载的原理、实现以及应用。
二、Java虚拟机的类装载实现与应用

2.1 装载过程简介]]></description><category></category></item><item><title><![CDATA[Java虚拟机内存模型]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/7401063</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/7401063</guid><author>zapldy</author><pubDate>Tue, 27 Mar 2012 23:53:33 +0800</pubDate><description><![CDATA[我们知道，计算机CPU和内存的交互是最频繁的，内存是我们的高速缓存区，用户磁盘和CPU的交互，而CPU运转速度越来越快，磁盘远远跟不上CPU的读写速度，才设计了内存，用户缓冲用户IO等待导致CPU的等待成本，但是随着CPU的发展，内存的读写速度也远远跟不上CPU的读写速度，因此，为了解决这一纠纷，CPU厂商在每颗CPU上加入了高速缓存，用来缓解这种症状，因此，现在CPU同内存交互就变成了下面的样子]]></description><category></category></item><item><title><![CDATA[Android下的任务和Activity栈]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6889023</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6889023</guid><author>zapldy</author><pubDate>Wed, 19 Oct 2011 21:41:01 +0800</pubDate><description><![CDATA[转载于：http://blog.youkuaiyun.com/wbw1985/article/details/4916909

Intent intent = new Intent();  intent.setAction(Intent.ACTION_CALL);  intent.setData(Uri.parse("tel:" + number));  startActivity(intent);]]></description><category></category></item><item><title><![CDATA[Android Service and Broadcast Receiver Tutorial]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6718231</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6718231</guid><author>zapldy</author><pubDate>Thu, 25 Aug 2011 14:07:17 +0800</pubDate><description><![CDATA[This tutorial describes how to create and consume Androidservices. It is based on Eclipse 3.6, Java 1.6 and Android 2.3(Gingerbread).


T]]></description><category></category></item><item><title><![CDATA[How MySQL Does Sorting]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6422806</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6422806</guid><author>zapldy</author><pubDate>Sun, 15 May 2011 18:52:00 +0800</pubDate><description><![CDATA[<br />How MySQL Does Sorting (filesort) <br />MySQL has two filesort algorithms for sorting and retrieving results. The original method uses only the ORDER BY columns. The modified method uses not just the ORDER BY columns, but all the columns used in the ]]></description><category></category></item><item><title><![CDATA[讲解MySQL索引的概念及数据库索引的应用]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6292442</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6292442</guid><author>zapldy</author><pubDate>Thu, 31 Mar 2011 18:48:00 +0800</pubDate><description><![CDATA[<br />1.数据库引入了索引 <br />　　用户对数据库最频繁的操作是进行数据查询。一般情况下，数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时，搜索数据就需要很长的时间，这就造成了服务器的资源浪费。为了提高检索数据的能力，数据库引入了索引机制。 <br />　　2.有关“索引”的比喻 <br />　　从某种程度上，可以把数据库看作一本书，把索引看作书的目录，通过目录查找书中的信息，显然较没有目录的书方便、快捷。 <br />　　3.数据库索引实际是什么？（两部分组成） <br />]]></description><category></category></item><item><title><![CDATA[mysql索引详解,摘自《MySQL 5权威指南》]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6292278</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6292278</guid><author>zapldy</author><pubDate>Thu, 31 Mar 2011 17:38:00 +0800</pubDate><description><![CDATA[<br />本文介绍了数据库索引，及其优、缺点。针对MySQL索引的特点、应用进行了详细的描述。分析了如何避免MySQL无法使用，如何使用EXPLAIN分析查询语句，如何优化MySQL索引的应用。本文摘自《MySQL 5权威指南》(3rd)的8.9节。(2007.07.05最后更新)<br /><br />        索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分)，它们包含着对数据表里所有记录的引用指针。<br />注：[1]索引不是万能的！索引可以加快数据检索操作，但会使数据]]></description><category></category></item><item><title><![CDATA[find命令的使用]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6292273</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6292273</guid><author>zapldy</author><pubDate>Thu, 31 Mar 2011 17:37:00 +0800</pubDate><description><![CDATA[<br />find 命令的一般形式为：<br />find pathname -options [-print -exec -ok]<br /> <br />pathname find命令所查找的目录路径。例如用.来表示当前目录，用/来表示系统根目录。<br />-print find命令将匹配的文件输出到标准输出。<br />-exec find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为' c o m m -<br />and' {} /;，注意{ }和/；之间的空格。<]]></description><category></category></item><item><title><![CDATA[awk用法]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6177812</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6177812</guid><author>zapldy</author><pubDate>Thu, 10 Feb 2011 22:13:00 +0800</pubDate><description><![CDATA[<br />转载：http://bbs.chinaunix.net/viewthread.php?tid=691456<br /> <br />awk 用法：awk ' pattern {action} '  <br /><br />变量名 含义 <br />ARGC 命令行变元个数 <br />ARGV 命令行变元数组 <br />FILENAME 当前输入文件名 <br />FNR 当前文件中的记录号 <br />FS 输入域分隔符，默认为一个空格 <br />RS 输入记录分隔符 <br />NF 当]]></description><category></category></item><item><title><![CDATA[awk用法小结]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6163886</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6163886</guid><author>zapldy</author><pubDate>Tue, 25 Jan 2011 22:38:00 +0800</pubDate><description><![CDATA[<br />转载：http://bbs.chinaunix.net/viewthread.php?tid=691456<br /> <br />awk 用法：awk ' pattern {action} ' 
<br /><br />
变量名		含义
<br />
ARGC		命令行变元个数
<br />
ARGV		命令行变元数组
<br />
FILENAME	当前输入文件名
<br />
FNR		当前文件中的记录号
<br />
FS		输入域分隔符，默认为一个空格
<br]]></description><category></category></item><item><title><![CDATA[C关键字restrict的理解]]></title><link>https://blog.youkuaiyun.com/zapldy/article/details/6122049</link><guid>https://blog.youkuaiyun.com/zapldy/article/details/6122049</guid><author>zapldy</author><pubDate>Fri, 07 Jan 2011 10:59:00 +0800</pubDate><description><![CDATA['Restrict' PointersOne of the new features in the recently approved C standard C99, is the restrict pointer qualifier. This qualifier can be applied to a data pointer to indicate that, during the scope of that pointer declaration, all data accessed through]]></description><category></category></item></channel></rss>