Category Archives: Java
Java tips and tricks
Spring 3.2 with Jackson views
Java Basic things to know
___________________________________
| Classes – variables – methods : |
___________________________________
private : allow access only to the current class.
public : allow access to everybody regardless of the package.
protected : allow access only to subclasses or class of the same package.
default : allow access only to class of the same package.
transient : variable is not a part of a persistent object
final : class can’t be extended, method can’t be overriden and variable can’t be reinitialised.
static : class variable and not instance of class variable (useful for class constant used with final), class method can be called without create an instance of the class,
volatile : indicates that a thread must reconcile its working copy of the field with the master copy every time it accesses the variable.
__________________________________
| Classes – Interfaces : |
__________________________________
Implements : a class can implements several interfaces, but can extend only one class.
Extends : a class can only extend one another class, interface can extend an another interface.
Interfaces and Abstract classes do not need to fully implement the interfaces they respectively extend or implement
______________________________________
| Collections : Set, List & Map : |
______________________________________
Set : contains unique objects and no null elements are inserted.
HashSet : (Faster) but there absolutely no order.
TreeSet : (Normal) Object inside the set must implement the Comparable interface and compareTo method.
LinkedHashSet : (Slower) The order is respected regarding the order of objects inserted.
List : could contains null elements and duplicated objects, the order how the elements has been inserted is keeped.
ArrayList : (Faster) To get indexed element. (Slower) To delete or insert element.
LinkedList : (Faster) To remove or insert element. (Slower) Have to traverse the list to get an element.
Map : contains a pair of element of key/object.
HashMap : No ordering.
TreeMap : Key ordering.
LinkedHashMap : Preserves the insertion order.
HashTable : is a synchronized hashmap.
______________________________________________
| Interface: Comparator & Comparable : |
______________________________________________
Comparator : To implement as an utility to compare two objects and override compare() method;
Comparable : To implement on the object to compare and override compareTo() method;
Hibernate – Best Practices :
A useful link to know how to implement Equals and HashCode : https://community.jboss.org/wiki/EqualsAndHashCode
Hibernate Transaction
Good thing to know about Hibernate and transaction is that all you do as delete, update or insert data, think that hibernate will proceed in this order when you release the transaction :
INSERT
UPDATE
DELETE