db4o 6.4

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Database DBMS » db4o 6.4 
db4o
License:GNU General Public License (GPL)
URL:http://www.db4objects.com
Description:db4o (database for objects) is the open source object database for Java.
Package NameComment
com.db4o
com.db4o.activation
com.db4o.cluster
com.db4o.collections
com.db4o.collections.facades
com.db4o.config
com.db4o.config.annotations
com.db4o.config.annotations.reflect
com.db4o.constraints
com.db4o.db4ounit.common
com.db4o.db4ounit.common.acid
com.db4o.db4ounit.common.assorted
com.db4o.db4ounit.common.btree
com.db4o.db4ounit.common.classindex
com.db4o.db4ounit.common.concurrency
com.db4o.db4ounit.common.config
com.db4o.db4ounit.common.constraints
com.db4o.db4ounit.common.cs
com.db4o.db4ounit.common.defragment
com.db4o.db4ounit.common.events
com.db4o.db4ounit.common.exceptions
com.db4o.db4ounit.common.ext
com.db4o.db4ounit.common.fatalerror
com.db4o.db4ounit.common.fieldindex
com.db4o.db4ounit.common.foundation
com.db4o.db4ounit.common.foundation.network
com.db4o.db4ounit.common.freespace
com.db4o.db4ounit.common.handlers
com.db4o.db4ounit.common.header
com.db4o.db4ounit.common.interfaces
com.db4o.db4ounit.common.internal
com.db4o.db4ounit.common.io
com.db4o.db4ounit.common.migration
com.db4o.db4ounit.common.persistent
com.db4o.db4ounit.common.querying
com.db4o.db4ounit.common.refactor
com.db4o.db4ounit.common.references
com.db4o.db4ounit.common.reflect
com.db4o.db4ounit.common.reflect.custom
com.db4o.db4ounit.common.regression
com.db4o.db4ounit.common.sampledata
com.db4o.db4ounit.common.set
com.db4o.db4ounit.common.soda
com.db4o.db4ounit.common.soda.arrays
com.db4o.db4ounit.common.soda.arrays.object
com.db4o.db4ounit.common.soda.arrays.typed
com.db4o.db4ounit.common.soda.arrays.untyped
com.db4o.db4ounit.common.soda.classes.simple
com.db4o.db4ounit.common.soda.classes.typedhierarchy
com.db4o.db4ounit.common.soda.classes.untypedhierarchy
com.db4o.db4ounit.common.soda.experiments
com.db4o.db4ounit.common.soda.joins.typed
com.db4o.db4ounit.common.soda.joins.untyped
com.db4o.db4ounit.common.soda.ordered
com.db4o.db4ounit.common.soda.util
com.db4o.db4ounit.common.soda.wrapper.untyped
com.db4o.db4ounit.common.staging
com.db4o.db4ounit.common.stored
com.db4o.db4ounit.common.ta
com.db4o.db4ounit.common.ta.collections
com.db4o.db4ounit.common.types
com.db4o.db4ounit.common.types.arrays
com.db4o.db4ounit.jre11
com.db4o.db4ounit.jre11.assorted
com.db4o.db4ounit.jre11.btree
com.db4o.db4ounit.jre11.concurrency
com.db4o.db4ounit.jre11.concurrency.staging
com.db4o.db4ounit.jre11.defragment
com.db4o.db4ounit.jre11.events
com.db4o.db4ounit.jre11.handlers
com.db4o.db4ounit.jre11.internal
com.db4o.db4ounit.jre11.migration
com.db4o.db4ounit.jre11.soda
com.db4o.db4ounit.jre11.soda.classes.simple
com.db4o.db4ounit.jre11.soda.wrapper.typed
com.db4o.db4ounit.jre11.soda.wrapper.untyped
com.db4o.db4ounit.jre11.staging
com.db4o.db4ounit.jre11.tools
com.db4o.db4ounit.jre11.types
com.db4o.db4ounit.jre11.types.arrays
com.db4o.db4ounit.jre12
com.db4o.db4ounit.jre12.assorted
com.db4o.db4ounit.jre12.blobs
com.db4o.db4ounit.jre12.collections
com.db4o.db4ounit.jre12.collections.custom
com.db4o.db4ounit.jre12.collections.facades
com.db4o.db4ounit.jre12.collections.map
com.db4o.db4ounit.jre12.defragment
com.db4o.db4ounit.jre12.fieldindex
com.db4o.db4ounit.jre12.querying
com.db4o.db4ounit.jre12.regression
com.db4o.db4ounit.jre12.soda
com.db4o.db4ounit.jre12.soda.collections
com.db4o.db4ounit.jre12.soda.deepOR
com.db4o.db4ounit.jre12.soda.experiments
com.db4o.db4ounit.jre12.staging
com.db4o.db4ounit.jre12.types.string
com.db4o.db4ounit.jre5
com.db4o.db4ounit.jre5.annotation
com.db4o.db4ounit.jre5.collections
com.db4o.db4ounit.jre5.concurrency.collections
com.db4o.db4ounit.jre5.defrag
com.db4o.db4ounit.jre5.enums
com.db4o.db4ounit.jre5.generic
com.db4o.db4ounit.util
com.db4o.db4ounit.util.test
com.db4o.defragment
com.db4o.diagnostic
com.db4o.events
com.db4o.ext
com.db4o.f1
com.db4o.f1.chapter1
com.db4o.f1.chapter2
com.db4o.f1.chapter3
com.db4o.f1.chapter4
com.db4o.f1.chapter5
com.db4o.f1.chapter6
com.db4o.foundation
com.db4o.foundation.io
com.db4o.foundation.network
com.db4o.generic
com.db4o.instrumentation.ant
com.db4o.instrumentation.core
com.db4o.instrumentation.file
com.db4o.instrumentation.filter
com.db4o.instrumentation.main
com.db4o.instrumentation.util
com.db4o.internal
com.db4o.internal.btree
com.db4o.internal.btree.algebra
com.db4o.internal.callbacks
com.db4o.internal.classindex
com.db4o.internal.cluster
com.db4o.internal.collections
com.db4o.internal.convert
com.db4o.internal.convert.conversions
com.db4o.internal.cs
com.db4o.internal.cs.messages
com.db4o.internal.diagnostic
com.db4o.internal.events
com.db4o.internal.fieldindex
com.db4o.internal.fileheader
com.db4o.internal.freespace
com.db4o.internal.handlers
com.db4o.internal.handlers.net
com.db4o.internal.ix
com.db4o.internal.mapping
com.db4o.internal.marshall
com.db4o.internal.query
com.db4o.internal.query.processor
com.db4o.internal.query.result
com.db4o.internal.replication
com.db4o.internal.slots
com.db4o.io
com.db4o.j2me.bloat
com.db4o.j2me.bloat.testdata
com.db4o.marshall
com.db4o.messaging
com.db4o.nativequery
com.db4o.nativequery.analysis
com.db4o.nativequery.example
com.db4o.nativequery.expr
com.db4o.nativequery.expr.build
com.db4o.nativequery.expr.cmp
com.db4o.nativequery.expr.cmp.operand
com.db4o.nativequery.main
com.db4o.nativequery.optimization
com.db4o.osgi
com.db4o.osgi.test
com.db4o.query
com.db4o.reflect
com.db4o.reflect.core
com.db4o.reflect.generic
com.db4o.reflect.jdk
com.db4o.reflect.self
com.db4o.replication
com.db4o.ta
com.db4o.ta.instrumentation
com.db4o.ta.instrumentation.ant
com.db4o.ta.instrumentation.samples.pathological
com.db4o.ta.instrumentation.test
com.db4o.ta.instrumentation.test.integration
com.db4o.test
com.db4o.test.acid
com.db4o.test.aliases
com.db4o.test.cluster
com.db4o.test.collections
com.db4o.test.concurrency
com.db4o.test.conjunctions
com.db4o.test.constraints
com.db4o.test.defragment
com.db4o.test.fileheader
com.db4o.test.java
com.db4o.test.jdk5
com.db4o.test.legacy
com.db4o.test.legacy.soda
com.db4o.test.legacy.soda.arrays.object
com.db4o.test.legacy.soda.arrays.typed
com.db4o.test.legacy.soda.arrays.untyped
com.db4o.test.legacy.soda.classes.simple
com.db4o.test.legacy.soda.classes.typedhierarchy
com.db4o.test.legacy.soda.classes.untypedhierarchy
com.db4o.test.legacy.soda.collections
com.db4o.test.legacy.soda.deepOR
com.db4o.test.legacy.soda.engines.db4o
com.db4o.test.legacy.soda.experiments
com.db4o.test.legacy.soda.joins.typed
com.db4o.test.legacy.soda.joins.untyped
com.db4o.test.legacy.soda.ordered
com.db4o.test.legacy.soda.wrapper.typed
com.db4o.test.legacy.soda.wrapper.untyped
com.db4o.test.nativequery
com.db4o.test.nativequery.analysis
com.db4o.test.nativequery.cats
com.db4o.test.nativequery.expr
com.db4o.test.nativequery.expr.build
com.db4o.test.pending
com.db4o.test.performance
com.db4o.test.reflect
com.db4o.test.reflect.self
com.db4o.test.replication.old
com.db4o.test.test2
com.db4o.test.tuning
com.db4o.test.types
com.db4o.test.util
com.db4o.tools
com.db4o.types
com.db4o.util.io
com.db4o.util.io.spikes
com.db4o.util.io.win32
db4ounit
db4ounit.extensions
db4ounit.extensions.concurrency
db4ounit.extensions.fixtures
db4ounit.extensions.tests
db4ounit.extensions.util
db4ounit.tests
db4ounit.util
EDU.purdue.cs.bloat.benchmark

Contains classes that are used to run benchmarks that measure the performance of BLOATed code. These classes allow us to do things like run a program several times in the same virtual machine invocation.

EDU.purdue.cs.bloat.cfg

Classes to represent a Java method as a control flow graph of basic blocks. A basic block is a sequence of code that is entered only in once place (e.g. the target of a branch statement) and is exited at only one place (e.g. a branch statement). Each basic block consists of an expression tree. There are also classes to represent try-catch blocks, Java subroutines (finally blocks), certain properties of the control flow graph such as its dominator tree, and to visualize a control flow graph.

EDU.purdue.cs.bloat.codegen

Generates Java bytecodes from the contents of a control flow graph. It also performs "register" allocation of the local variables inside the virtual machine.

EDU.purdue.cs.bloat.context

Repositories for important BLOAT objects such as the Editor, ClassHierarchy, and FlowGraphs. In order to avoid build dependencies with other packages we took the novel approach of having a "context" interface in several packages that the classes in this package then implement.

The reason we implement all of the methods in one class is so that if the user wants to have different contexts with different attributes (for instance, caching policies), all one has to do is subclass BloatContext instead of subclassing other contextes which may become ackward.

EDU.purdue.cs.bloat.decorate

Contains a program that decorates a Java classfile with opcodes used in a persistent Java virtual machine.

EDU.purdue.cs.bloat.diva

Performs demand-driven induction variable analysis on a Java classfile.

EDU.purdue.cs.bloat.dump

Contains a program that prints the contents of a Java classfile to the console.

EDU.purdue.cs.bloat.editor

Allows classes, methods, and fields to be edited. In addition, the representation of bytecodes (JVM instructions) is refined. Types, opcodes, local variables, and special instrcution operands are introduced.

EDU.purdue.cs.bloat.file

Allows access to Java classes stored in files on disk. Many of these classes implement the interfaces found in the EDU.purdue.cs.bloat.reflect package. Classes are loaded from a file and things such as constant values, methods, code, debugging information, and exceptions are modeled.

EDU.purdue.cs.bloat.inline

Classes for performing method inlining. The first step in method ininling is to create the call graph for a Java "program". Rapid Type Analysis [Bacon 1997] is used to keep the size of the call graph managable. RTA uses the class hierarchy to determine all possible methods that may be invoked at a given call site. Methods are only considered to be live if their class is instantiated somewhere in the program.

Call sites are specialized using the resolves-to information supplied by the call graph. Each virtual method call is transformed into a "switch" statement on the possible receiver types. The receiver is cast to a given type and a static method is invoked in place of the virtual method.

EDU.purdue.cs.bloat.optimize

Contains a program that optimizes Java classes.

EDU.purdue.cs.bloat.reflect

Provides an abstract API for working with Java classfiles. In this package, names and types are represent by indices into the constant pool. Modifier flags, the constant pool, exception handlers, and debugging information are also modeled directly in this package. The classes and interfaces in this package exist to give an opaque and abstract view of the underlying representation of the Java class.

EDU.purdue.cs.bloat.shrink

Contains a program that performs array initialization compaction on a Java classfile in attempts to make it smaller.

EDU.purdue.cs.bloat.ssa

Converts a control flow graph into static single assignment (SSA) form. In SSA form, each variable in the method has a number associated with it. Each target of an assignment statement is assigned a new number. Subsequent uses of that variable are assigned the same number. Thus, we have a compact form of definition-use information. Many of the optimiations we do take advantage of SSA form.

EDU.purdue.cs.bloat.strip

Contains a program that removes non-vital information (such as debugging information) from a Java classfile in an attempt to make it smaller.

EDU.purdue.cs.bloat.tbaa

Performs type-base alias analysis (TBAA) on a control flow graph. Type-based alias analysis considers the types of variables when deciding whether or not two variable can refer to the same object. Before TBAA can occur, the types of variables are inferred. Type inference requires information about the class hierarchy of classes being BLOATed.

EDU.purdue.cs.bloat.tools
EDU.purdue.cs.bloat.trans

Performs transformations (optimizations) on a control flow graph. There are several optimizations performed by classes in this package. Older Java compilers produced poor code for initializing arrays. BLOAT can replace this poor code with more efficient code by loading the array from the constant pool. Dead code elimination removes code from a method that does not contribute to the final output of the program.

Value numbering associates a number with each expression such that if two expressions have the same number, they have the same value. A value folder is then used to eliminate redundent nodes from and to propagate constants through the control flow graph.

Constant propagation removes unnecessary assignments by replacing variables that are assigned constant values with those values. Copy propagation removes unnecessary assignments to varibles to other variables.

BLOAT was designed to optimize classes that were to be run inside a persistent system that required special opcodes to perform operation such as checking an object cache for a certain resident object. The analysis that BLOAT does can eliminate some of these checks.

SSA-based partial redundency elimination (PRE) of expressions and access paths can also be performed on a control flow graph. If a calculation is redundent along one control flow path leading to a merge point, PRE computes it once along all paths, assigns the result to a variable, and replaces further occurrences of the calculation with that variable. This way, the expression is only computed once along any given control flow path.

Finally, peephole optimizations are performed on Java bytecode. For instance, a push instruction followed by a pop instruction is useless and can be removed. Additionally, unreachable code is removed from the method.

This package also contains several auxiliary classes that perform operations like determining whether or not an expression has side effects and comparing two nodes.

EDU.purdue.cs.bloat.tree

The classes necessary to create and represent a Java method as an expression tree. The nodes of the tree model various operations (arithmetic operations, method calls, exceptions being thrown, etc.) performed by a method. There are also classes that let you visit and operate on the tree.

EDU.purdue.cs.bloat.util

Contains a number of utility classes used by BLOAT. BLOAT uses several utility classes such as a directed graph and an immutatable iterator to get its work done.

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.