易截截图软件、单文件、免安装、纯绿色、仅160KB

Java编程 有1亿个浮点数,请找出其中对大的10000个

 有1亿个浮点数,请找出其中对大的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。
/**
*
*/
package com.code;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import junit.framework.Assert;
import org.junit.Test;
/**
* @author Chi
*
*/
public class FloatSelector {
// @Test
public void testGenerateData(){
this.generate(100000000);
}
@Test
public void select(){
long start = System.currentTimeMillis();
final int SIZE = 10000;
Float[] selected = new Float[SIZE];
BufferedInputStream in = new BufferedInputStream(this.getClass().getResourceAsStream("data"));
//Set buffer to load array for one time.
final int BUFFER_SIZE = SIZE * 4;
final byte[] buffer = new byte[BUFFER_SIZE];
//1, Fill selected array
int pointer = 0;
int read = 0;
try {
read = in.read(buffer);
for(int i = 0; i < read / 4; i++ ){
selected[pointer ++] = Float.intBitsToFloat(bytes2int(buffer, i*4));
}
//2, sort the array
Arrays.sort(selected, Collections.reverseOrder());
while((read = in.read(buffer)) > 0){
for(int i = 0; i < read / 4; i++ ){
float newValue = Float.intBitsToFloat(bytes2int(buffer, i*4));
int j;
for(j = selected.length - 1; j >= 0 && newValue > selected[j]; j--);
if(j < selected.length - 1){
//move
for(int k = selected.length - 1; k > j + 1; k --){
selected[k] = selected[k - 1];
}


相关文档:

Java入门总结

面向对象程序设计共有三大特性:封装、继承、多态;
这三大特性之间相互关联,其中封装性是面向对象的基础,继承性是软件重用的关键。而多态性则必须存在于继承的环境之中,是对面向对象程序设计的补充。
封装;
Java5.0新特性;基本数据类型à封装类 封箱; 封装类à基本数据类型 拆箱;
package review; ......

Java ME,我渐渐的忘记了,Java ME环境配置

 
就是要到sun的网站下载JDK,jdk-6u10-beta-windows-i586-p.exe,我用的是这个。
还是在sun的网站下载WTK,sun_java_wireless_toolkit-2_5_2-windows.exe,我用的这个。
然后就是先安装jdk再安装wtk,我的安装路径是:D:\Java\jdk1.6.0_10和D:\Java\WTK2.5.2
下载eclipse,我用的是:wtp-all-in-one-sdk-R-1.5.5- ......

FILTER过滤JAVA WEB的字符编码

以前为了过滤Java的ISO-8859-1字符,总是使用如下代码来处理。
view plaincopy to clipboardprint?
String strUserame = (String)reuqest.getParameter("username");   
strUsername = new String(strUserame.getBytes("ISO-8859-1"),"UTF-8");  
String strUserame ......

java反射机制示例(短信接收转发实现)

一.数据库设计
设计统一的短信接收,发送的数据存储表:短信接收表T_Sms_Incept,短信发送表T_Sms_Send
/*==============================================================*/
/* Table: t_sms_incept                    ......

Java相对路径/绝对路径总结(转)

1.基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servlet中, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号