<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[realRyu的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/realRyu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; realRyu]]></copyright><item><title><![CDATA[JVM摘要--Class文件格式]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84088265</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84088265</guid><author>realRyu</author><pubDate>Thu, 24 Nov 2011 11:14:20 +0800</pubDate><description><![CDATA[    Class文件是JVM虚拟机可以理解的字节码文件，class文件并不是JAVA的专用文件，现在有很多语言都会生成可在JVM上运行的.class文件，比如JRuby,Groovy等等。

    这里介绍一下.class文件的具体结构。

    Class文件是二进制流，其中包含了一组8为字节为单位的基本单位，其中，各个基本元素之间都是紧密相连的，彼此之间没有空隙。当一个元素的数据...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记----如何复制一张表的定义]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84088202</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84088202</guid><author>realRyu</author><pubDate>Thu, 24 Nov 2011 10:35:53 +0800</pubDate><description><![CDATA[如果想创建一个新的表，让其与一个已有表的定义（列设置）相同。怎么办？

比如，有一个已知表 TABLE_OLD,你想创建一个和其结构一样的表TABLE_NEW

在不同的数据库中，操作会不太一样：

[color=blue][b]Oracle， MySQL，PostgreSQL[/b][/color]
  create table TABLE_NEW
as
  select * ...]]></description><category></category></item><item><title><![CDATA[JVM摘要--指令集介绍03]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84084202</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84084202</guid><author>realRyu</author><pubDate>Thu, 17 Nov 2011 14:04:41 +0800</pubDate><description><![CDATA[  [color=brown]  【题外话】只要学过编译原理，计算机组成类似的课程的，就不会觉得JVM的字节码太难理解。有兴趣的人，只要边看书，边写几个例子后，再javap一下慢慢看几个就大概心里有数了，其实学习JVM的东西，主要是为了让自己对它的运行方式多一些了解，在实际编程过程中心里有个概念，有些特性的底层实现心里有数就行。
    
    毕竟在大多数编程中，JVM的知识不会直接的影响...]]></description><category></category></item><item><title><![CDATA[JVM摘要--指令集介绍02]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84084013</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84084013</guid><author>realRyu</author><pubDate>Thu, 17 Nov 2011 10:20:36 +0800</pubDate><description><![CDATA[[color=brown]【题外话】由于有大牛在论坛里贴出翻译的《Java虚拟机规范》，我也就不用写那么详细了，哈哈，觉得那里需要写就写一下吧[/color]

Java代码的字节码可以通过 javap 命令生成

JVM的指令通用格式为：

  [ [...]] []

可以认为，方法的JVM字节码存放在一个Code[]数组中，
•	就是该数组中存放的操作码的索引，
•	是操...]]></description><category></category></item><item><title><![CDATA[JVM摘要--指令集介绍01]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84081775</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84081775</guid><author>realRyu</author><pubDate>Mon, 14 Nov 2011 10:39:40 +0800</pubDate><description><![CDATA[    一个JVM的指令包含了1个字节的操作码，该操作码用来表示要操作的动作，然后是0个或多个表示操作码的操作对象：参数或者其他数据。许多指令都没有操作数，而只有一个操作码。
    不考虑异常的损耗，JVM解释器的内循环是很有效率的：
	do{
		atomically calculate pc and fetch opcode at pc;
                If (op...]]></description><category></category></item><item><title><![CDATA[JVM摘要--Frames]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84079509</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84079509</guid><author>realRyu</author><pubDate>Wed, 09 Nov 2011 16:08:43 +0800</pubDate><description><![CDATA[[b]Frames (帧)[/b]
[b]帧[/b]是用来存储数据和部分结果(Partial results)的,同时，也用与动态链接，方法的返回值并分发异常等。
当一个方法被调用时，就会创建一个新的帧（即方法和帧是紧密关联的）。当方法调用结束后（包括正常结束或异常退出，比如抛出一个未被捕捉的异常）,帧会被销毁。帧是从JVM的栈里得到内存空间的。每一个帧都有它们自己的局域变量数组(Array ...]]></description><category></category></item><item><title><![CDATA[JVM摘要--Heap和Method Area]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84079457</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84079457</guid><author>realRyu</author><pubDate>Wed, 09 Nov 2011 15:08:23 +0800</pubDate><description><![CDATA[[b]Heap(堆)[/b]
所有的JVM线程共享一个Heap。 Heap中存放的是所有类的instances和数组。Heap在VM启动时就创建了，堆中的存储空间是由一个自动空间管理系统（也称之为垃圾回收器）来负责回收的；对象从不明确的被释放（Objects are never explicitly deallocated.）,JVM没有强调用何种垃圾回收技术。堆的尺寸也可以是固定或者动态增减的...]]></description><category></category></item><item><title><![CDATA[JVM摘要--PC Registers 和 JVM Stacks]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84079399</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84079399</guid><author>realRyu</author><pubDate>Wed, 09 Nov 2011 14:30:04 +0800</pubDate><description><![CDATA[[b]1.PC Register（Program Counter Register）;[/b]
即程序计数器寄存器
JVM支持同一时间同时运行多个线程,每一个线程都有它们自己的pc register。在同一个时刻，JVM的线程只能运行一个单独方法中的代码，此方法称为该线程的当前方法(Current Method)。 如果这个当前方法不是native的，PC register就指向正在被执行的J...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记----Long型不能随便乱用]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84079385</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84079385</guid><author>realRyu</author><pubDate>Wed, 09 Nov 2011 14:17:29 +0800</pubDate><description><![CDATA[今天在Oracle上新建了一个表，把key的长度设置为了long，后来想把另一个列的type也设置为long,发现oracle报错，网上goo了一把，发现Oracle中Long是不能随便乱用的...它并不是表示长整形，而是“Character data of variable length (A bigger version the VARCHAR2 datatype)”最大可以到2G，难怪一张表...]]></description><category></category></item><item><title><![CDATA[JVM摘要--JVM的结构--01]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84078625</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84078625</guid><author>realRyu</author><pubDate>Tue, 08 Nov 2011 14:53:17 +0800</pubDate><description><![CDATA[[color=brown]【题外话】最近在坛子上看到了一篇介绍JVM的牛文，其中提到了一本书《The Java™ Virtual Machine Specification》，由于是英文的，啃起来颇为费劲，所以写一点摘要以免忘记...
写的很零散，主要是给自己看的，望海涵[/color]

JVM可以执行的编译后的JAVA代码是与硬件和操作系统无关的二进制文件；一般都存在一个文件当中，即.c...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记----group by, having等语句的执行顺序]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84078551</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84078551</guid><author>realRyu</author><pubDate>Tue, 08 Nov 2011 13:06:12 +0800</pubDate><description><![CDATA[
select xxx_name, count(*) as counter
from table_y
where [i]where_condition[/i]
group by xxx_name
having [i]having_condition[/i]
order by [i]zzz[/i]

当我们看到一个类似上述的包含了where, group by, having， or...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记----数值处理的一些函数--单值运算]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84077722</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84077722</guid><author>realRyu</author><pubDate>Mon, 07 Nov 2011 13:04:22 +0800</pubDate><description><![CDATA[Oracle在数值处理方面有诸多强大的函数，但很多在通常情况下我都很少会想起来使用，所以记在这里 :oops: 
 
  Oracle的函数会处理三类数值：单值，值组(Groups of Value), 值列表；
  
  其函数表示法为[color=blue]FUNCTION(value, [,option])[/color]
  
  下面针对三类数值的函数分别介绍：

   ...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记----字符串的七七八八]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84059932</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84059932</guid><author>realRyu</author><pubDate>Fri, 04 Nov 2011 16:20:42 +0800</pubDate><description><![CDATA[oracle有两种字符串类型：Char 和Varchar2(其实还有Varchar，但也许Oracle在今后会有一些变化，所以为了安全起见，还是使用Varchar2)
   其中Char是定长的，如果设置了小于Char长度的字符串，Oracle会用空格填充为等长的串，而且在比较CHAR时，也会有空格填充的问题，比如两个CHAR串“ComiCoder”和“ComiCoder ”被认为是一样的。
...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记----对象关系型数据库基础-02]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84059826</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84059826</guid><author>realRyu</author><pubDate>Fri, 04 Nov 2011 15:03:40 +0800</pubDate><description><![CDATA[继续上文

当我们利用自定义的抽象类型创建出一个表之后应该怎么插入数据，如何查看其内容？
首先，我们要利用racle提供的构造器方法（Constructor Method）来向数据库中插入抽象类型的数据，比如：

     [color=green]insert into CUSTOMER values 
     (1, PERSON_TY('ComiCoder', ADDRESS_...]]></description><category></category></item><item><title><![CDATA[Oracle学习笔记----对象关系型数据库基础-01]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84059808</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84059808</guid><author>realRyu</author><pubDate>Fri, 04 Nov 2011 14:37:03 +0800</pubDate><description><![CDATA[[i][color=brown]【题外话】我不是很喜欢好几天都看一本书，而更习惯于tick-by-tick式的轮巡方式来慢慢的读好几本书的方式，所以，这两天又开始读Oracle的书啦(当然，代码大全和MySQL的学习笔记还是会继续的)，哈哈；Oracle之前的项目虽然有接触，但都被Hibernate堵在后面了，没怎么深入了解过，所以还是希望认识它多一点...[/color][/i]

[本文参...]]></description><category></category></item><item><title><![CDATA[代码大全读后杂记-04 错误处理技术]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84057539</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84057539</guid><author>realRyu</author><pubDate>Tue, 01 Nov 2011 15:28:39 +0800</pubDate><description><![CDATA[[size=small][color=brown]【题外话】 今天下午在公司犯困打盹的间隔，看到了同学开的公司现在已经红红火火，难免有些惆怅，虽然我知道不应太在意外在的物质，但对个人价值的体现或梦想的追逐与实现还是非常佩服的。虽然我大概走不出一条所谓创业的路，但自己的梦想依旧需要在现实中用汗水和努力去赢取，留下此言以示激励，也愿上帝能够加添给我力量，让我勇往直前:)[/color][/size]...]]></description><category></category></item><item><title><![CDATA[JVM垃圾回收器的工作机制 （转载）]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84056881</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84056881</guid><author>realRyu</author><pubDate>Mon, 31 Oct 2011 15:56:46 +0800</pubDate><description><![CDATA[
1、  在堆上分配对象的代价十分高昂，然而java的垃圾回收机制可以和其他语言从堆栈上分配空间的速度想媲美，但是，释放对上的存储空间也有开销；

2、  当它工作的时候，将一面回收空间，一面使堆中的对象紧凑排列。这样就尽量避免了页面错误。通过垃圾回收器对对象重新排列，实现了一种高速的、有限空间可供分配的堆模型；

3、  其他系统的垃圾回收机制：

a、  引用计数是一种简单但速度...]]></description><category></category></item><item><title><![CDATA[代码大全读后杂记-03 子程序之提高内聚性、好名字、别乱用参数]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84054976</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84054976</guid><author>realRyu</author><pubDate>Thu, 27 Oct 2011 16:27:07 +0800</pubDate><description><![CDATA[[color=olive][b]【题外话】[/b]蟑螂竟然也可以入药...名曰蠊虫...好吧，希望大家身体健康，别遇到吃小强的那天！[/color]:evil: 

[color=darkred][size=medium]内聚[/size][/color]
“子程序的内聚，是指子程序中各操作之间联系的紧密程度”，Steve如是说；
对于子程序来说，内聚性主要有以下几个层次：
[b][i]...]]></description><category></category></item><item><title><![CDATA[代码大全读后杂记-02 为啥创建子程序（方法，函数）]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84054894</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84054894</guid><author>realRyu</author><pubDate>Thu, 27 Oct 2011 15:03:22 +0800</pubDate><description><![CDATA[人类是世界上最勤快的物种，人类也是世界上最懒的物种；当然，人类大多数的勤快的创造是为了让自己有机会懒。

为了耕种的方便，少留两滴汗多长两斤肉，发明了先进的机器；为了通讯的方便，少跑两里路，少死两只鸽子，发明了电报电话手机；为了节省程序员的脑细胞，发明了子程序！

[i][color=olive]PS：代码大全中的子程序(routine)就是C++中的函数(function)，Java中的...]]></description><category></category></item><item><title><![CDATA[代码大全读后杂记-01]]></title><link>https://blog.youkuaiyun.com/realRyu/article/details/84054839</link><guid>https://blog.youkuaiyun.com/realRyu/article/details/84054839</guid><author>realRyu</author><pubDate>Thu, 27 Oct 2011 14:09:45 +0800</pubDate><description><![CDATA[代码大全真是一本[b][color=red][size=large]厚[/size][/color][/b]书！但作者牛就就在写着么厚的书，却让你不觉得内容空虚（不像很多国内的混书水不拉吉），至少我看到第六章依旧觉得兴趣盎然，很多东西虽然似曾相识，但被作者巧妙的组织在一起让人有醍醐灌顶的感觉，妙哉；
因为本人奔三在即，记忆衰减严重，所以不再过目不忘（自然从来没有过该本事...），就借ItEye（...]]></description><category></category></item></channel></rss>