Java

software-development

scala
groovy
closure
eta

Articles
Resources
Tools
Reactive
Testing
Spring
Common problems

https://www.ibm.com/developerworks/library/j-jtp0924/j-jtp0924-pdf.pdf

RxJava: for wrangling UI interactions in a declarative fashion. https://github.com/ReactiveX/RxJava

Gripe:

Java is still a compiled language. You have to first compile it before you can run it. Perhaps, we can have a shell script wrapper that automate the compile step. When I was stuck with JDK 1.4, this means that I had to restart the container (Tomcat or WebLogic) every time I made change to a class file. Later JDK version may allow a class to be dynamically re-compiled / re-loaded without restarting the container.

Checkstyle
NIO - http://tutorials.jenkov.com/java-nio/overview.html
Netty

Cheatsheet - Fundamental - done
Fundamentals / Miscellaneous - done
Anonymous Classes - done
Nested Classes - done
Adapter Classes - done
JGroups - done
The equals and hashCode methods - done
Beans - done
REST
Annotations
Design Patterns
Static
PDFs
Functional programming - done
Classpath - done
Operators
Exception handling - done
Basic data types - done
Data structures / Collections - done
Serialization - done
Array - done
ArrayList - done
Vector - done
Enum - done
HashMap - done
Hashtable - done
TreeMap
LinkedHashMap
Set
HashSet
String

Generics - done
Concurrency / Multi-threading - done

JSP
JSP Template
JSTL
Template / Handlebars / Mustache
Servlet
Filters
File upload and download
JDBC
JSON
Regular Expression

Date and time
Sorting

Samples

Keyboard
Libraries and Frameworks
Properties
How to run a Java program in the background
Performance Tuning
SHA1
Disable auto-update
Decompilers
Documentations
GUI / AWT / Swing
Log4J
XML
Mail
Static code analysis tools
How to debug Java application
Logging

DLLs
Simplifying your deployment
JARs
Searching inside JAR files
Other Java technologies - done

Certificates / Keystores
keytool
Memory usage - done
Core dump - done
Crash analysis - done
No route to host - done

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License