纸上得来终觉浅,绝知此事要躬行
--陆游 问渠那得清如许,为有源头活水来 --朱熹
迭 代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。
在Collection集合中都会实现terator,因此可以通过iterator()函数获得一个iterator对象,然后就可...
分类:
编程语言 时间:
2015-08-27 09:38:26
阅读次数:
165
初始的java版本中定义了一个stop方法来终止一个线程还定义了一个suspend方法来阻塞一个线程,直到另一个线程调用resume方法。这两个方法在Java SE 1.2之后就被弃用了,因为这两种方法都不安全,下面我们分别来讨论一下为什么不安全和应该怎样做才是安全的。
一、stop方法为什么不安全
其实stop方法天生就不安全,因为它在终止一个线程时会强制中断线程的执行,不管...
分类:
编程语言 时间:
2015-08-27 09:38:01
阅读次数:
219
transient有“临时的”,"短暂的"含义,我们了解过Serializable,Java序列化,当对某些变量我们不想对它进行序列化的时候就可以将此变量设置为transient,transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。transient说明一个属性是临时的,不会被序列化。
public class TransientDemo implements...
分类:
编程语言 时间:
2015-08-27 09:37:20
阅读次数:
162
一面算法:
有一串类似右面的字符串,在字符串基础上调整,使*全部位于末尾,其他字符保持原来前后顺序,不能开辟新的空间,效率要高,String str=“dhdh*cbcb*xhx***dhdh*”。
思考半分钟,
“java中字符串是不可变的啊!”
“不可变?”
“是啊,不能修改”
“那你就当成stringbuilder”
无语。。。半分钟后,写了个时间复杂度n方级别的算法。。。
“两重循...
分类:
编程语言 时间:
2015-08-27 09:36:06
阅读次数:
156
纸上得来终觉浅,绝知此事要躬行
--陆游 问渠那得清如许,为有源头活水来 --朱熹
Enumeration(枚举)接口的作用和Iterator类似,只提供了遍历Vector和HashTable类型集合元素的功能,不支持元素的移除操作。
Java8中Enumeration接口的源码:
public interface EnumerationE> {/** ...
分类:
编程语言 时间:
2015-08-27 09:35:55
阅读次数:
143
之前我们讲过ReentrantLock,这种锁不区分读操作和写操作,如果有一个线程在执行读操作,那么其他的所有的线程不能进行任何的读操作或者写操作。这样可以保证程序的互斥性,但是降低了程序的并发性,使执行效率降低,没有有效的发挥多线程的优势。比如说,有一个系统,主要是以读操作为主,比如有10个线程负责读数据,只有一个线程负责写数据。如果用我们之前的ReentrantLock方法,这10个线程中没有...
分类:
编程语言 时间:
2015-08-27 09:35:41
阅读次数:
225
纸上得来终觉浅,绝知此事要躬行
--陆游 问渠那得清如许,为有源头活水来 --朱熹
clone和Copy:当有一个对象Person p1=new Person("name",age);Person p2=p1;此时只是简单的copy了一下引用,p1和p2都指向了内存中的同一个对象,修改p1和p2中任何一个都会影响到对方。当函数的参数是对象时,传递的是引用类型,在对象函数...
分类:
编程语言 时间:
2015-08-27 09:35:22
阅读次数:
169
招商银行信用卡中心投递简历阿里巴巴java研发工程师,参加了在线笔试,感觉一般百度投递简历8.27补充了一次内推腾讯投递简历网易游戏投递简历华为投递简历,打算参加编程挑战赛蘑菇街8.27参加内推,投递简历去哪儿8.27参加内推,投递简历计划投递的还有大众点评,京东,360
分类:
其他好文 时间:
2015-08-27 09:32:29
阅读次数:
161
一般情况下,我们都要将linux自带的OPENJDK卸载掉,然后安装SUN的JDK。首先查看Linux自带的JDK是否已安装。输入如下命令,查看已经安装的JAVA版本信息。Linux代码java-version输入如下命令,查看JDK的信息。Linux代码rpm-qa|grepjava如下图所示。卸...
分类:
编程语言 时间:
2015-08-27 09:31:33
阅读次数:
147
方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { ...
分类:
移动开发 时间:
2015-08-27 09:30:27
阅读次数:
239