[SYMBOL]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[W]
[X]
[Z]
Object class
changing to record object creation
clone( )
hashCode( )
toString( )
wait( ) and notify( ) methods
object creation
garbage collection, avoiding
flattening objects
general guidelines to limit object generation
mapping objects with arrays
primitive data types, using
guidelines for efficient memory usage
initialization
early and late
lazy initialization
performance checklists
preallocating objects
ternary search tree optimization
profiling
Reference objects
SoftReference flushing
types
reusing objects
canonicalizing objects
pool management
reusable parameters
ThreadLocal objects
statistics on
StreamTokenizer vs. char array word counters
ObjectCreationMonitoring class (example)
2nd
ObjectInput interface
ObjectInputStream class
ObjectOutput interface
ObjectOutputStream class
objects canonicalizing
2nd
casts of
converting to strings
creation of
[See object creation] databases of, relational databases vs.
designing
optimizing for update or access
performance checklist
reusability
field, removing unused with optimizing compiler
heap space for creating new
passing into methods which fill in object fields
pooling, load balancing with
references to
[See references] reusing in EJB
root
serialization of
temporary
[See temporary objects] unnecessary, avoiding with JNI
Observer pattern
ÒnewÓ space
Open Symphony, OSCache
open( ) Selector class
ServerSocketChannel class
operating systems caching, effects on timings
disk-cache flush, avoiding performance hit
memory-mapping files
NIO operations and
page cache
performance checklist
signal handling
timing applications and
operators arithmetic, shorthand versions of
instanceof
casts vs.
resolution at compile time
logical And
logical Or
short-circuit
string
Optimistic Locking pattern in EJB design
optimistic transactions
EJB application server, support of
write-write conflicts with, detecting
optimizations
analysis phase of development
considerations
features, reducing
assertion overhead, eliminating
collection queries
compiler
access control to methods, altering
assignments, avoiding unnecessary
code motion
computationally cheaper alternatives, using
cutting dead code and unnecessary instructions
dynamic type checks, removing
eliminating common subexpressions
generating helpful information for VM
increasing statically bound calls
inlining calls
javac and
managing compilers
reducing necessary parts of compiled files
removing unused methods and classes
removing unused object fields
renaming classes, fields, and methods
reordering or changing bytecodes
runtime computations, replacing with compiled results
unrolling loops
container-managed persistence in EJBs
databases
design and architecture
distributed applications
object design
predicting performance
scaling
shared resources
EJBS, design patterns for
caching services
combining EJBs
CPU usage
Data Access Objects
efficient transfer of large datasets
load balancing
message handling
reducing locking conflicts
EJBs, design patterns for reusing objects
EJBS, design patterns for Value Objects
I/O operations, with NIO direct buffers
loops
copying arrays with System.arraycopy( )
efficient comparisons
int data types for index variables
moving code out of
putting most common case first
reflection, avoiding
temporary variables, using
terminating with exception
more factors affecting performance
server downtime
training users
user interface usability
with -O option
performance checklist
performance planning
deploying with performance-logging features
designers, requiring performance predictions from
focus on performance in analysis phase
integrating performance logging
specifying performance requirements
test environment for performance, creating
test performance and use results
testing simulation or skeleton system
repeated comparisons of internationalized strings
runtime
string equality tests
ternary search tree, creating node pool for
testing and documenting
tuning after deployment
tuning class libraries and beans
application-specific code
VM
when to avoid
when to make
optimizers, listing of resources on
options (runtime), performance and
Or operator (logical Or)
Oracle, optimization of Pet Store application
orders of magnitude
2nd
ÒtrainÓ garbage collection algorithm
OutOfMemoryError class
OutputStream class
overhead distributed applications, proprietary communication layer
of longs and doubles
of array initialization
of assertions
of communications in distributed applications
of CPU parallelization
of data conversions
in JDBC
of design
of disk/file seeking
of dynamic URL generation
of exceptions
of exceptions in stack traces
of files
of hierarchical method invocation
of Java Native Interface (JNI)
of locks
of method polymorphism
of paging
of parallelism
of performance monitoring in J2EE
of process startup
of recursion
of remote calling of EJBs
of serialization
bypassing
of stack trace
of startup, reducing with thread pooling
of strings concatenating at runtime
in SQL statement execution
of synchronous processing over the Internet
of tests in loops
of thread synchronization
of transaction savepoints
of Web Services, round-trip
runtime
|