Skip to content

Instantly share code, notes, and snippets.

@sheimi
sheimi / CVJNI.java
Created September 5, 2012 08:42
JNI Demo (invode opencv ...)
import java.io.*;
public class CVJNI {
//Load jni library
static {
try {
System.loadLibrary("cvjni");
} catch (Exception e) {
e.printStackTrace();
}
@sheimi
sheimi / Iter.java
Created January 11, 2013 15:17
software-architecture-review-4: Programming to Interface (Iterator)
import java.util.*;
public class Iter {
public static void main(String[] args) {
Aggregate<Integer, Integer, Integer> ag = new DataList<Integer, Integer, Integer>();
((DataList)ag).add(new ThreeD<Integer, Integer, Integer>(1, 2, 3));
((DataList)ag).add(new ThreeD<Integer, Integer, Integer>(1, 2, 3));
((DataList)ag).add(new ThreeD<Integer, Integer, Integer>(1, 2, 3));
Iterator<Integer> ia = ag.createIteratorA();
while (ia.next() != null) {
@sheimi
sheimi / listToDict.py
Created July 23, 2012 05:39
convert to list to a dict
keys = ['a', 'b']
values = ['c', 'd']
dictionary = dict(zip(keys, values))
@sheimi
sheimi / LimitedInstances.java
Created June 23, 2012 14:14 — forked from kavinyao/LimitedInstances.java
A solution to limited instances problem using Proxy Pattern
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
/*
* A solution using Proxy Pattern to limited instances problem
* Requirement:
* class RareResource must have no more than 3 instances at any run time.
* Note:
* Black magic like reflection is out of consideration as you can never prevent it.
@sheimi
sheimi / Singleton.java
Created November 9, 2014 05:52
code in blog.sheimi.me: 2012-06-20-software-architecture-review-5 (1)
import java.util.*;
public class Limiton {
private static int limit = 3;
private static Limiton[] instances = new Limiton[3];
private static Random r = new Random();
static {
for (int i = 0; i < limit; i++) {
instances[i] = new Limiton();
}
}
@sheimi
sheimi / Decorator.java
Created November 9, 2014 05:50
code in blog.sheimi.me: 2012-06-20-software-architecture-review-4 (3)
// Problem
abstract class VisualComponent {
void draw();
void resize();
}
class TextView extends VisualComponent {
void draw() {...}
void resize() {...}
}
@sheimi
sheimi / Proxy.java
Created November 9, 2014 05:48
code in blog.sheimi.me: 2012-06-20-software-architecture-review-4 (2)
import java.util.*;
public class Proxy {
public static void main(String[] args) {
}
}
class ThreeD<T, V, W> {
private T t;
@sheimi
sheimi / Iter.java
Created November 9, 2014 05:47
code in blog.sheimi.me: 2012-06-20-software-architecture-review-4 (1)
import java.util.*;
public class Iter {
public static void main(String[] args) {
Aggregate<Integer, Integer, Integer> ag = new DataList<Integer, Integer, Integer>();
((DataList)ag).add(new ThreeD<Integer, Integer, Integer>(1, 2, 3));
((DataList)ag).add(new ThreeD<Integer, Integer, Integer>(1, 2, 3));
((DataList)ag).add(new ThreeD<Integer, Integer, Integer>(1, 2, 3));
Iterator<Integer> ia = ag.createIteratorA();
while (ia.next() != null) {
@sheimi
sheimi / test.java
Created November 9, 2014 05:36
code in blog.sheimi.me: 2012-09-05-a-summary-of-using-jni (5)
jbyteArray result = env->NewByteArray(imageDesV.size());
@sheimi
sheimi / test.sh
Created November 9, 2014 05:34
code in blog.sheimi.me: 2012-09-05-a-summary-of-using-jni (4)
g++ -m64 -shared -fPIC cvjni.cpp /usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_highgui.so -o libcvjni.so \
-I/usr/local/include -I/usr/lib/jvm/jdk1.6.0_35/include \
-I/usr/lib/jvm/jdk1.6.0_35/include/linux