java
呼噜娃娃
生活没有偶然
展开
-
string,stringbuilder,stringbuffer
1、string是不可变的对象,对string类型进行改变都是生成一个新的对象,指针指向新的string。经常改变内容的字符串不要用string,如果无用的对象变多的话,GC就会开始工作了,速度是非常慢的。2、stringbuider的每次操作都是针对对象本身进行操作,因此理论上,字符串的拼接操作是要比纯string对象相加要快的。3、stringbuffer是线程安全的,跟stringb原创 2017-04-24 22:13:39 · 186 阅读 · 0 评论 -
final、finally、finalize
一、final是修饰符修饰类的时候,类不可以被继承修饰成员函数的时候,成员函数不可以被重写,多态机制被破坏。修饰成员变量的时候,1:基本数据类型,代表不可更改。2:引用数据类型,引用不可更改,引用的对象是可以更改的二、finally语句块try--catch--finallyfinally最终被执行的部分,一般用来进行资源关闭清理的操作,public class F原创 2017-04-28 17:09:21 · 204 阅读 · 0 评论 -
java编程思想——递归的方式,添加目录和文件
public static void main(String args[]){ File file=new File("."); System.out.println(listFile(file));}static class TreeInfo{ //设置两个list,一个用来存目录,一个用来存文件 List directorys=new ArrayList;原创 2017-04-29 17:24:37 · 518 阅读 · 0 评论 -
java编程思想-内存空间分配(常量池)
package String;public class StringEqual { public static void main(String args[]){ String s1="hello"; String s2="hello"; Double d1=1.0; Double d2=1.0; Floa原创 2017-05-01 19:42:28 · 302 阅读 · 0 评论 -
java编程思想—并发编程小结一
1实现方法 1实现runnable接口,重写run方法,调用run方法 2new thread类,传入runnable接口实现类,使用thread的start方法,2一些方法 yield:暂停当前正在执行的线程对象,并执行其它线程 wait:线程等待,并释放锁,一般在sychronized块里面,一般放在while循环中。生产者消费者模型中,当队列已满的时候,生产者wait,队原创 2017-05-09 14:15:05 · 206 阅读 · 0 评论 -
Java编程思想—并发编程小结二
一、同步队列 wait notifyall是一种低级的解决方式,更高的抽象级别使用同步队列来完成协作问题BlockQueue 的子类 LinkedBlockingQueue ArrayBlockingQueue SynchronousQueue1、ArrayBlockingQueue数据是放在一个数组中。LinkedBlockingQueue是放在一个Node节点中原创 2017-05-09 14:15:40 · 267 阅读 · 0 评论 -
HashMap、 HashTable 、Collections.synchronizedMap、 ConcurrentHashMap
HashMap 在单线程程序中经常使用到,而且都知道HashMap是线程不安全的,HashTable是线程安全。引用百度定义线程安全和线程不安全“线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得原创 2017-09-21 16:46:19 · 488 阅读 · 0 评论 -
java八大基本类型初始化
首先,java的八大基本类型为byte short int long float double char boolean对应的八大包装类型 Byte Short Integer Long Float Double Character Boolean其中对基本类型进行初始化的操作,可以得到一个默认值,对于包装类型初始化对象的时候也可以得到一个默认值,但是这两个默认值是不一样的。包装类原创 2017-09-30 09:58:10 · 5308 阅读 · 0 评论