Java

software-development

scala
groovy
closure
eta

Articles
Resources
Tools
Reactive
Testing
Spring
Common problems

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
Fundamentals / Miscellaneous
Anonymous Classes
Nested Classes
Adapter Classes
JGroups
The equals and hashCode methods
Beans
Annotations
Design Patterns
Static
Functional programming
Classpath
Launching processes
Operators
Exception handling
Basic data types
Data structures / Collections
Serialization
Array
ArrayList
Vector
Enum
HashMap
Hashtable
TreeMap
LinkedHashMap
Set
HashSet
String

Generics
Runnable
Executor
Concurrency / Multi-threading

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

Certificates / Keystores
keytool
Memory usage
Core dump

How can we avoid the "GC Overhead Limit Exceeded" error message?

This exception is thrown by the garbage collector when it is spending way too much time collecting garbage. This error essentially means that you need to add more memory, or reconfigure your garbage collection arguments. You can suppress this error by adding -XX:-UseGCOverheadLimit to your JVM startup arguments.

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