![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
huahua168168357
这个作者很懒,什么都没留下…
展开
-
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 · 571 阅读 · 0 评论 -
for-each循环优先于传统的for循环
对于遍历数组或者集合的元素来说,一般我们都会想到用传统的for循环,要么使用数组下标进行索引,要么使用集合的迭代器进行遍历,迭代器和索引变量在每个循环中出现三次,其中有两次是非常容易出现错误的,一旦出现错误,有可能编译器不能发现错误。在java1.5中发行版本中引入的for-each循环,其中隐藏了迭代器或者索引变量,避免混乱和出错的可能。看看下面的例子就很容出现错误://花色public enu原创 2016-09-30 22:11:34 · 1735 阅读 · 0 评论 -
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 · 1060 阅读 · 0 评论 -
接口与工厂(设计模式)
接口是实现多重继承的途径,而生成遵循某个接口对象的经典方式就是工厂方法设计模式。这种方式与直接调用构造函数的不同,我们在工厂对象调用的是创建方法,该工厂的方法将生成接口的某个实现类的对象。理论上,通过这种方式,我们的代码将完全与接口的实现分离,这就使得我们可以透明地将某个实现替换为另一个实现。下面我们来看看代码public interface Service { void method1()原创 2016-07-08 16:40:04 · 444 阅读 · 0 评论 -
java类的初始化
类似”int x=123”与”static int x=123”这样的变量的定义在java中是非常常见的,但是虚拟机对这两种变量的复制的方式和时刻都是有所不同的对于非static类型的变量(也就是实例变量)的赋值是在实例构造器中< init >中进行的;而对于类变量(即static类型的变量),有两种方式可以选择:在类构造器< clinit >方法或者使用ConstantValue属性。目前Sun原创 2016-04-28 20:42:08 · 302 阅读 · 0 评论 -
线程死锁
我们知道线程长时间停顿的主要原因有:等待外部资源(数据库连接、网络资源、设备资源等)、死循环、锁等待(死锁和活锁)。现在写一个线程死锁的小Demo,就我自己的理解就是:线程t1先锁定一个对象A,再锁定对象B。而线程t2先锁定对象B,再锁定对象A。当线程t1先执行时,并没有释放锁对象B,但是线程t2要锁定对象B(线程t1并没有释放锁),同理,要是线程t2先执行,并没有释放锁对象A,但是线程t1要锁定对原创 2016-04-22 21:01:04 · 785 阅读 · 0 评论 -
java的多态性
学了还蛮久的java,一直知道其具备面向对象的三个基本特征:继承、封装和多态。但是一直没怎么明白多态性。今天看了书,大概总结一下(感觉不是很全面)。java中多态性分为动态多态性和静态多态性。静态多态性就是指方法的重载,是一个类的行为。动态多态性是指方法的重写,即多态是指在有继承关系的两个或两个以上的类的行为。下面是一个重写的小Demopublic class DynamicTest { st原创 2016-04-25 21:54:17 · 305 阅读 · 0 评论 -
用HttpURLConnection即时访问网络图片的小Demo
今天写了一个用HttpURLConnection即时访问网络图片的小Demo,是拿了一本比较久的参考书,直接照着代码敲的,但是出现了各种问题。 书本的源代码如下:String picStr="http://www.shixiu.net/d/file/p/2bc22002a6a61a7c5694e7e641bf1e6e.jpg";/*MainActivity onCreate()*/原创 2015-12-26 16:01:47 · 445 阅读 · 0 评论 -
简化的RxJava
现在将上面的一个Demo进行简化,文章的大部分的出处还是来自这篇博客,详细可以看这篇博客http://blog.csdn.net/lzyzsd/article/details/41833541然而仅仅打印一个字符串还要那么啰嗦?上面的代码主要为了展示RxJava背后的原理而采用的写法,RxJava其实提供很多便捷的函数来帮助我们减少代码。首先先简化Observable,因为上面的代码只是发出一个字符转载 2015-12-17 11:54:17 · 415 阅读 · 0 评论 -
RxJava的map操作符
还是上面的例子,我们想在输出“John”的后面加一个字符串后缀“后缀”,我们很容易想到在Observable中修改输出的字符串Observable.just("John"+"后缀").subscribe(new Action1<String>() { @Override public void call(String s) {转载 2015-12-17 19:55:50 · 467 阅读 · 0 评论 -
用RxJava写的一个Android的小Demo
之前在微博看到有关RxJava的内容,知道在Android开发中变得越来越流行了,所以找了相关的博客来看看。其实有初略地看了一点,但是感觉比较难理解,还是先写一个小Demo来熟悉一下。关于RxJava的有关介绍可以看看这个博客http://blog.csdn.net/lzyzsd/article/details/41833541下面是我摘录的一些有关于RxJava的介绍:RxJava最核心的两个东西原创 2015-12-16 22:34:55 · 3718 阅读 · 0 评论 -
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 · 442 阅读 · 0 评论