- 浏览: 44071 次
- 性别:
- 来自: 上海
最新评论
-
onesir520:
楼主后来进盛付通了吗?
2015/3 盛付通面试
文章列表
Java util之常用数据类型特性盘点 (三)
出处:http://www.iteye.com/topic/825683
这篇我准备从源码的高度来看看集合中各个实现类的是如何组织我们存进去的数据的,主要包括Java类库中提供的几个具体的类: LinkedList ArrayList HashMap HashSet TreeMap TreeSet PriorityQueue(顺序按下面的讲解顺序)
1、java.util.LinkedList<E> 当我们创建一个LinkedList类的对象,并且试图增加一个新的元素的时候,到底是如何组织我们传进去的数据的呢 ...
Java util之常用数据类型特性盘点 (二)
出处:http://www.iteye.com/topic/25107ArrayList是List接口的一个可变长数组实现。实现了所有List接口的操作,并允许存储null值。除了没有进行同步,ArrayList基本等同于Vector。在Vector中几乎对所有的方法都进行了同步,但ArrayList仅对writeObject和readObject进行了同步,其它比如add(Object)、remove(int)等都没有同步。
1.存储
ArrayList使用一个Object的数组存储元素。 private trans ...
Java util之常用数据类型特性盘点 出处:http://www.iteye.com/topic/22192
java.util就相当于c++的STL,是Java的一个非常重要的包,有很多常用的数据类型,不同数据类型有不同的用途,而有些数据类似乎很相似,怎样选择应用,就需要对它们进行辨析。 下面列出了这些数据类型的特点,根据这些特点,就可以有针对性的选用 * 蓝色为接口,绿色为具体实现类 * 缩进的层次结构,就是implement或extend的层次关系 * 每个接口或类都具备其所有上层接口、类的特性 Collection ........|--------List .... ...
1、直接 new 调用默认构造器实例化对象,如:
String str = new String("abc");
2、通过工厂方法返回对象,如:
//不知道这个算不算。。
String str = String.valueOf(23);
3、通过反射,如:
Object obj = Class.forName("java.lang.Object").newInstance();
Object obj =
4、通过I/O流复制(包括反序列化)。
如果有其他的请 ...
java 排序的代码
import java.util.Random;
/**
* 排序测试类
*
* 排序算法的分类如下: 1.插入排序(直接插入排序、折半插入排序、希尔排序); 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序); 4.归并排序; 5.基数排序。
*
* 关于排序方法的选择: (1)若n较小(如n≤50),可采用直接插入或直接选择排序。
* 当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。
* (2)若文件初始状态基本有序(指正序),则应选用直接 ...
Java集合框架使用总结
出处:http://blog.csdn.net/nihao_201104/archive/2008/11/21/3345127.aspx
前言:
本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法, ...
java.util.Date 包含日期和时间。
java.sql.Date 是 java.util.Date的子类,并且只包含日期,没有包含时间部分。
看下面 java.sql.Date中覆盖父类的toString()方法:
public String toString()
{
int year = super.getYear() + 1900;
int month = super.getMonth() + 1;
int day = super.getDate();
char buf[] = "2000-00-00&quo ...
一道面试题目,看代码:
public class Testinitial
{
public static void main(String[] args)
{
// 第一种情况
int a = Test2.a;
// 第二种情况
// int a = Test2.b;
System.out.println("main method");
}
static
{
System.out.println("main static block");
}
}
class Test1 ...
java clone方法使用
出处:http://www.iteye.com/topic/182772
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简 ...
Java数据类型
JAVA语言中定义了8种基本的数据类型,来保存变量。与它的前辈C和C++语言一样,JAVA要求程序中的每一个变量都规定自己的类型。正因为如此,JAVA属于强类型语言,从而不同于JavaScript这样的弱类型脚本语言。下面我们来看看这8种类型:
public class FloatDouble
{
public static void main(String[] args)
{
System.out.println("byte:" + Byte.SIZE + " bit. (" + Byte.MIN_VALUE ...
由于对float或double 的使用不当,可能会出现精度丢失的问题。问题大概情况可以通过如下代码理解:
public class Num
{
public static void main(String[] args)
{
float f = 20014999;
double d = f;
double d2 = 20014999;
System.out.println("f=" + f);
System.out.println("d=" + d);
System.out.println(&quo ...
float/double 与封装类型Float/Double
基本类型:float/double
关于 java 的 float 和 double
Java 语言支持两种基本的浮点类型: float 和 double 。java 的浮点类型都依据 IEEE 754 标准。IEEE 754 定义了32 位和 64 位双精度两种浮点二进制小数标准。
IEEE 754 用科学记数法以底数为 2 的小数来表示浮点数。32 位浮点数用 1 位表示数字的符号,用 8 位来表示指数,用 23 位来表示尾数,即小数部分。作为有符号整数的指数可以有正负之分。小数部分用二进制(底数 2 )小数 ...
import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.SortedSet;
import java.util.TreeSet;
public class sdf
{
public static void main(String[] args)
{
HashSet<String> hashSet = new HashSet<String>(Arrays.asList("b c e f ...
synchronized 可以认为默任为当前对像加了一把ReentrantLock锁,
所以,会出现一个线程读另一个线程不能进入的现像 。
这样就造成不论读写,只要线程进入synchronized代码就互斥。
ReentrantReadWriteLock 其实是加了两把锁。
写锁排斥读、写 ,
读锁只排斥 写,所以能达到并发读的效果。
克服了synchronized 读互斥的缺点
所以说 ReentrantReadWriteLock 比synchronized 快
ReentrantReadWriteLock被大量使用在缓存中,因为缓存中的对象总是被共享大量读操 ...