Skip to content

Instantly share code, notes, and snippets.

@jnizet
jnizet / gist:4190246
Created December 2, 2012 18:14
Annotation test
// Annotation1.java
package bar.baz;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
package bar.baz;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JLabel;
@jnizet
jnizet / gist:4726452
Created February 6, 2013 22:22
Hiding button test
public class ButtonTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
showGUI();
}
}
);
}
public static BigInteger fact(int a) {
if (a == 0) {
return BigInteger.ONE;
}
return BigInteger.valueOf(a).multiply(fact(a - 1));
}
@jnizet
jnizet / GenericsFun.java
Created December 15, 2013 10:15
Yes, you can add an element from a list to this list, even without knowing its type.
import java.util.ArrayList;
import java.util.List;
public class GenericsFun {
public static void main(String[] args) {
List<B> bs = new ArrayList<>();
bs.add(new B());
List<? extends A> mix = bs;
appendFirstElementToList(mix);
System.out.println("mix.size() = " + mix.size());
import java.util.Arrays;
public class ArrayTest {
public static void main(String[] args) {
int[] array = new int[] {1, 2, 3, 4};
foo(array);
System.out.println("array in main : " + Arrays.toString(array));
}
private static void foo(int[] array) {
@Override
public boolean login(User user) {
// Check if we have a valid user/pass pair
String hashedPassword = hash(user.getPassword());
String jpql = "SELECT u FROM User u WHERE u.username=:userName AND u.password=:password";
TypedQuery<User> query = entityManager.createQuery(jpql, User.class);
query.setParameter("userName", user.getUsername());
query.setParameter("password", hash);
List<User> users = query.getResultList();
return !users.isEmpty();
try {
bar.libraryCall("hello", 1);
int i = 1;
if (i < 0) {
throw new NoSuchMethodError();
}
}
catch (NoSuchMethodError e) {
bar.libraryCall("hello");
}
@jnizet
jnizet / gist:10005906
Created April 6, 2014 13:18
Test to show how iterating on a synchronized collection causes exception if another thread modifies it
package com.foo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public class SynchronizedCollectionIteration {
public static void main(String[] args) {
final CountDownLatch latch = new CountDownLatch(1);
@jnizet
jnizet / gist:10006815
Created April 6, 2014 14:28
Accessing to a non-thread-safe collection by multiple threads leads to problems
package com.foo;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public class UnsynchronizedCollectionAccess {
public static void main(String[] args) throws InterruptedException {
final CountDownLatch latch = new CountDownLatch(1);
final List<Integer> list = new ArrayList<Integer>();