Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

A Java Mind map by the London Java Community www.londonjavacommunity.co.uk by Mind Map: A Java Mind map by the
London Java Community
www.londonjavacommunity.co.uk
5.0 stars - 9 reviews range from 0 to 5

A Java Mind map by the London Java Community www.londonjavacommunity.co.uk

READ ME

What is this

This is the first LJC collaborative mindmap to break down the language

Its a mindmap, http://en.wikipedia.org/wiki/Mind_map

Barry's original post: I’m not sure if it will be as effective as I hope, but my gut feeling is that it will help non-techies and people that don’t use Java to understand how things fit together in the language so that the can better understand technical conversations. I also feel it could have potential for junior developers to form an idea how everything fits together. I also feel personally that it may actually also help developers of all levels to see where their skills lie and potentially where they need to develop further. Especially as one of the most popular rejections for interview is that the candidate didn’t know what they knew and what they didn’t know. I also feel that it could help provide the spine of a technology portfolio of a CV.

GET INVOLVED!!!

How should we break Java down into smaller chunks?- Here's a start..., Where do these terms fit into the Javasphere? (Please put them into the map somewhere), OOAD, i18n, Questions, Language, platform or APIS? All of the above, Please add notes and questions in red through the map - Barry

If you would like to take part and edit it yourself then let me know and I'll send you an invitation - b.cranford@clearview-itrs.co.uk, Feel free to add / remove / edit / group / ungroup / connect any part of this map

Etiquette of this map

Feel free to add / remove / edit / group / ungroup any part of this map, Add notes. AKAs are helpful.

Aims of this map

To find the most 'elegant' way to break the language down, So that it can be read by technical and non technical people alike

SQLJ

Versions

JDK 1.0

JDK 1.1

Inner Classes

Java Beans

JDBC

RMI

JDK 1.2

Swing

JIT

CORBA

Collections Package

JDK 1.3

HotSpot

JNDI

JPDA

JDK 1.4

assert keyword

Perl 5 Regexps

NIO

logging API

Crypto API

XML

WebStart

JDK 1.5

Concurrent

Generics

Annotations

enumerations

varargs

foreach

JMX

TI

Autoboxing

JDK 1.6

Scripts

Drag and Drop

Instrumentation

XML Digital Signature API

Smart Card I/O

Elliptic Curve Cryptography

Access Network Security Services

FIPS 140 (JSSE)

DTrace Probes

JDBC 4

JDK 1.7

Project Coin

Jigsaw

G1 garbage collector

Related technologies

Extensions

SQL

security, JAAS, SSL, policy files

XML, XSLT, Parsers, DOM, SAX, Apache Projects, Cocoon, Xalan, FOP, Batik, Xerces, JAXP

transactions, JTA

sound/media, JMF

Mail

Popular frameworks

Testing, JUnit, XMLUnit, Cactus

Dependency Injection, Spring, Pico Container, Guice

Web, MVC, Apache Struts, Spring MVC, Java Server Faces, GWT

JVM

Compilers, Sun javac, IBM, Jikes, ECJ (Eclipse Compiler for Java), GCJ, non-bytecode compilers, GWT Java to JavaScript compiler

Byte Code, Code Generation, JavaCC, AntLR, Byacc/J

Garbage Collection, PhantomReference, SoftReference, WeakReference, Generational GC, G1

Alternate Languages, Based on Other Languages, JRuby, Jython, lisps, ABCL, Kawa Scheme, Bigloo, SISC, JScheme, Rhino, Fortress, Written for JVM, Clojure, Scala, Groovy, Ioke, Beanshell, JavaFX, Extensions, AspectJ, Almost Java but not quite, J++, GAE/J, Dalvik/Android

JIT Compilation

Platforms, J2ME / Mobile, J2SE, Windows, UNIX / Linux, MacOS, J2EE

Implementation, HotSpot, J9 IBM JVM, Microsoft VM (dead), JRockit, Harmony, JAM VM

Java Constituents

Language

syntax, marker interfaces, philosophy, style

Annotations

Primitive types, Inboxing/Outboxing

Exceptions, Throwable marker, throws / throw, try / catch / finally

Comments

JNI

Methods, Return, Primitive Types, Custome Types / Objects, Parameters, Primitive Types, Custom Types / Objects, Member/Overloading/Overriding Methods

Modifiers, Concurrency, synchronized, volatile, Access modifiers, Public, Protected, Package view / Default, Private, native, transient, final

utility

Compression

logging, Log4J, Commons, SLF4J, Logback

Preferences

regular Expressions

networking

RMI

Web Services

CORBA

Sockets

Core

Maths, StrictMath

IO, Input, Readers, Streams, Output, Writers, Streams

Collections, Collection, Set, SortedSet, TreeSet, HashSet, List, LinkedList, ArrayList, Queue, BlockingQueue, Map, SortedMap, TreeMap, HashMap, Old, Vector, Hashtable, Iterators, Algorithms, Comparator interface

Embedded Databases, Berkeley DB Java Edition, HSQL, Apache Derby

Concurrency, Thread class, Runnable interface, Locks, Read/Write locks, ReentrantLock, Atomic operations, Atomic objects, AtomicInteger, AtomicLong, AtomicReference, Task execution, ExecutorService interface, ThreadPoolExecutor, ScheduledThreadPoolExecutor, ScheduledFuture<V>, Callable<T> interface, Future<T>, Concurrent containers, ConcurrentMap, ConcurrentLinkedQueue, ArrayBlockingQueue, LinkedBlockingQueue, Synchronization utilities, CyclicBarrier, CountDownLatch, Exchanger

Exceptions, Unchecked, RuntimeException, Error, Checked, IOException, SQLException

Object, equals, hashCode, wait / notify / notifyAll

JavaBeans

Reflection

Serialization

Class, Classloaders

JavaDoc

Doclets

Tools

IDE, IntelliJ IDEA, Eclipse, MyEclipse, editors, emacs, JDEE mode, java-mode, vi, NetBeans

Profiling tools, JProfiler, VisualVM, jhat

Build Tools, Ant, Maven, Surefire, Gradle, Gant, Continuous Integration, Hudson

That come with the JDK, jar, javac, jhat, jdb, policytool, rmic, idlj, javah, javap, appletviewer

Debuggers

Testing, Checkstyle, PMD

Disassemblers, JAD

Concepts

Modularity

OSGi, Implementations, Equinox, Felix, Knopflerfish, Component Models, Blueprint Container, Declarative Services, iPOJO

Jigsaw

JSR 294, Superpackages, Module keyword, SimpleModuleSystem

Types of programming

Server side / SOA / J2EE

persistence, Relational, JDBC, Object Based, JDO, CMP, JPA, Hibernate, XML, XStream

EJB, EJB 2.0, EJB 3.0, Types, Session, Stateful, Stateless, Entity, Message-driven

Application servers, JBoss, WebLogic, SAP NetWeaver, Glassfish, WebSphere

Naming, JNDI, LDAP

Web Services, SOA, ReST, XML/RPC, SOAP, WS-*

JMS, MQSeries, Tibco EMS, ActiveMQ

Java-based Servers, Database, HSQL, Apache Derby, Servlet containers, Apache Tomcat, Jetty, servletrunner (obsolete), E-Mail, Apache James, FTP, Colorado

GUI / Client Side

Thick Client, Swing, PLAF, AWT, SWT, Eclipse RCP

Win/Form, Button, Text Fields, Single Line Text Field, Multiple Line Text Field, Dropdown Field, Lablel

Client types, Desktop, WebStart, Applet, HTML-based, servlet, JSP, el, Taglibs, JSTL, Struts taglib, Velocity templates

Notes

Useful websites

java.sun.com

mindprod.com/jgloss/jgloss.html

Limitations of language

Multiple inheritance

Closures

Return multiple values

Continuations

No pass-by-reference

First-class method

Generic type erasure

Alternatives/competitors

Python

.Net

C/C++

Ruby

Objective C

Erlang