<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FromMeToMyself的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FromMeToMyself</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FromMeToMyself]]></copyright><item><title><![CDATA[抽象工厂模式]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51253483</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51253483</guid><author>FromMeToMyself</author><pubDate>Tue, 26 Apr 2016 20:00:08 +0800</pubDate><description><![CDATA[抽象工厂模式：

提供一个创建一系列相关或相互依赖对象的接口，而无需指定他们的具体类


如有AbstractProductA和AbstractProductB是两个抽象产品，我们提供一个接口作为抽象工长，该工厂提供两个抽
象方法分别生产这两种产品
如果ProductA1和ProductB1为两个抽象产品的具体实现，现在我们需要这两种具体的产品的对象，则可以写一个具
体的工厂Fac]]></description><category></category></item><item><title><![CDATA[栈的逆序和递归]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51059433</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51059433</guid><author>FromMeToMyself</author><pubDate>Mon, 04 Apr 2016 23:13:23 +0800</pubDate><description><![CDATA[一个栈依次压入1、2、3、4、5，那么从栈顶到栈底分别为5、4、3、2、1。将这个栈转置后，从栈顶到栈底围1、2、3、4、5，也就是实现栈中元素的逆序，但是只能用递归函数实现，不能用其他数据结构。
import java.util.Stack;

public class Main {

	public static void reverse(Stack stack) {
		if (stack]]></description><category></category></item><item><title><![CDATA[利用两个栈组成一个队列]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51058137</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51058137</guid><author>FromMeToMyself</author><pubDate>Mon, 04 Apr 2016 19:58:27 +0800</pubDate><description><![CDATA[编写一个类，用两个栈组成一个队列，支持队列的基本操作（add、poll、peek）
import java.util.Stack;

public class Main {
	public static void main(String[] args) {
		TwoStackQueue queue = new TwoStackQueue();
		queue.add(1);
		queue.a]]></description><category></category></item><item><title><![CDATA[关于类加载的一道面试题]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51055325</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51055325</guid><author>FromMeToMyself</author><pubDate>Mon, 04 Apr 2016 09:48:36 +0800</pubDate><description><![CDATA[class Singleton{
private static Singleton singleton = new Singleton();
public static int counter1 ;
public static int counter2 = 0;
private Singleton(){
counter1++;
counter2++;
}


public st]]></description><category></category></item><item><title><![CDATA[JVM垃圾回收之引用计数法]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51051009</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/51051009</guid><author>FromMeToMyself</author><pubDate>Sun, 03 Apr 2016 17:02:35 +0800</pubDate><description><![CDATA[引用计数法：给对象添加一个引用计数器，每当有一个地方引用它时，计数器值就加1，当引用失效时，计数器值就减1；任何时刻计数器为0的对象就是不可能再被使用的。


引用计数法的实现简单，判定效率也很高，在大部分情况下它都是一个不错的算法，也有一些比较著名的案例，但是，至少主流的Java虚拟机里面没有选用引用计数算法来进行内


存管理，其中最主要的原因是它很难解决对象之间的相互循环引用的问]]></description><category></category></item><item><title><![CDATA[多线程的异常处理]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50451196</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50451196</guid><author>FromMeToMyself</author><pubDate>Sun, 03 Jan 2016 15:33:07 +0800</pubDate><description><![CDATA[本文摘自：Java并发编程从入门到精通（张振华     著）
在并发编程中，run( )方法不允许thorw exception，所有的异常必须在run方法内进行处理。
在java多线程程序中，所有的线程都不允许抛出未捕获的checked exception，也就是说各个线程需要自己把自己的checked exception处理掉。这一点是通过java.lang.Runnable.run( )]]></description><category></category></item><item><title><![CDATA[system.err.println和system.out.println的区别]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50418722</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50418722</guid><author>FromMeToMyself</author><pubDate>Mon, 28 Dec 2015 14:18:47 +0800</pubDate><description><![CDATA[两者都是输出流，没有本质区别，err是运行期异常和错误反馈的输出流的方向。
区别在于：
(1)System.out.println 能重定向到别的输出流，这样的话你在屏幕上将看不到打印的东西了,如输出到一个txt的log日志中.(2)而System.err.println只能在屏幕上实现打印，即使你重定向了也一样。另外，System.err.println在Eclipse的控制台上输出的字体是]]></description><category></category></item><item><title><![CDATA[Java泛型方法]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50417891</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50417891</guid><author>FromMeToMyself</author><pubDate>Mon, 28 Dec 2015 11:38:52 +0800</pubDate><description><![CDATA[本文转自：http://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html

泛型是什么意思在这就不多说了，而Java中泛型类的定义也比较简单，例如：public class Test{}。这样就定义了一个泛型类Test，在实例化该类时，必须指明泛型T的具体类型，例如：Test t = new Test();，指明泛型T的类型为O]]></description><category></category></item><item><title><![CDATA[Java多线程中异常的处理UncaughtExceptionHandler]]></title><link>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50413652</link><guid>https://blog.youkuaiyun.com/FromMeToMyself/article/details/50413652</guid><author>FromMeToMyself</author><pubDate>Sun, 27 Dec 2015 19:27:38 +0800</pubDate><description><![CDATA[﻿﻿
本文转自：http://peirenlei.iteye.com/blog/305079
Thread的run方法是不抛出任何检查型异常(checked exception)的,但是它自身却可能因为一个异常而被终止，导致这个线程的终结。最麻烦的是，在线程中抛出的异常即使使用try...catch也无法截获，因此可能导致一些问题出现，比如异常的时候无法回收一些系统资源，或者没有关闭当前的连接]]></description><category></category></item></channel></rss>