<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[I'm Sure]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/surealin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; surealin]]></copyright><item><title><![CDATA[对比onSaveInstanceState和onRestoreInstanceState]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84718578</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84718578</guid><author>surealin</author><pubDate>Fri, 15 May 2015 00:11:16 +0800</pubDate><description><![CDATA[转自[url]http://hellosure.github.io/android/2015/03/28/android-onsaveinstancestate/[/url]

先看Application Fundamentals上的一段话：

Android calls onSaveInstanceState() before the activity becomes vulnerabl...]]></description><category></category></item><item><title><![CDATA[Java中的语法糖]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84718576</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84718576</guid><author>surealin</author><pubDate>Fri, 15 May 2015 00:09:42 +0800</pubDate><description><![CDATA[转自[url]http://hellosure.github.io/java/2014/09/10/java-sugar/[/url]

语法糖
语法糖方便了程序员的开发，提高了开发效率，提升了语法的严谨也减少了编码出错误的几率。我们不仅仅在平时的编码中依赖语法糖，更要看清语法糖背后程序代码的真实结构，这样才能更好的利用它们。。

泛型
与C#中的泛型相比，Java的泛型可以算是“伪泛...]]></description><category></category></item><item><title><![CDATA[简明Python教程笔记]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84718575</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84718575</guid><author>surealin</author><pubDate>Thu, 14 May 2015 23:59:37 +0800</pubDate><description><![CDATA[转自[url]http://hellosure.github.io/python/2014/11/11/python/[/url]

Bruce Eckel著名的《Thinking in Java》和《Thinking in C++》的作者。他说没有一种语言比得上Python使他的工作效率如此之高。同时他说Python可能是唯一一种旨在帮助程序员把事情弄得更加简单的语言。

看了之后发现s...]]></description><category></category></item><item><title><![CDATA[Rails与Node.js/PHP/Python等对比]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84718573</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84718573</guid><author>surealin</author><pubDate>Thu, 14 May 2015 23:51:35 +0800</pubDate><description><![CDATA[转自[url]http://hellosure.github.io/rails/2015/04/01/rails-and-other/[/url]

首先，这不是一个比较贴，语言和框架能比较吗？

其次，我也没有全部用过

本文唯一的目的在于提醒自己(还有正在浏览的你)真正所需要关注的究竟是什么

PHP
PHP是simple but dirty的语言，simple是指学习曲线低...]]></description><category></category></item><item><title><![CDATA[Github Blog开通了欢迎访问]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84718309</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84718309</guid><author>surealin</author><pubDate>Thu, 14 May 2015 05:17:58 +0800</pubDate><description><![CDATA[[url]http://hellosure.github.io[/url]]]></description><category></category></item><item><title><![CDATA[关于继承的例子]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84085528</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84085528</guid><author>surealin</author><pubDate>Sat, 19 Nov 2011 15:13:20 +0800</pubDate><description><![CDATA[继承是再普通不过的概念，但是你真的能玩的转吗？
父类Person
[code=&quot;java&quot;]
public class Person {

	public void getName(){
		System.out.println(&quot;person name&quot;);
	}
	
	public void getPersonAge(){
		System.out.println(&quot;per...]]></description><category></category></item><item><title><![CDATA[Object类分析equals、hashcode、clone]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84084598</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84084598</guid><author>surealin</author><pubDate>Thu, 17 Nov 2011 21:57:38 +0800</pubDate><description><![CDATA[Object类中的equals：
[code=&quot;java&quot;]
public boolean equals(Object obj) {
	return (this == obj);
    }
[/code]
可见equals方法就是比较引用是不是相同，感觉挺没用的一个方法。
所以String类覆盖为：
[code=&quot;java&quot;]
public boolean equals(Obj...]]></description><category></category></item><item><title><![CDATA[成员变量的初始化]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84083589</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84083589</guid><author>surealin</author><pubDate>Wed, 16 Nov 2011 16:15:00 +0800</pubDate><description><![CDATA[Java会对成员变量进行自动初始化，并且在构造方法执行之前完成。
比如：
[code=&quot;java&quot;]
public class Finally {
	int a =1;
	Finally(){
		a =2;
	}

	public static void main(String[] args){
		Finally f = new Finally();
	}
}
[/c...]]></description><category></category></item><item><title><![CDATA[多线程常用方法比较汇总]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84083044</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84083044</guid><author>surealin</author><pubDate>Tue, 15 Nov 2011 23:07:35 +0800</pubDate><description><![CDATA[从操作系统的角度讲，os会维护一个ready queue（就绪的线程队列）。并且在某一时刻cpu只为ready queue中位于队列头部的线程服务。
但是[u]当前正在被服务的线程可能觉得cpu的服务质量不够好，于是提前退出，这就是yield。[/u]（这是yield的使用目的）
或者当前正在被服务的线程需要睡一会，醒来后继续被服务，这就是sleep。

sleep方法不推荐使用，可用wa...]]></description><category></category></item><item><title><![CDATA[关于java多线程的一篇不错的入门级文章]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84082278</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84082278</guid><author>surealin</author><pubDate>Mon, 14 Nov 2011 22:42:39 +0800</pubDate><description><![CDATA[虽然都是老生常谈，而且入门级，但是讲的很不错。

一、理解多线程

多线程是这样一种机制，它允许在程序中并发执行多个指令流，每个指令流都称为一个线程，彼此间互相独立。

线程又称为轻量级进程，它和进程一样拥有独立的执行控制，由操作系统负责调度，区别在于线程没有独立的存储空间，而是和所属进程中的其它线程共享一个存储空间，这使得线程间的通信远较进程简单。

多个线程的执行是并发的，也就...]]></description><category></category></item><item><title><![CDATA[多线程例子：yield]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84082224</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84082224</guid><author>surealin</author><pubDate>Mon, 14 Nov 2011 20:59:55 +0800</pubDate><description><![CDATA[[code=&quot;java&quot;]
public class Test {
	public static void main(String[] args) {
		Thread t1 = new MyThread1();
		Thread t2 = new Thread(new MyRunnable());

		t2.start();
		t1.start();
	}
}

cla...]]></description><category></category></item><item><title><![CDATA[处理器位数]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84081485</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84081485</guid><author>surealin</author><pubDate>Sun, 13 Nov 2011 14:56:34 +0800</pubDate><description><![CDATA[微处理器中的位数就是其一次所能处理的二进制数的位数。

寄存器中的位数、数据总线的位数是与处理器的位数一致的，它们一般来说是相等的，这是为什么呢？因为一般处理器中的算术逻辑单元（Arithmetic and Logic Unit）ALU是通过总线与寄存器相连的，微处理器中的位就决定了总线和寄存器的位数，所以可以从寄存器、数据总线的位数来看这个处理器的位数。

这里之所以不是控制总线和地址总...]]></description><category></category></item><item><title><![CDATA[用Eclipse插件Bytecode Outline来查看Java字节码]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84081342</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84081342</guid><author>surealin</author><pubDate>Sat, 12 Nov 2011 22:17:40 +0800</pubDate><description><![CDATA[在遇到一些小问题的时候我们经常会使用Javap反编译取得字节码来分析，虽然Javap能完成这个工作，但是有两个缺点，一方面操作麻烦，需要很多步骤，一方面没有文档注释，对新手来说看起字节码来比较麻烦。

     这里推荐一个工具，Bytecode Outline .它是Eclipse的插件，可以把当前的正在编辑Java的文件或者class文件直接显示出其相应的字节码出来，而且可以进行两个Jav...]]></description><category></category></item><item><title><![CDATA[String的valueOf方法传入null]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84081316</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84081316</guid><author>surealin</author><pubDate>Sat, 12 Nov 2011 20:42:49 +0800</pubDate><description><![CDATA[这个问题很有意思
[code=&quot;java&quot;]
Object obj = null;  
System.out.println(String.valueOf(obj));  
System.out.println(String.valueOf(null));
[/code]
第一句可以打印出null，但是第二句报空指针异常。

造成这种区别的原因在于两者选取了不同的重载方法。

...]]></description><category></category></item><item><title><![CDATA[多线程例子：join]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84079765</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84079765</guid><author>surealin</author><pubDate>Wed, 09 Nov 2011 23:06:05 +0800</pubDate><description><![CDATA[[code=&quot;java&quot;]
package sure;

import java.util.Random;

public class MultThread {  

	    public static void main(String[] args) {
	        System.out.println(&quot;in &quot; + Thread.currentThread().get...]]></description><category></category></item><item><title><![CDATA[多线程例子：wait与notify、sleep]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84079736</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84079736</guid><author>surealin</author><pubDate>Wed, 09 Nov 2011 22:15:57 +0800</pubDate><description><![CDATA[[code=&quot;java&quot;]
package sure;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class Test {

	private static Logger log = LoggerFactory.getLogger(Test.class);
	
    public s...]]></description><category></category></item><item><title><![CDATA[Windows查看端口]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84077684</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84077684</guid><author>surealin</author><pubDate>Mon, 07 Nov 2011 12:07:25 +0800</pubDate><description><![CDATA[在windows命令行窗口下执行：
1.查看所有的端口占用情况

C:\&gt;[b]netstat -ano[/b]

  协议    本地地址                     外部地址               状态                   PID

  TCP    127.0.0.1:1434         0.0.0.0:0              LI...]]></description><category></category></item><item><title><![CDATA[JAVA编程经验汇总]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/84060147</link><guid>https://blog.youkuaiyun.com/surealin/article/details/84060147</guid><author>surealin</author><pubDate>Fri, 04 Nov 2011 21:04:43 +0800</pubDate><description><![CDATA[都是一些小的点，不完整但是有意义

[b]JDK和JRE[/b]
大家肯定在安装JDK的时候会有选择是否安装单独的jre，一般都会一起安装，我也建议大家这样做。因为这样更能帮助大家弄清楚它们的区别：

Jre 是java runtime environment, 是java程序的运行环境。既然是运行，当然要包含jvm，也就是大家熟悉的虚拟机啦， 还有所有java类库的class文件，都在...]]></description><category></category></item><item><title><![CDATA[以ConcurrentHashMap为例小议并发集合类]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/83983562</link><guid>https://blog.youkuaiyun.com/surealin/article/details/83983562</guid><author>surealin</author><pubDate>Tue, 09 Aug 2011 22:15:33 +0800</pubDate><description><![CDATA[为了引出并发集合类ConcurrentHashMap，有必要先说说Hashtable和Collections.synchronizedMap。
这里先把结论拿出来，下面会仔细介绍：
[u]三者都是线程安全的，其中Hashtable和 Collections.synchronizedMap是同步的，由于使用map范围的锁因此可伸缩性较差。ConcurrentHashMap则利用一系列精妙的设计提...]]></description><category></category></item><item><title><![CDATA[聊一下Java代理那点事]]></title><link>https://blog.youkuaiyun.com/surealin/article/details/83982113</link><guid>https://blog.youkuaiyun.com/surealin/article/details/83982113</guid><author>surealin</author><pubDate>Sat, 06 Aug 2011 20:08:01 +0800</pubDate><description><![CDATA[[size=large][color=indigo][b]代理模式 [/b][/color][/size]

代理模式的作用是：为其他对象提供一种代理以控制对这个对象的访问。在某些情况下，一个客户不想或者不能直接引用另一个对象，而代理对象可以在客户端和目标对象之间起到中介的作用。 

代理模式一般涉及到的角色有：
[list]
[*]抽象角色：声明真实对象和代理对象的共同接口；
[*...]]></description><category></category></item></channel></rss>