自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

huahua168168357的博客

励志要当程序员

  • 博客(13)
  • 收藏
  • 关注

原创 Hashtable与HashMap的区别

先说说Hashtable,我们看到java api文档中介绍,其实现了java.util.Dictonary< K ,V >类如文档中介绍,Any non-null object can be used as a key or as a value,即不能将空对象放入Hashtable中Unlike the new collection implementations, Hashtable is s

2016-10-01 15:57:59 445

原创 for-each循环优先于传统的for循环

对于遍历数组或者集合的元素来说,一般我们都会想到用传统的for循环,要么使用数组下标进行索引,要么使用集合的迭代器进行遍历,迭代器和索引变量在每个循环中出现三次,其中有两次是非常容易出现错误的,一旦出现错误,有可能编译器不能发现错误。在java1.5中发行版本中引入的for-each循环,其中隐藏了迭代器或者索引变量,避免混乱和出错的可能。看看下面的例子就很容出现错误://花色public enu

2016-09-30 22:11:34 1735

原创 接口与工厂(设计模式)

接口是实现多重继承的途径,而生成遵循某个接口对象的经典方式就是工厂方法设计模式。这种方式与直接调用构造函数的不同,我们在工厂对象调用的是创建方法,该工厂的方法将生成接口的某个实现类的对象。理论上,通过这种方式,我们的代码将完全与接口的实现分离,这就使得我们可以透明地将某个实现替换为另一个实现。下面我们来看看代码public interface Service { void method1()

2016-07-08 16:40:04 444

原创 java类的初始化

类似”int x=123”与”static int x=123”这样的变量的定义在java中是非常常见的,但是虚拟机对这两种变量的复制的方式和时刻都是有所不同的对于非static类型的变量(也就是实例变量)的赋值是在实例构造器中< init >中进行的;而对于类变量(即static类型的变量),有两种方式可以选择:在类构造器< clinit >方法或者使用ConstantValue属性。目前Sun

2016-04-28 20:42:08 305

原创 Integer.valueOf(int i)与自动拆箱与装箱

查了一下Api,valueOf(int i),返回的是i值的Integer对象,Integer.valueOf()基于减少对象的创建次数和节省内存的考虑,[-128,127]之间的数字会被缓存,当valueOf()方法传入的参数在这个范围之内,将直接返回缓存中的对象。我们来看一下一个例子public static void main(String[] args) { Integer

2016-04-28 18:07:17 1062

原创 java的多态性

学了还蛮久的java,一直知道其具备面向对象的三个基本特征:继承、封装和多态。但是一直没怎么明白多态性。今天看了书,大概总结一下(感觉不是很全面)。java中多态性分为动态多态性和静态多态性。静态多态性就是指方法的重载,是一个类的行为。动态多态性是指方法的重写,即多态是指在有继承关系的两个或两个以上的类的行为。下面是一个重写的小Demopublic class DynamicTest { st

2016-04-25 21:54:17 305

原创 线程死锁

我们知道线程长时间停顿的主要原因有:等待外部资源(数据库连接、网络资源、设备资源等)、死循环、锁等待(死锁和活锁)。现在写一个线程死锁的小Demo,就我自己的理解就是:线程t1先锁定一个对象A,再锁定对象B。而线程t2先锁定对象B,再锁定对象A。当线程t1先执行时,并没有释放锁对象B,但是线程t2要锁定对象B(线程t1并没有释放锁),同理,要是线程t2先执行,并没有释放锁对象A,但是线程t1要锁定对

2016-04-22 21:01:04 789

原创 Android更新UI的四种方法

在布局文件中创建TextView,用TextView的更新为例子,总结其更新常用方法 第一种方法:使用Handler.post()方法更新UI Android不能再子线程中直接更新UI,必须使用Handler类进行更新。 在MainActivity的onCreate()方法中创建子线程textView= (TextView) findViewById(R.id.textView);handl

2015-12-29 15:14:40 572

原创 用HttpURLConnection即时访问网络图片的小Demo

今天写了一个用HttpURLConnection即时访问网络图片的小Demo,是拿了一本比较久的参考书,直接照着代码敲的,但是出现了各种问题。 书本的源代码如下:String picStr="http://www.shixiu.net/d/file/p/2bc22002a6a61a7c5694e7e641bf1e6e.jpg";/*MainActivity onCreate()*/

2015-12-26 16:01:47 446

转载 RxJava的map操作符

还是上面的例子,我们想在输出“John”的后面加一个字符串后缀“后缀”,我们很容易想到在Observable中修改输出的字符串Observable.just("John"+"后缀").subscribe(new Action1<String>() { @Override public void call(String s) {

2015-12-17 19:55:50 469

转载 简化的RxJava

现在将上面的一个Demo进行简化,文章的大部分的出处还是来自这篇博客,详细可以看这篇博客http://blog.csdn.net/lzyzsd/article/details/41833541然而仅仅打印一个字符串还要那么啰嗦?上面的代码主要为了展示RxJava背后的原理而采用的写法,RxJava其实提供很多便捷的函数来帮助我们减少代码。首先先简化Observable,因为上面的代码只是发出一个字符

2015-12-17 11:54:17 416

原创 用RxJava写的一个Android的小Demo

之前在微博看到有关RxJava的内容,知道在Android开发中变得越来越流行了,所以找了相关的博客来看看。其实有初略地看了一点,但是感觉比较难理解,还是先写一个小Demo来熟悉一下。关于RxJava的有关介绍可以看看这个博客http://blog.csdn.net/lzyzsd/article/details/41833541下面是我摘录的一些有关于RxJava的介绍:RxJava最核心的两个东西

2015-12-16 22:34:55 3719

转载 size_t与size_type的区别

1.就今天查到的资料知道size_t 与size_type的类型都是unsiged int的类型,至于为什么用这种类型,是因为为了使程序有更好的移植性,所以作为程序员应该尽量使用这种类型,而不是用unsigned int。2.size_t 是全局定义的类型,而size_type是STL中定义的类型属性,可以存放任意string和vector类对象的长度。3.使用的头文件不同

2015-07-26 23:09:00 504

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除