/*
* Date: 2013年11月5日
* author: Peream (peream@gmail.com)
*
*/
package tests;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Test;
import cn.com.taiji.common.pub.json.JsonTools;
/**
*
* @author Peream
* Create Time:2013年11月5日 下午5:22:30
* peream@gmail.com
* @since 1.0
* @version 1.0
*/
public class CommonTest extends MyBaseTest
{
@Test
public void all() throws Exception
{
Map maps = new HashMap(15000000);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(
"resources/ballot.txt")), "UTF-8"));
long begin = System.currentTimeMillis();
for (int i = 1; i < 15000000; i++)
{
// maps.put(i, new Data("01234567890123", "陈培安", i));
writer.write(new Data("01234567890123", "陈培安", i).toJson());
writer.newLine();
if (i % 50000 == 0)
{
writer.flush();
System.out.println("time used:" + (System.currentTimeMillis() - begin) + "\ti=" + i);
}
}
writer.close();
System.out.println("time used:" + (System.currentTimeMillis() - begin));
begin = System.currentTimeMillis();
Data data = maps.get(810216);
System.out.println(data);
System.out.println("get used:" + (System.currentTimeMillis() - begin));
TimeUnit.MINUTES.sleep(2);
}
@Test
public void readFromFile() throws Exception
{
long begin = System.currentTimeMillis();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("resources/ballot.txt"),
"UTF-8"));
String line = null;
Map map = new HashMap(15000000);
int i = 0;
while ((line = reader.readLine()) != null)
{
i++;
Data data = JsonTools.json2Object(line, Data.class);
map.put(data.getList(), data);
if (i % 50000 == 0)
{
System.out.println("time used:" + (System.currentTimeMillis() - begin) + "\ti=" + i);
}
}
reader.close();
System.out.println("time used:" + (System.currentTimeMillis() - begin));
System.out.println(map.size());
TimeUnit.MINUTES.sleep(2);
}
@Test
public void atomicIntger()
{
AtomicInteger ai = new AtomicInteger(0);
System.out.println(ai.get());
ai.incrementAndGet();
System.out.println(ai.get());
ai.decrementAndGet();
System.out.println(ai.get());
ai.decrementAndGet();
System.out.println(ai.get());
ai.incrementAndGet();
System.out.println(ai.get());
}
}