J2DK, 499
.jar files, 285
Java
2D game development, 54
Abstract Window Toolkit. See Abstract Window Toolkit (AWT)
audio components, 86
audio, game development, 85–86
bytecode, 158–162
class files, 153
classes. See classes
compiler javac.exe, 158
game development. See game development
IO package. See java.io packages
message printing and display, 40
networking APIs, 202–206
sports genre, pros and cons, 7
time calculation, 31–33
using as scripting language (demo), 345
virtual machine. See VM
Java 2 Enterprise Edition (J2EE), 295
Java code
communicating with C/C++, 317–320
communicating with native code, 315–316
Java Collections Framework (JCF) and C++ Standard Template Library, 191
Java Data Object (JDO), 295
Java Database Connectivity. See JDBC
Java Development Kit (JDK)
new technologies and, 2
1.5 release, 18
Java Foundation Classes (JFC), 390
Java Games Community Web pages, 236
Java heap
calling functions from, 318
described, 152
and system memory, 135
vs. system memory, 334
Java Native Interface (JNI)
communicating between Java and C/C++, 317–320
‘dirty’ programming and, 5
mixing native and Java code, 316
Java OpenAL Library. See JOAL
Java OpenGL. See JOGL
Java Reliable Multicast Service (JRMS), 199
Java Runtime Environment (JRE) and puzzle games, 9
Java Shared Data Toolkit (JSDT), using, 199
Java virtual machine. See VM
Java2 Micro Edition and mobile game developer tools, 17
Java3D API, 260–261
javac.exe, 158, 192–193
javah.exe, 319–320
java.io package, 119–123
java.lang.Class class, 325–326
java.net API, 202–206
java.nio package, 132
JavaSound classes and options, 87
java.sql.Statement objects, 287
java.vecmath, 260–261
javax.nio API, 206
jchar buffer, 331
jclass, 326
JDBC (Java Database Connectivity)
API described, 274
drivers, 284–285
introduction to, 272
online resources, 278
performance techniques, 289–295
JDK. See Java Development Kit (JDK)
JFC (Java Foundation Classes), 390
just-in-time (JIT) compiling, 162–163
jmethodID, 329–330
JNI (Java Native Interface)
array functions, 330–331
‘dirty’ programming and, 5
exception functions, 332–333
high-resolution timer, 339–342
implications of using, 350
interface pointer, 321–322
invocation interface, 337
method functions, 329–330
object functions, 327–328
primitive identifiers (table), 326
reference types (fig.), 324
weak global reference, 323
JNI_OnLoad, JNI_OnUnload handlers, 335
JOAL (Java OpenAL Library)
described, 86, 88
Doppler effect, 107–108
error returns and descriptions (table), 108
future development of, 113
player controls, 100
jobject pointer, 327
JOGL (Java OpenGL)
ByteBuffers in, 397–399
composable pipelines, error checking, 393
GlueGen, vendor extensions, 392
integration with AWT, 390–391
overview of, 383–384, 389–390
and puzzle games, 9
3D render engine. See 3D render engine
using, 405–409
vs. OpenGL, 393–405
join operations, 291
joinGame( ) method, 231
joining game sessions, 228–232
Jorbis project, 113
joystick, bindings for, 342–345
JProbe profiler, 174
JRE (Java Runtime Environment) and puzzle games, 9
JSDT (Java Shared Data Toolkit) API, 199
just-in-time (JIT) compiling, 162–163, 240
JVM profiler interface (JVMPI), 174