This page is a Java glossary specific to the Java Specialists Symposium 2011, augmenting the list of topics. User pages listed here were also used to find entries. Definitions are pitched to the participants who already have extensive knowledge of Java though not necessarily in all areas.
Please insert brief explanations and links to your favourite web resources under each topic if you have time and feel inclined.
- 1 Agile Methodologies
- 2 Ajax
- 3 Android
- 4 ANTLR
- 5 Architecture
- 6 Aspect Oriented Programming
- 7 AST
- 8 Behaviour-Driven Development
- 9 BIRT
- 10 Byte code manipulation
- 11 Clojure
- 12 Cloud Computing
- 13 CMS
- 14 Cocoon
- 15 Concurrency
- 16 Dependency Injection
- 17 Design Patterns
- 18 The Disruptor Pattern
- 19 Distributed/Remote Development
- 20 Domain Modelling
- 21 DSL
- 22 Dynamic Modules
- 23 EclEmma
- 24 Eclipse
- 25 Erlang
- 26 FormTool
- 27 Frameworks
- 28 G1
- 29 Garbage Collection
- 30 Game of Life
- 31 Grails
- 32 Griffon Framework
- 33 Groovy
- 34 Hazelcast
- 35 Hibernate
- 36 iBatis
- 37 ICEfaces
- 38 IDE
- 39 iOS
- 40 Jacob
- 41 JaCoCo
- 42 Jakarta
- 43 JasperReports
- 44 Java 7
- 45 Java EE
- 46 JavaFX 2.0
- 48 JBoss
- 49 JBPM
- 50 JDO
- 51 Jigsaw
- 52 Jini
- 53 Jserv
- 54 JSF
- 55 JUnit
- 56 JXTA
- 57 Knowledge-based systems
- 58 Lambda functions
- 59 Lego Mindstorms
- 60 Lombok
- 61 Maven
- 62 Mechanical Sympathy
- 63 Messaging
- 64 Mobile technologies
- 65 Modularization and packaging systems
- 66 Mule ESB
- 67 mybatis
- 68 NetBeans
- 69 NoSQL
- 70 ORMs
- 71 OSGi
- 72 Performance
- 73 polyglot programming
- 74 Pragmatic Programming
- 75 Qi4j
- 76 Quartz Scheduler
- 77 RAP
- 78 Rational Team Concert
- 79 RCP
- 80 Refactor
- 81 Refactoring Golf
- 82 REST
- 83 RIA
- 84 Rich Ajax Platform
- 85 Rich Client Platform
- 86 Scala
- 87 Shiro
- 88 Spock
- 89 Spring
- 90 SpringSource Tool Suite
- 91 Struts
- 92 SWRL
- 93 TDD/BDD
- 94 Test-Driven development
- 95 Tycho
- 96 UML
- 97 Unit Testing
- 98 Velocity
- 99 Virtual extension methods
- 100 WebSphere
- 101 WebWork
- 102 XML
- 103 YUI
- 104 Zing
See The New Methodology,... and ...
Specifically, the following methodologies and concepts have been mentioned:
- continuous integration and deployment
- software/process metrics.
ANTLR, ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. ANTLR provides excellent support for tree construction, tree walking, translation, error recovery, and error reporting
Software architecture ...
Aspect Oriented Programming
Abstract syntax tree.
See also: Groovy AST and [Project] Lombok (below).
Business Intelligence and Reporting Tools
BIRT is an open source Eclipse-based reporting system that integrates with your Java/Java EE application to produce compelling reports.
Byte code manipulation
Context: Byte code manipulation at the AST level: Groovy AST and Project Lombok -- suggested by Andres Almiray.
Context: Java and cloud computing (may be related to "The future of Java EE") --suggested by Álvaro Hernández.
Content Management System
A programming technique whereby ....
The Disruptor Pattern
See also: mechanical sympathy (below). (ask Michael Hunger)
The development team is distributed.
Context: Topic: How to program in a remote team (Heinz)
Topic: Building applications on OSGi (below).
Code coverage plug-in for Eclipse.
An IDE, RCP, ...
... see also Velocity below.
See: Software framework on Wikipedia (and links under 'See also').
Context: How to prevent reinventing the wheel / Strategies of keeping up to date in the jungle of available Frameworks -- suggested by Rabea Gransberger.
A Garbage Collector (below).
Context: topic: Garbage Collectors, G1, Zing
Game of Life
A desktop application development platform for the JVM.
Context: suggested topic 'Byte code manipulation at the AST level: Groovy AST and Project Lombok'.
Hazelcast is an open source clustering and highly scalable data distribution platform for Java, which is:
- Lightning-fast; thousands of operations/sec.
- Fail-safe; no losing data after crashes.
- Dynamically scales as new servers added.
- Super-easy to use; include a single jar.
Data mapper framework. Previously an Apache project (retired).
Lives on in MyBatis.
iOS (known as iPhone OS before June 2010) is Apple's mobile operating system.
Context: OS (and Android) Development in Java -- suggested by David La Motta.
JACOB is a JAVA-COM Bridge that allows you to call COM Automation components from Java.
Code coverage library.
The Apache Jakarta™ Project: a bunch of Java projects run by the Apache community. Most of the projects have become full top-level Apache projects. Some have been retired. Some may be listed in this glossary.
Ask Dimitris ...
See Apache River.
Context: webapps on a facelets-JSF-Seam-JPA stack Brian Cole
JXTA is a programming language and platform independent Open Source protocol started by Sun Microsystems for peer-to-peer (P2P) networking in 2001.
- e.g. the area of Configuration (Constraints, Procedures etc.) (Rabea)
Also: Rabea has co-developed an interface for controlling robots with pure SWT and some overlays for OpenCV (real time image processing) created with JNI/JNA. The main purpose was the Robocup Rescue Real Robot League Event in 2006.
Project Lombock: ...
Getting rid of boilerplate code in Java ...
Context: suggested topic 'Byte code manipulation at the AST level: Groovy AST and Project Lombok'. Also in the contexts of frameworks.
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
See also: Tycho below.
Topic: Mechanical Sympathy, The Disruptor Pattern
Topic: Messaging and concurrency.
Modularization and packaging systems
Context: Java modularization and packaging systems -- suggested by Álvaro Hernández.
data mapper framework ...
An IDE, RCP, ...
See also: NoSQL, YesQL.
See also project Jigsaw (above).
using the right tool for the right job
Refers to the book The Pragmatic Programmer: From Journeyman to Master- a must read for career programmers - and pragmatic programming in general.
Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java EE or Java SE application - from the smallest stand-alone application to the largest e-commerce system.
[e.g. Eclipse] Rich Ajax Platform (RAP).
Rational Team Concert integrates work item tracking, source control management, continuous builds, iteration planning, and highly configurable process support to adapt to the way you want to work, enabling developers, architects, project managers, and project owners to work together effectively.
Rich Client Platforms: e.g. NetBeans and Eclipse (above).
Context: topic: Refactoring Golf
A game to compare refactoring tools in IDEs (please expand).
Topic: Refactoring Golf, Refactor to a certain solutions using your IDE efficiently.
REST APIs ...
Rich Ajax Platform
Rich Client Platform
Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management.
See also: TDD/BDD
SpringSource Tool Suite
The Apache Struts web framework is a free open-source solution for creating Java web applications.
See Test-driven development/ Behaviour-driven development.
(including: incremental design, constant verification and quick feedback)
Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven.
Virtual extension methods
Context: Java 8, lambda functions, virtual extension methods... -- suggested by Álvaro Hernández.
- IBM WebSphere Portal: Servelets, Portlets, JSP, JSF, ...
A Garbage Collector (above).