<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Me]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/liguoying521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liguoying521]]></copyright><item><title><![CDATA[Java虚拟机内存管理]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84626282</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84626282</guid><author>liguoying521</author><pubDate>Sun, 17 Aug 2014 11:42:41 +0800</pubDate><description><![CDATA[
 
java虚拟机内存管理机制（一）
 
java虚拟机内存管理机制（二）
 
java虚拟机内存管理机制（三）
 
java虚拟机内存模型
]]></description><category></category></item><item><title><![CDATA[对象的引用]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84626150</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84626150</guid><author>liguoying521</author><pubDate>Sat, 16 Aug 2014 15:28:44 +0800</pubDate><description><![CDATA[
一、概念
    对大部分对象而言，程序里会有一个引用变量引用该对象，这是最常见的引用方式。除此之外，java.lang.ref包下提供了3个类：SoftReference、WeakReference、PhantomReference，它们分别代表了系统对对象的3种引用方式：软引用、弱引用、虚引用。因此java语言对对象的引用有如下4种方式：
1、强引用（StrongReference）...]]></description><category></category></item><item><title><![CDATA[对象与垃圾回收]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84626116</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84626116</guid><author>liguoying521</author><pubDate>Sat, 16 Aug 2014 11:25:42 +0800</pubDate><description><![CDATA[
/*
程序1
*/
package org.lgy.study.gc;

public class GcTest{
	public static void main(String[] args){
		for(int i = 0; i &amp;lt; 4; i++){
			new GcTest();
		}
	}
	
	public void finalize() thro...]]></description><category></category></item><item><title><![CDATA[枚举类：包含抽象方法的枚举类]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84626060</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84626060</guid><author>liguoying521</author><pubDate>Fri, 15 Aug 2014 22:12:11 +0800</pubDate><description><![CDATA[
package org.lgy.study.enumstudy;

public enum Operation{
	PLUS,MINUS,MULTI,DIVIDE;
	
	public double eval(double a, double b){
		switch(this)
		{
			case PLUS:
				return a + b;
				//因为前面有...]]></description><category></category></item><item><title><![CDATA[枚举类：实现接口的枚举类]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84626049</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84626049</guid><author>liguoying521</author><pubDate>Fri, 15 Aug 2014 21:10:14 +0800</pubDate><description><![CDATA[
package org.lgy.study.enumstudy;

public interface GenderDesc{
	void info();
}
 
package org.lgy.study.enumstudy;

/*
枚举类也可以实现一个或多个接口，与普通类实现一个或多个接口完全一样。
枚举类实现一个或多个接口时，也需要实现该接口所包含的方法。
*/
...]]></description><category></category></item><item><title><![CDATA[枚举类：枚举类的Field、方法、构造器]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625999</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625999</guid><author>liguoying521</author><pubDate>Fri, 15 Aug 2014 17:05:27 +0800</pubDate><description><![CDATA[
package org.lgy.study.enumstudy;

public enum SeasonEnum{
	//枚举类通过如下方式调用构造器
	SPRING(&quot;春天&quot;, 3),SUMMER(&quot;夏天&quot;, 6),FALL(&quot;秋天&quot;, 9),WINTER(&quot;冬天&quot;, 12);
	
	//枚举类的实例是在该类的第一行显式指定的，但依然可以定义构造器，只是构造器被强制为private...]]></description><category></category></item><item><title><![CDATA[枚举类：枚举类入门]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625802</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625802</guid><author>liguoying521</author><pubDate>Fri, 15 Aug 2014 09:42:39 +0800</pubDate><description><![CDATA[
package org.lgy.study.enumstudy;

/*
枚举类是一种特殊的类，它一样可以有自己的Field、方法，可以定义自己的构造器，可以实现一个或多个接口。
一个java源文件中只能定义一个public访问权限的枚举类，且该java源文件也必须和该枚举类的类名相同。

使用enum定义的枚举类默认继承了java.lang.Enum类，而不是继承Object类。其...]]></description><category></category></item><item><title><![CDATA[内部类：匿名内部类]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625781</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625781</guid><author>liguoying521</author><pubDate>Fri, 15 Aug 2014 07:50:16 +0800</pubDate><description><![CDATA[
package org.lgy.study.innerclass;

public class AnonymousTest{
	public void test(Product p){
		System.out.println(&quot;p.name = &quot; + p.getName() + &quot;  p.price = &quot; + p.getPrice());
	}
	
	public stat...]]></description><category></category></item><item><title><![CDATA[内部类：局部内部类]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625698</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625698</guid><author>liguoying521</author><pubDate>Thu, 14 Aug 2014 20:04:05 +0800</pubDate><description><![CDATA[
package org.lgy.study.innerclass;

public class LocalInnerClass{
	public static void main(String[] args){
                 //如果需要在局部内部类中访问所在方法的局部变量，则必须将局部变量声明为final
                 final int x...]]></description><category></category></item><item><title><![CDATA[内部类：内部类的继承]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625684</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625684</guid><author>liguoying521</author><pubDate>Thu, 14 Aug 2014 18:25:46 +0800</pubDate><description><![CDATA[
一、父类和子类在同一个外部类中
package org.lgy.study.innerclass;

public class InnerClassInheritance{
	
	//如果父类是静态的，则子类既可以是静态的也可以是非静态的；
	//如果父类是非静态的，则子类只能是非静态的。
	public static class InBase{
		public InBase...]]></description><category></category></item><item><title><![CDATA[内部类：使用内部类]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625619</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625619</guid><author>liguoying521</author><pubDate>Thu, 14 Aug 2014 16:20:58 +0800</pubDate><description><![CDATA[
一、在外部类内部使用内部类
对于非静态内部类，不能在外部类的静态成员（静态方法、静态初始化块）中使用。
对于静态内部类，可以在任何成员（静态方法、实例方法、静态初始化块、普通初始化块）中使用。
 
二、在外部类以外使用非静态内部类
如果希望在外部类以外的地方访问内部类，则内部类不能使用private访问权限控制，private修饰的内部类只能在外部类内部使用。对于使用其他访问控制符修...]]></description><category></category></item><item><title><![CDATA[内部类：静态内部类]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625544</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625544</guid><author>liguoying521</author><pubDate>Thu, 14 Aug 2014 13:43:44 +0800</pubDate><description><![CDATA[
package org.lgy.study.innerclass;

/*
静态内部类属于外部类本身，而不属于外部类的对象。
使用静态内部类时无需创建外部类的对象。
*/
public class StaticInnerClass{
	private String str1 = &quot;non static str1 in outer&quot;;
	private static String...]]></description><category></category></item><item><title><![CDATA[内部类：非静态内部类]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84625543</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84625543</guid><author>liguoying521</author><pubDate>Thu, 14 Aug 2014 13:41:50 +0800</pubDate><description><![CDATA[
package org.lgy.study.innerclass;

/*
非静态内部类是属于外部类对象的，而不是属于外部类。
如果想要使用非静态内部类，必须先创建一个外部类对象。
非静态内部类对象必须寄存在外部类对象里；而外部类对象不一定有内部类对象寄存其中。
如果存在一个非静态内部类对象，则一定存在一个被他寄存的外部类对象；但外部类对象存在时，它里面不一定寄存了内部类对象。
...]]></description><category></category></item><item><title><![CDATA[包：命令行如何编译带包结构的源文件？]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84624828</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84624828</guid><author>liguoying521</author><pubDate>Tue, 12 Aug 2014 11:02:07 +0800</pubDate><description><![CDATA[
目录结构如下：
 
                           |---classes(存放包和类文件)
z:\ ---- Study----- |
                           |---src（存放源文件）
  
源文件：
package org.lgy.study.interfacestudy;

public interface Out...]]></description><category></category></item><item><title><![CDATA[多态：成员变量和成员方法的多态性]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84623940</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84623940</guid><author>liguoying521</author><pubDate>Sat, 09 Aug 2014 10:09:49 +0800</pubDate><description><![CDATA[
1、成员方法的多态性
public class Polymorphism{
	public static void main(String[] agrs){
		BasePolymorphism b = new SubPolymorphism();
		b.method1();
	}
}

class BasePolymorphism{
	public BasePolymor...]]></description><category></category></item><item><title><![CDATA[继承：成员变量的覆盖]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84623876</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84623876</guid><author>liguoying521</author><pubDate>Fri, 08 Aug 2014 21:25:16 +0800</pubDate><description><![CDATA[
只要子类中的成员变量和父类中的成员变量同名，子类中的该成员变量就会覆盖掉父类中的同名成员变量。
 
无论这2个成员变量的访问权限是否相同、static修饰符是否相同、变量的类型是否相同，只要它们的变量名相同，子类中的成员变量就会覆盖掉父类中的同名成员变量。
...]]></description><category></category></item><item><title><![CDATA[继承：成员方法的覆盖]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84623873</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84623873</guid><author>liguoying521</author><pubDate>Fri, 08 Aug 2014 20:59:43 +0800</pubDate><description><![CDATA[
一、方法覆盖（Override）的原则：3同2小1大
3同：
1、同为类方法或同为实例方法
2、方法名相同
3、形参列表相同
2小：
1、子类方法的返回值类型应比父类方法的返回值类型更小或相等
2、子类方法声明抛出的异常应比父类方法声明抛出的异常更小或相等
1大：
子类方法的访问权限应比父类方法的访问权限更大或相等
 
二、简单分析
如果系统检测到子类的两个方法的方法名...]]></description><category></category></item><item><title><![CDATA[继承：子类可以继承父类的私有成员变量吗？？]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84623766</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84623766</guid><author>liguoying521</author><pubDate>Fri, 08 Aug 2014 15:04:18 +0800</pubDate><description><![CDATA[
1、关于私有成员变量
无论父类中的成员变量是私有的、共有的、还是其它类型的，子类都会拥有父类中的这些成员变量。但是父类中的私有成员变量，无法在子类中直接访问，必须通过从父类中继承得到的protected、public方法（如getter、setter方法）来访问。
 
2、关于静态成员变量
无论父类中的成员变量是静态的、还是非静态的，子类都会拥有父类中的这些成员变量。
 
3、关于被...]]></description><category></category></item><item><title><![CDATA[（静态）初始化块、（类）成员变量、构造函数的初始化顺序]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84623502</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84623502</guid><author>liguoying521</author><pubDate>Thu, 07 Aug 2014 17:49:34 +0800</pubDate><description><![CDATA[
本文转自此处
源代码：
public class Teststaticblock 
{ 
	public Teststaticblock() 
	{ 
  		this(&quot;second&quot;); 
  		System.out.println(&quot;begin constructor&quot;); 
  		System.out.println(s_a); //111
  		System....]]></description><category></category></item><item><title><![CDATA[Git教程]]></title><link>https://blog.youkuaiyun.com/liguoying521/article/details/84607712</link><guid>https://blog.youkuaiyun.com/liguoying521/article/details/84607712</guid><author>liguoying521</author><pubDate>Wed, 18 Jun 2014 11:07:28 +0800</pubDate><description><![CDATA[
Git详解之一 Git起步
1、关于版本控制
1.1  本地版本控制系统
1.2  集中化的版本控制系统
1.3  分布式版本控制系统
2、Git简史
3、Git基础
3.1  直接记录快照，而非差异比较
3.2  近乎所有操作都是本地执行
3.3  时刻保持数据完整性
3.4  多数操作仅添加数据
3.5  文件的三种状态
4、Git安装
4.1  从源码安装
4...]]></description><category></category></item></channel></rss>