Java & Software Development

Java Portals & News Specifications & Manuals Discussion
Java News Center
TheServerSide - J2EE community
Artima Developer Community
onjava.com
Javalobby
today.java.net
JavaWorld
Java Developer's Journal
jGuru
Jax magazine - Java Apache XML
IBM: Java Developer Works
J2EE Olympus
Gamelan Java portal
Java Boutique
Focus on Java
ClientJava.com
DevX JavaZone
JavaCoffeeBreak
Dr.Dobb's
Esus Java Directory, Q & A
stackoverflow.com - generic Q & A
IBM JCentral
JavaBlackBelt.com - Java exams online

JavaRanch Big Moose Saloon forums
Google Java links
Huge Java software directory

My other bookmarks and RSS links
My RSS link collection
My del.icio.us bookmarks

Link collections by others
del.icio.us - bookmark collections
dzone.com - fresh links for developers
Andre's Java Links
Gil Hansen's Java Links
Brad Appleton's Java Links
TheOpenSourcery (Java, PHP, SQL...)

Search engines & code examples
docjar.com
Google codesearch
Code search - O'Reilly books
API search (HTML, CSS, JS, CSS, PHP etc)
JExamples - Java code search engine
Code Examples (great)
CodeZoo
Sourceforge
Jakarta Project
Open Source Software in Java
Jars.com
JavaShareware.com
java201.com
Java at hotscripts.com
javapractices.com

Other
CodeBetter.com (.NET stuff)
Java
Java EE API specifications
Java SE specifications
Spring documentation
Hibernate documentation
Struts documentation
Struts 1.3 tag reference

HTML
HTML Spec
HTML Quick Reference
HTML RGB color picker

JavaScript
JavaScript Reference
JavaScript Quick Reference
Advanced JavaScript
JavaScript Quick Reference with examples
the JavaScript source (examples)

XML/XSL
XSLT Function reference
XSLT Spec
XPath Spec
XPath Quick Reference
XML Spec
XML Quick Reference
XML/HTML validator (online)

CSS
CSS 2.0 Spec
CSS for paged media
CSS Quick Reference
CSS Quick Reference Card

UML & modelling
UML Reference Card

Java Server Faces (JSF) & Java Server Pages (JSP)
JSF Quick Reference
JSF links (Great!)
Java Server Faces Resources
JSFCentral
Java Server Pages (JSP) Spec
JSP Quick Reference

Protocols
HTTP 1.1 Spec
HTTP Headers Quick Reference
Simple Object Access Protocol (SOAP)
POP3 Spec
IMAP4 Spec
FTP Spec

Tools
Log4J manual
Log4J PatternLayout
Apache Ant Manual
CVS Quick Reference Card
SubVersion Quick Reference
Microsoft Excel guide
Batch file reference
Windows 2K DOS commands
Bash Quick Reference

Misc
Regular Expressions Cheat Sheet
fileformat.info - everything about fileformats
Open Web Application Security Project - Wiki
MIME types
Many quick reference cards (great!)

SQL
SQLzoo.net - interactive tutorial
SQL Reference
DB2 error codes
Wikipedia: SQL Join Operations

Usenet News
news: comp.lang.java
news: comp.lang.java.programmer
news: comp.lang.java.gui
news: comp.lang.java.beans
news: comp.lang.java.help
news: comp.lang.java.security
news: comp.lang.java.databases
news: comp.lang.java.softwaretools
news: com.software.extreme-programming
news: agile game development
news: comp.software-eng

Yahoo eGroups
Agile Project Management
Agile Management
Extreme Programming
Scrum
Test Driven Development
Agile Testing
Agile Modeling
Lean Development
Fakiiri - Finnish Facilitators

Software Engineering Magazines
Agile Journal
ObjectiveView
Software Development Magazine
Methods and Tools
IEEE Software Magazine
Software Mag.com
Software Test & Performance
SD Times - software development magazine
Microsoft - The Architecture Journal
The Rational Edge
Optimize Mag
StickMinds.com
IEEE Software Magazine
Free Software Magazine
IEEE Transactions on Software Engineering
Software Engineering Institute (SEI)
Objects by Design
Application Development Trends
MSDN Magazine - The Microsoft Journal for Developers
Software Project Management
Joel on Software - excellent articles
Sytyke (Finnish)
Sytyke - lehdet
Java Jazz Up - free magazine
Testing Experience

Other
InfoQ - lots of good articles and material
ThoughtBlogs (Java gurus)
AgileManagement.net
Agile Software Development forum
AgileFinland - agility discussion
Agile ITEA - newsletters and research papers
Microsoft - MSDN Architecture Center - Agile Development
Articles about agile practices
IBM RUP discussion forum
IASA - International Association of Software Architects
MyCatalyze - for Analysts and UX experts
Jakob Nielsen's articles on usability
VTT: Agile Software Techniques
Yahoo eGroups
Mega Society Journal
Bloglines.com
Google Software Engineering Directory

FAQs
comp.lang.java FAQ List
Java FAQ by Jonni Kanerva
Java & Internet Glossary by Roedy Green
Java Developer's FAQ -- Drawing
JavaDoc Usage
Links to several FAQs

Development Tools Books & Articles Agility & Software Engineering
Tools
Feedbro - Feed Reader (RSS, Atom, RDF)
Maven - Build tool
Nexus - Maven repository manager
Apache Ant
Hudson - excellent continuous integration server
JAD - Java Decompiler
JODE - Excellent Java Decompiler
Java Decompiler tools
JavaDoc Doclets
XPath Explorer
Eclipse - the best Java IDE
EasyEclipse - with loads of plugins

Collaboration & management
JIRA - generic issue tracker
Greenhopper - "agile" JIRA plugin
Eclipse Mylyn plugin (works with JIRA)
Confluence - enterprise wiki

Testing
JUnit - Unit testing tool
Cactus - in-container testing tool
HttpUnit - system testing tool
Selenium - web app testing tool
TestNG - Great testing framework
Cobertura - Unit test coverage tool
EasyMock - Mock Object framework
OSS Testing Tools
SOAPUI - Test webservices
JavaScript tester
Fitnesse - acceptance testing tool
JMeter - web app stress tester
JFeature - requirement coverage tester

Quality & Metrics
FindBugs - Bug pattern analyzer
Lint4J - Java code analyzer
JLint - Code analyzer
JavaNCSS - Code metrics analyzer (great!)
Checkstyle - checks source code style
JDepend - Code dependency analyzer
XRadar - integrates metrics tool reports
Macker - enforce architecture rules
StatSCM plugin for Maven
Jalopy - code beautifier
CleanImports - Java Import statement cleaner
QALab - build statistics

Containers & application servers
Jetty - Excellent web container
JBoss
Jakarta Tomcat - servlet runner
Jakarta Tomcat + Apache www-server wiring
Tomcat connectors

Patterns
ui-patterns.com - User Interface Design Patterns
AJAX Patterns
Java Design Patterns
J2EE Design Patterns (Sun)
J2EE Antipatterns
EJB Design Patterns
Object-Oriented Reengineering Patterns
Design Patterns with Java/C++ examples (nice!)
Object Oriented Design and Programming Patterns
Thinking in Patterns by Bruce Eckel
Enterprise Integration Patterns
Enterprise Patterns by Martin Fowler
Enterprise Solution Patterns Using Microsoft .NET
InfoQ: Enterprise SOA
InfoQ: Domain-Driven-Design - Quickly
Wikipedia: Antipattern
Wikipedia: Design pattern
Development Antipatterns
c2.com Antipatterns catalog
xUnitPatterns.com - tips for creating unit tests
Software Configuration Management patterns
Patterns Almanac by Linda Rising

Tools
eBook: Better Builds with Maven (2)
Maven - The Definitive Guide

Java
InfoQ: Starting Struts 2
Mastering EJB 3
J2EE Architect's Handbook
Mastering Enterprise JavaBeans
Java Testing and Design
J2EE and XML
Many Java Book Links
Sun: J2EE Blueprints
Thinking in Java
J2EE Tutorial
Wilson, Kesselman: Java Platform Performance
Swing Tutorial
Java 3D API
Java Look & Feel Design Guidelines
Java Books at Sun
J2EE ClassLoading issues

Misc
Object-Oriented System Development
Free eBooks
Free computer books
37signals: Getting Real
Essential Skills for Agile Development
Ross Anderson: Security Engineering
Handbook of Applied Cryptography
JavaPractices.com
Fearless Change: Patterns for Introducing New Ideas
7 deadly sins of software project management
Humble Little Ruby Book
Agile Architecture
InfoQ: Scrum checklists
Software Project Management / Steve McConnell
Software Engineering Resources (a lot of material!)
The New Methodology by Martin Fowler
Material by Karl Wiegers

Material by Gurus
Martin Fowler.com
Material by Tom Gilb
Excellent material by Scott Ambler
Stuff by Bas Vodde
Poppendieck: Lean Software Development
Material by Jim Highsmith
Excellent blog entries by Brad Appleton
Alistair Cockburn's superb articles and material

Misc
Agile Alliance
Scrum Alliance
Agile Manifesto (principles)
Description of agile principles
Agile development distilled
Lean Software Development resources
Google Agility links
dmoz.org agility links
Agile cheat sheets
Agile Modeling
Agile Data
ObjectMentor
Wikipedia: Software Development
Lots of agile development material
refactoring.com
databaserefactoring.com
AgileKiwi - Practical Agile Software Development
Retrospective wiki
Agile Data
Agile Portal
Fairly Good Practices (lol)
Software engineering links (great)
CM Crossroads - Configuration Management Community
Agile Software Process with Offshore Development
How to be an Agile Architect
Agile Project Leadership Network (ALPN)

Extreme Programming (XP)
Extreme Java.com
Dynamic Systems Development Method (DSDM)
Feature Driven Development (FDD)
Behaviour-Driven Development
FDD Portal
Rational Unified Process (RUP)
Enterprise Unified Process (EUP)
Essential Unified Process (EssUP aka lightweight RUP)
Agile Unified Process (AUP)
Open Unified Process
Microsoft Solutions Framework (MSF)

Scrum
mountaingoatsoftware.com - Scrum
Scrum Development Process (Ken Schwaber)
Scrumoogle.com - Scrum search engine
controlchaos.com - Scrum
Scrum paper
A/B/C-type Scrum
Scrum Quick Reference
Scrum discussion

Java Libraries Misc Education & Certification
Component Collections
Jakarta - The BEST Java Libraries
Codehaus.org - Excellent Java components
OpenSymphony.com - great Java components
ObjectWeb - components and tools
LaughingPanda.org - components

Single Libraries
Spring application framework
Hibernate O/R-mapping framework
Struts Web application framework
Apache MyFaces open JSF-implementation
Fast Infoset (Binary XML)
VTD XML library
Extensible Modeling and Simulation Framework (XMSF)
Crispy - Remote Service Invocation Framework
AppFuse framework (Struts, Spring, Hibernate)
Lucene - Pure Java search engine
LIUS - Lucene Index Update and Search
Apache XML/XSLT/SOAP Engines for Java
XStream - Serialize Java Objects to XML
JOpenChart - graph library
Concurrent programming library by Doug Lea
Ozone - Object-oriented Java DBMS
HTTPClient - great HTTP library
jCIFS - Java implementation of MS Win CIFS protocol
PDFBox - Java PDF extraction library
iText - generate PDFs using Java
Adobe XPAAJ PDF library
JTA - Java telnet/SSH application
JavaMail API - POP3/IMAP4/SMTP
JZLib - pure Java zlib implementation
JIU - Java Imaging utilities
JIGL - Java Image and Graphics Library
Drools - Java Rule Engine
POI - Access Microsoft document types
JPetStore with Struts
SiteMesh - web-page layout and decoration framework
XOM - XML processing library
Acegi Security System for Spring

Threads & Networking
O'Reilly: Exploring Java, Chapter 6: Threads
Java Network Programming, Chapter 11
Java I/O, Chapter 5: Network Streams
Java Thread Synchronization

Optimization
PreciseJava - performance tips
Jack Shirazi: Java Performance Tuning Tips
Doug Lea: Performace Optimization
Java Performance and Profiling
O'Reilly: Optimizing a Query on a Collection
Patrick Killelea: tips on Java Performance Tuning
O'Reilly: Java Performance Tuning Chapter 4
IBM Systems Journal: Java Performance
Glen McCluskey: Java Performance

AVOID LOW LEVEL OPTIMIZING!
Instead, use better algorithms and architecture.

Linux/Unix
Solaris 10
Solaris 9
Redhat Linux 9.0
Redhat Linux ES 3.0
All Redhat manuals
Suse Linux
Free BSD
Fedora Core
Debian Linux
Unix tutorials
Huge collection of Linux/Unix tutorials
Howtoforge - linux tutorials
One page Linux manual

Universities
Helsinki University of Technology - Software Engineering
Helsinki University of Technology - Computer Science
University of Helsinki - Computer Science
Tampere University of Technology - Ohjelmistotekniikka
University of Jyväskylä
MIT - Computer Science
Berkeley - Computer Science
Stanford University - Computer Science
Yale University - Computer Science Courses
Carnegie Mellon - School of Computer Science
Cornell University - Computer Science
Princeton University - Computer Science

Training courses
ISEB Certificates
Sun Java Certificates
SEI courses
Project Manager Certification in Finland
Scrum Alliance

Conferences
JAOO, Denmark
JavaOne
JavaPolis
XP Day
Agile Conference
OOPSLA