解决Ubuntu下Sublime text 3中文输入的问题

好久之前便听朋友说起Sublime Text这款软件很好用,终于这几天有空折腾,把软件给装起来了。用起来确实很不错,写代码很爽。
但是用了一段时间之后,我需要输入中文了,无论怎么切换输入法,都无法切换到中文。
网上搜索了一下,原来这是Bug。找解决方法吧。下面介绍我的解决方案,是大神cjacker解决成功的啦,我只是copy一下,方便大家在遇到这个问题的时候可以方便解决。


more >>

git使用技巧

这几天开始工作了,工作中使用了git进行项目管理,这才发现原来我以前所知道的git使用那只是一点皮毛。
写一些这几天用到的一些git技巧喽,以后有的话继续更新啦。

git status 查看当前的状态,那些文件修改了,那些文件创建还没有add的。


more >>

Android图像开源视图:SmartImageView

项目需要,开发中需要加载图片,自己要写图片从网上下载的方法,还要写缓存,等等。

在网上找到一个开源项目,smartImageVIew,支持从URL和通讯录中获取图像,可以替代Android标准的ImageView。

特征:

根据URL地址装载图像;
支持装载通讯录中的图像;
支持异步装载;
支持缓存;

这个是作者的项目主页,有使用方法。

http://loopj.com/android-smart-image-view/

下载作者的jar包导入项目后,在xml中加入控件

<com.loopj.android.image.SmartImageView android:id="@+id/my_image" />    

代码里找到该控件

SmartImageView myImage = (SmartImageView) this.findViewById(R.id.my_image); 

使用控件

通过url加载图片

myImage.setImageUrl("http://www.awesomeimages.com/myawesomeimage.jpg");   

加载通讯录的图片

myImage.setImageContact(contactAddressBookId);  

github上面有源码,需要的可以看看:

https://github.com/loopj/android-smart-image-view    

end

Java中HashMap和HashTable的区别

面试中遇到,但是不会,回来google到,分享下吧,据说是老掉牙的问题
HashMap 是Hashtable 的轻量级实现(非线程安全的实现),他们都完成了Map 接口,主要区别在于HashMap 允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap 允许将null 作为一个entry 的key 或者value,而Hashtable 不允许。

HashMap 把Hashtable 的contains 方法去掉了,改成containsvalue 和containsKey。因为contains方法容易让人引起误解。

Hashtable 继承自Dictionary 类,而HashMap 是Java1.2 引进的Map interface 的一个实现。

最大的不同是,Hashtable 的方法是Synchronize 的,而HashMap 不是,在多个线程访问Hashtable 时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

Hashtable 和HashMap 采用的hash/rehash 算法都大概一样,所以性能不会有很大的差异。


end

Java中Collection和Collections的区别

前几天去一个公司参加面试遇到这个问题,Java中Collection和Collections的区别,当时不会,回来从网上找到,现在记录一下。

1、java.util.Collection 是一个 集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack└Set

2、java.util.Collections 是一个包装类。它包含有各种有关集合操作的 静态多态方法。此类 不能实例化 ,就像一个 工具类,服务于Java的Collection框架。

import java.util.ArrayList;      
import java.util.Collections;      
import java.util.List;      
public class TestCollections {      
    public static void main(String args[]) {     
        //注意List是实现Collection接口的       
        List list = new ArrayList();      
        double array[] = { 112, 111, 23, 456, 231 };      
        for (int i = 0; i < array.length; i++) {      
            list.add(new Double(array[i]));      
        }      
        Collections.sort(list);      
        for (int i = 0; i < array.length; i++) {      
            System.out.println(list.get(i));      
        }      
        // 结果:23.0 111.0 112.0 231.0 456.0      
    }      
}

end

Linux下SVN的使用

今天在新浪sae上搭建了个人博客,新浪sae采用svn的方式进行代码管理,之前在windows下面做svn操作都是采用TortoiseSVN,今天正好开机到了linux下面,那么好吧,就用svn传我的wordpress到sae中去。

首先,安装svn。

sudo apt-get install subversion

ubuntu下面安装svn,就是这么简单。


more >>