[Java]2017.03.05
来源:互联网 发布:dd是什么意思网络用语 编辑:程序博客网 时间:2024/06/02 02:22
最近忙的要死,一看我的博客,三月份都没更新了。。。衰!据说下星期可能要面试,于是复习一下Java吧。第一个是String, Stringbuffer, Stringbuilder的区别。
String
首先要明白的是Java中String是不可变的,具体这样做的好处是另外一个故事了。这里先不提了。但是String中为啥会有“+”号呢?
String s = “bbbb”;String a = "cccc" + s;
上面的代码其实是新建一个对象,将“”cccc“和"bbbb"合起来。所以这样很慢。
StringBuffer
StringBuffer 是可变的可用.toString()方法转换成String。因为它是 synchronized,所以线程安全。但是他的速度比StringBuilder要慢一点。
StringBuilder
StringBuilder也是可变的,它是synchronized 所以线程不安全,它比StringBuffer要快。
List, Set Map三种数据结构
懒得写了看这个:http://blog.csdn.net/vstar283551454/article/details/8682655
HashMap和HashTable
说这两个之前先要弄清楚,hashcode到底是什么?Java中对象都可以产生一个hashcode为的是方便进行高效查找。java中的hashcode()用于产生hashcode,对于对象hashcode返回的是地址,所以完全相等(equals)的两个对象hashcode不一样的。而对于String,则是用一种算法(暂时没有深究),相同的String返回一个hashcode,不相同的String也可能返回相同的hashcode。
具体区别见下面的博客
http://www.cnblogs.com/langtianya/archive/2013/03/19/2970273.html
主要是Hashtable线程安全,hashmap线程不安全但是速度快。HashMap允许null用containsKey/containsValue方法。HashMap实现Map interface而HashTable继承于dicitionary类。两个的hash效果是一样的。
- [Java]2017.03.05
- Java笔记(2017.03.05更新中)
- Java 05
- java--05
- java-05
- Java--05
- Java基础05Java API
- [Java] JDBC 05 TestBatch.java 批处理 Batch
- java基础篇--05<java集合>
- java基础之java关键字05
- java认证课程05
- java学习日志05
- Java-InnerClass-05
- Thinking in java-05
- java基础问题05
- Java笔记—05
- java基础知识05
- Java 笔记05
- JavaScript中的块级作用域和私有变量
- 编码f方式区别
- linux下开机启动设置
- 高精度乘方
- node.js开发
- [Java]2017.03.05
- HOG特征学习
- 汉诺塔算法解析
- hdu4825 Xor Sum【Trie、Xor】
- Machine Learning Diagnostic
- linux动态链接库导出函数控制
- python中的面向对象
- CodeForces
- 需求分析的图形工具(层次方框 warnier IPO)