Tags » Jvm

Eclipse, go faster!

My university’s CSE program had two favorite dev tools:  Eclipse or emacs (which was later replaced with your text editor of choice :)).  You could tell me I should switch to IntelliJ, but being not that far removed from college, I’m just not ready. 235 more words

Java JDK, JVM, JRE, JIT

Before going into more details of Java, it is important to understand core of Java. Let’s dive into concepts like JVM, JIT, JDK, JRE.

JVM (Java Virtual Machine) 657 more words

Clojure type hinting

Clojure code snipet

(let 
  (println "with type hint")
  (.indexOf ^java.util.List headers "B")
  (println "without type hint")
  (.indexOf headers "B"))

generates following byte code

 0: getstatic     #15                 // Field const__0:Lclojure/lang/Var;
 3: invokevirtual #20                 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object;
 6: checkcast     #22                 // class clojure/lang/IFn
 9: ldc           #24                 // String A
11: ldc           #26                 // String B
13: ldc           #28                 // String C
15: invokeinterface #32,  4           // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
20: astore_0
21: getstatic     #35                 // Field const__1:Lclojure/lang/Var;
24: invokevirtual #20                 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object;
27: checkcast     #22                 // class clojure/lang/IFn
30: ldc           #37                 // String with type hint
32: invokeinterface #40,  2           // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
37: pop
38: aload_0
39: checkcast     #42                 // class java/util/List
42: ldc           #26                 // String B
44: invokeinterface #46,  2           // InterfaceMethod java/util/List.indexOf:(Ljava/lang/Object;)I
49: invokestatic  #52                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
52: pop
53: getstatic     #35                 // Field const__1:Lclojure/lang/Var;
56: invokevirtual #20                 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object;
59: checkcast     #22                 // class clojure/lang/IFn
62: ldc           #54                 // String without type hint
64: invokeinterface #40,  2           // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
69: pop
70: aload_0
71: aconst_null
72: astore_0
73: ldc           #55                 // String indexOf
75: iconst_1
76: anewarray     #57                 // class java/lang/Object
79: dup
80: iconst_0
81: ldc           #26                 // String B
83: aastore
84: invokestatic  #63                 // Method clojure/lang/Reflector.invokeInstanceMethod:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
87: areturn
… 122 more words
Clojure

What is JVM? What it does?

JVM is the abstract machine. It is a specification that provides runtime environment in which Java byte code can be executed.

Jvm available for hardware and software platform. 37 more words

Java Vertual Machine

Der gerechte Zorn der Werber: Jung von Matts Raphael Brinkert vs. Fernet Branca

Indiskutabel sei es, so etwas zu machen, ja, an der “Grenze zwischen Polarisierung und bewusster Herabwürdigung bzw. Diskriminierung” sei das Fernet Branca Plakat, das in vermessener, ja hybrider Größe an einer Hauswand in Hamburg Ottensen angebracht wurde. 475 more words

Fernet

His G1GC Musing Recollections

Since I was unable to recover most of the pictures and articles I’m going to try to put down what I can remember about my more recent configuration with G1GC. 809 more words

Things

Java ClassLoader

Class loader is a part of JRE that dynamically loads classes in Java Virtual Machine. There is a special class “Class” which contains information about the class. 521 more words

Java