RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > > Для запускания через инновин обычно используется способ описанный здесь - http://groups.google.ru/groups?hl=ru&lr=&selm=1101327200%40f155.n461.z2.ftn > > > Терзают меня смутные подозрения что это будет глючить также злостно как и 1.4.2 от инновин > > > тк базовый рунтайм дохловат у них. В части например класса или как это правильео называется *.NIO.* > > По мне так и голденкодовский не фонтан, при том, что 1.4.1 да еще и не бесплатно, а idea уменя как раз под иннотековским и работает. Это называется пакет(package) ж-) > > Для работы IDEA требуется как минимум чтоб работала эта тестовая программа: > имя файла MappedIO.java > компиляция > D:\Java14\bin\javac.exe MappedIO.java > запуск > D:\Java14\bin\java.exe MappedIO > результет должен выглядеть примерно так > Stream Write: 1916 > Mapped Write: 1056 > Stream Read: 697 > Mapped Read: 404 > Stream Read/Write: 8098 > Mapped Read/Write: 328 > > этот тест работает под какой-либо версией jvm от иннотека ? > лично у меня это работает только под GDC jvm 1.4.1_7 > > import java.io.*; > import java.nio.*; > import java.nio.channels.*; > > public class MappedIO { > private static int numOfInts = 4000000; > private static int numOfUbuffInts = 200000; > private abstract static class Tester { > private String name; > public Tester(String name) { this.name = name; } > public long runTest() { > System.out.print(name + ": "); > try { > long startTime = System.currentTimeMillis(); > test(); > long endTime = System.currentTimeMillis(); > return (endTime - startTime); > } catch (IOException e) { > throw new RuntimeException(e); > } > } > public abstract void test() throws IOException; > } > private static Tester[] tests = { > new Tester("Stream Write") { > public void test() throws IOException { > DataOutputStream dos = new DataOutputStream( > new BufferedOutputStream( > new FileOutputStream(new File("temp.tmp")))); > for(int i = 0; i < numOfInts; i++) > dos.writeInt(i); > dos.close(); > } > }, > new Tester("Mapped Write") { > public void test() throws IOException { > FileChannel fc = > new RandomAccessFile("temp.tmp", "rw") > .getChannel(); > IntBuffer ib = fc.map( > FileChannel.MapMode.READ_WRITE, 0, fc.size()) > .asIntBuffer(); > for(int i = 0; i < numOfInts; i++) > ib.put(i); > fc.close(); > } > }, > new Tester("Stream Read") { > public void test() throws IOException { > DataInputStream dis = new DataInputStream( > new BufferedInputStream( > new FileInputStream("temp.tmp"))); > for(int i = 0; i < numOfInts; i++) > dis.readInt(); > dis.close(); > } > }, > new Tester("Mapped Read") { > public void test() throws IOException { > FileChannel fc = new FileInputStream( > new File("temp.tmp")).getChannel(); > IntBuffer ib = fc.map( > FileChannel.MapMode.READ_ONLY, 0, fc.size()) > .asIntBuffer(); > while(ib.hasRemaining()) > ib.get(); > fc.close(); > } > }, > new Tester("Stream Read/Write") { > public void test() throws IOException { > RandomAccessFile raf = new RandomAccessFile( > new File("temp.tmp"), "rw"); > raf.writeInt(1); > for(int i = 0; i < numOfUbuffInts; i++) { > raf.seek(raf.length() - 4); > raf.writeInt(raf.readInt()); > } > raf.close(); > } > }, > new Tester("Mapped Read/Write") { > public void test() throws IOException { > FileChannel fc = new RandomAccessFile( > new File("temp.tmp"), "rw").getChannel(); > IntBuffer ib = fc.map( > FileChannel.MapMode.READ_WRITE, 0, fc.size()) > .asIntBuffer(); > ib.put(0); > for(int i = 1; i < numOfUbuffInts; i++) > ib.put(ib.get(i - 1)); > fc.close(); > } > } > }; > public static void main(String[] args) { > for(int i = 0; i < tests.length; i++) > System.out.println(tests[i].runTest()); > } > }
_, _, _, _, _ _, _,_
(_ | / \ |\ | / \ |_/
, ) | , \ / | \| \ / | \
~ ~~~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.