質問編集履歴

1

削除しまし

2016/06/13 12:43

投稿

koto12
koto12

スコア7

test CHANGED
@@ -1 +1 @@
1
- 【JAVA】ソースコードの流れを明していただきたい。
1
+ java コードの
test CHANGED
@@ -1,149 +1,3 @@
1
- バッファの処理速度の比較をするソースコードです。
1
+ 削除
2
2
 
3
- コードを上から順に何をやっているのか解説していただきたいです。
4
-
5
-
6
-
7
- package com.techscore.nio.chapter1.subject1;
8
-
9
-
10
-
11
- import java.nio.ByteBuffer;
12
-
13
- import java.nio.IntBuffer;
14
-
15
-
16
-
17
- /**
18
-
19
- * Main.java
20
-
21
- * TECHSCORE NewIO 1章 実習課題1
22
-
23
- *
24
-
25
- * Copyright (c) 2004 Four-Dimensional Data, Inc.
26
-
27
- */
28
-
29
- public class Main {
30
-
31
- public static void main(String[] args) {
32
-
33
-
34
-
35
- Main buff = new Main();
36
-
37
- int[] sizes = {100, 1000, 10000, 100000, 1000000};
38
-
39
- for (int i = 0; i < sizes.length; i++) {
40
-
41
- int size = sizes[i];
42
-
43
- buff.benchMark(size);
44
-
45
- }
46
-
47
- }
48
-
49
-
50
-
51
-
52
-
53
- // public void benchMark(int size) {
54
-
55
- private void benchMark(int size) {
56
-
57
-
58
-
59
- System.out.println("サイズ\t種類\t\t時間\t");
60
-
61
- System.out.println("‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾");
62
-
63
-
64
-
65
- benckMark(size, true);
66
-
67
- benckMark(size, false);
68
-
69
- System.out.println("‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾");
70
-
71
- }
72
-
73
-
74
-
75
- private void benckMark(int size, boolean bDirect) {
76
-
77
-
78
-
79
- IntBuffer buffer = null;
80
-
81
- if (bDirect) {
82
-
83
- buffer = ByteBuffer.allocateDirect(size * 4)
84
-
85
- .asIntBuffer();
86
-
87
- } else {
88
-
89
-
90
-
91
- buffer = IntBuffer.allocate(size);
92
-
93
- }
94
-
95
-
96
-
97
- long start = System.currentTimeMillis();
98
-
99
- for (int i = 0; i < size; i++) {
100
-
101
- buffer.put(i, i);
102
-
103
- }
104
-
105
-
106
-
107
- int[] ints;
108
-
109
- boolean bOK = true;
110
-
111
- try {
112
-
113
-
114
-
115
- ints = buffer.array();
116
-
117
- } catch (UnsupportedOperationException e) {
118
-
119
- System.out.println(e.getMessage());
120
-
121
- bOK = false;
122
-
123
- }
124
-
125
-
126
-
127
- if (bOK) {
128
-
129
- System.out.println("OK!");
130
-
131
- }
132
-
133
-
134
-
135
- long end = System.currentTimeMillis();
136
-
137
-
138
-
139
- String bufferKind = bDirect ? "ダイレクト" : "非ダイレクト";
3
+ ////////////////////////////
140
-
141
- System.out.print(size + "\t");
142
-
143
- System.out.print(bufferKind + "\t");
144
-
145
- System.out.println((end - start) + "msec\t");
146
-
147
- }
148
-
149
- }