<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7902421180310521150</id><updated>2025-11-12T00:00:52.527-08:00</updated><category term="bytecode"/><category term="java"/><category term="lesson"/><category term="game"/><category term="intermission"/><category term="poll"/><title type='text'>Java Bytecode and Coding</title><subtitle type='html'>A blog relating to Java bytecode and Java code itself.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://brutebytecode.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://brutebytecode.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>BruteBytecode</name><uri>http://www.blogger.com/profile/12253639839304650728</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXmO3Ok90eTc211c_4-aV763m_SVzBCK-mm7QdnWdHTm72_qEdpOMeA-LgGC9T_xVH5WkcyruS43FpBvtNacxnHQF8pyYxe5L4YJDlBEIliB9srIygB9uXvAPNq9OwPXo/s220/1evil-agent-smith.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7902421180310521150.post-8992976880321028539</id><published>2012-05-08T15:45:00.002-07:00</published><updated>2012-05-08T15:47:34.498-07:00</updated><title type='text'>Inactivity</title><content type='html'>I&#39;ve had a lot of school work to do recently, and I&#39;m usually distracted by Minecraft coding if I&#39;m not working.&lt;br /&gt;Anyways, I still try to look at all your blogs, but I have been running out of time recently.&lt;br /&gt;Expect more activity by this week or at least the weekend.</content><link rel='replies' type='application/atom+xml' href='http://brutebytecode.blogspot.com/feeds/8992976880321028539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brutebytecode.blogspot.com/2012/05/inactivity.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/8992976880321028539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/8992976880321028539'/><link rel='alternate' type='text/html' href='http://brutebytecode.blogspot.com/2012/05/inactivity.html' title='Inactivity'/><author><name>BruteBytecode</name><uri>http://www.blogger.com/profile/12253639839304650728</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXmO3Ok90eTc211c_4-aV763m_SVzBCK-mm7QdnWdHTm72_qEdpOMeA-LgGC9T_xVH5WkcyruS43FpBvtNacxnHQF8pyYxe5L4YJDlBEIliB9srIygB9uXvAPNq9OwPXo/s220/1evil-agent-smith.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7902421180310521150.post-6357827766007835091</id><published>2012-04-25T16:08:00.005-07:00</published><updated>2012-04-25T17:29:52.705-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="game"/><category scheme="http://www.blogger.com/atom/ns#" term="intermission"/><category scheme="http://www.blogger.com/atom/ns#" term="poll"/><title type='text'>Intermission</title><content type='html'>I&#39;m still going to work on the whole bytecode thing, that should be up tomorrow or the day after.&lt;br /&gt;&lt;br /&gt;Anyways, I want to make some sort of 2D game in Java (I get bored often).&lt;br /&gt;I was thinking of asking you guys what sort of game you would like to see:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Mario-type platformer?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2D side-scrolling shooter?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Space Invaders-type shooter?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Something different?&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s up to you guys.&lt;br /&gt;&lt;br /&gt;Every once in a while, I will post the current version of the game, to keep my audience entertained!&lt;br /&gt;&lt;br /&gt;Let me know what you guys want me to make! I will most likely follow this up with some poll (or not) to determine the winner.</content><link rel='replies' type='application/atom+xml' href='http://brutebytecode.blogspot.com/feeds/6357827766007835091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/intermission.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/6357827766007835091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/6357827766007835091'/><link rel='alternate' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/intermission.html' title='Intermission'/><author><name>BruteBytecode</name><uri>http://www.blogger.com/profile/12253639839304650728</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXmO3Ok90eTc211c_4-aV763m_SVzBCK-mm7QdnWdHTm72_qEdpOMeA-LgGC9T_xVH5WkcyruS43FpBvtNacxnHQF8pyYxe5L4YJDlBEIliB9srIygB9uXvAPNq9OwPXo/s220/1evil-agent-smith.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7902421180310521150.post-5678282109154061242</id><published>2012-04-22T05:35:00.009-07:00</published><updated>2012-04-25T17:29:18.224-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bytecode"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="lesson"/><title type='text'>Java Bytecode: Lesson 3</title><content type='html'>&lt;style type=&quot;&quot;&gt;pre { color: #323232; background-color: #ffffff; }&lt;/style&gt;&lt;br /&gt;Today we are going to look at a real example of bytecode, a &quot;Hello, world&quot; program.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;public class Example {&lt;br /&gt;    int number = 4;&lt;br /&gt;    public Example() {&lt;br /&gt;        System.out.println(&quot;Hello, world!&quot;);&lt;br /&gt;        System.out.println(&quot;Number: &quot; + number);&lt;br /&gt;    }&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        new Example();&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;All this really does is initialize the Example class, printing &lt;i&gt;Hello, world!&lt;/i&gt; and &lt;i&gt;Number: 4&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Now, what happens when we disassemble this (after compiling this of course)?&lt;br /&gt;&lt;pre&gt;$ javap -c Example&lt;br /&gt;Compiled from &quot;Example.java&quot;&lt;br /&gt;public class Example extends java.lang.Object{&lt;br /&gt;int number;&lt;br /&gt;&lt;br /&gt;public Example();&lt;br /&gt;  Code:&lt;br /&gt;   0: aload_0&lt;br /&gt;   1: invokespecial #1; //Method java/lang/Object.&quot;&lt;init&gt;&quot;:()V&lt;br /&gt;   4: aload_0&lt;br /&gt;   5: iconst_4&lt;br /&gt;   6: putfield #2; //Field number:I&lt;br /&gt;   9: getstatic #3; //Field java/lang/System.out:Ljava/io/PrintStream;&lt;br /&gt;   12: ldc #4; //String Hello, world!&lt;br /&gt;   14: invokevirtual #5; //Method java/io/PrintStream.println:(Ljava/lang/String;)V&lt;br /&gt;   17: getstatic #3; //Field java/lang/System.out:Ljava/io/PrintStream;&lt;br /&gt;   20: new #6; //class java/lang/StringBuilder&lt;br /&gt;   23: dup&lt;br /&gt;   24: invokespecial #7; //Method java/lang/StringBuilder.&quot;&lt;init&gt;&quot;:()V&lt;br /&gt;   27: ldc #8; //String Number: &lt;br /&gt;   29: invokevirtual #9; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;&lt;br /&gt;   32: aload_0&lt;br /&gt;   33: getfield #2; //Field number:I&lt;br /&gt;   36: invokevirtual #10; //Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;&lt;br /&gt;   39: invokevirtual #11; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;&lt;br /&gt;   42: invokevirtual #5; //Method java/io/PrintStream.println:(Ljava/lang/String;)V&lt;br /&gt;   45: return&lt;br /&gt;&lt;br /&gt;public static void main(java.lang.String[]);&lt;br /&gt;  Code:&lt;br /&gt;   0: new #12; //class Example&lt;br /&gt;   3: dup&lt;br /&gt;   4: invokespecial #13; //Method &quot;&lt;init&gt;&quot;:()V&lt;br /&gt;   7: pop&lt;br /&gt;   8: return&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;At this point, you will start to see classes, methods, line numbers (these don&#39;t relate directly to the source code), and of course, bytecodes. On the right of some of these bytecodes, the numbers relate to the values in the constant pool.&lt;br /&gt;&lt;blockquote&gt;The constant pool stores many things, such as numbers, class names, signatures, string, all kinds of things.&lt;/blockquote&gt;&lt;br /&gt;Now, lets explore the very first line of the program, in the main method:&lt;br /&gt;&lt;pre&gt;public static void main(java.lang.String[]);&lt;br /&gt;  Code:&lt;br /&gt;   0: new #12; //class Example&lt;br /&gt;   3: dup&lt;br /&gt;   4: invokespecial #13; //Method &quot;&lt;init&gt;&quot;:()V&lt;br /&gt;   7: pop&lt;br /&gt;   8: return&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;Line 0&lt;/i&gt; creates a new object determined by the two bytes following the instruction (that&#39;s why the next instruction is on line 3 -- 0, 1 and 2 are taking up space), which correspond to the constant pool. In this case, the bytes are referring to the twelfth constant in the constant pool, a class by the name of Example (sounds familiar, right).&lt;br /&gt;&lt;i&gt;Line 3&lt;/i&gt; simply duplicates the new instance of this class, therefore there are now two of the same objects on the top of the stack. This is done so we can refer to the object later on, as opposed to losing it right as we call the &lt;init&gt; method.&lt;br /&gt;&lt;i&gt;Line 4&lt;/i&gt; uses the object on the top of the stack and two other bytes (once again, referring to the constant pool), referring to the method &lt;init&gt; (the public constructor), and invokes that instance method (only accessible from the class itself). It pops the instance of the class, any arguments (in this case, none) and basically moves to the first instruction in the method to be called. This will return whatever is returned from the method, but...&lt;br /&gt;&lt;i&gt;Line 7&lt;/i&gt; pops the top-most part of the stack off. This means that anything that was returned is now gone, but that&#39;s good, there was nothing we needed to return!&lt;br /&gt;&lt;i&gt;Line 8&lt;/i&gt;, you guessed it, returns from the method. That&#39;s it.&lt;br /&gt;&lt;br /&gt;Next post we are going to look at the Example constructor in the same manner.&lt;br /&gt;See you soon!</content><link rel='replies' type='application/atom+xml' href='http://brutebytecode.blogspot.com/feeds/5678282109154061242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/java-bytecode-lesson-3.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/5678282109154061242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/5678282109154061242'/><link rel='alternate' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/java-bytecode-lesson-3.html' title='Java Bytecode: Lesson 3'/><author><name>BruteBytecode</name><uri>http://www.blogger.com/profile/12253639839304650728</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXmO3Ok90eTc211c_4-aV763m_SVzBCK-mm7QdnWdHTm72_qEdpOMeA-LgGC9T_xVH5WkcyruS43FpBvtNacxnHQF8pyYxe5L4YJDlBEIliB9srIygB9uXvAPNq9OwPXo/s220/1evil-agent-smith.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7902421180310521150.post-8935621917367721041</id><published>2012-04-21T14:42:00.005-07:00</published><updated>2012-04-25T17:29:30.433-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bytecode"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="lesson"/><title type='text'>Java Bytecode: Lesson 2</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;text.bytecode {    font-family: monospace;    background-color: #ffffff; color: #323232; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;Each of the Java bytecodes fall into a few categories, here they are, along with examples:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Loading and Storing (&lt;text class=&quot;bytecode&quot;&gt;aload_0&lt;/text&gt;, &lt;text class=&quot;bytecode&quot;&gt;astore_0&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Logic and Arithmetic (&lt;text class=&quot;bytecode&quot;&gt;dcmpg&lt;/text&gt;, &lt;text class=&quot;bytecode&quot;&gt;iadd&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Type Conversion (&lt;text class=&quot;bytecode&quot;&gt;i2d&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Object Creation and Manipulation (&lt;text class=&quot;bytecode&quot;&gt;new&lt;/text&gt;, &lt;text class=&quot;bytecode&quot;&gt;putfield&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Stack Management (&lt;text class=&quot;bytecode&quot;&gt;swap&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Control Transfer (&lt;text class=&quot;bytecode&quot;&gt;goto&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Method Invoking and Returning (&lt;text class=&quot;bytecode&quot;&gt;invokestatic&lt;/text&gt;, &lt;text class=&quot;bytecode&quot;&gt;areturn&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;And of course, nothing (&lt;text class=&quot;bytecode&quot;&gt;nop&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Most bytecodes are also prefixed by the initial object type:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Integer (&lt;text class=&quot;bytecode&quot;&gt;i&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Long (&lt;text class=&quot;bytecode&quot;&gt;l&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Short (&lt;text class=&quot;bytecode&quot;&gt;s&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Byte (&lt;text class=&quot;bytecode&quot;&gt;b&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Character (&lt;text class=&quot;bytecode&quot;&gt;c&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Float (&lt;text class=&quot;bytecode&quot;&gt;f&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Double (&lt;text class=&quot;bytecode&quot;&gt;d&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Reference (&lt;text class=&quot;bytecode&quot;&gt;a&lt;/text&gt;)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;- &lt;a href=&quot;http://en.wikipedia.org/wiki/Java_bytecode&quot;&gt;Wikipedia article on Java bytecode&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For further information on each specific bytecode, you can look at this &lt;a href=&quot;http://en.wikipedia.org/wiki/Java_bytecode_instruction_listings&quot;&gt;Wikipedia article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next time I will dissect the bytecode of such a simple program in any language, the &quot;Hello world&quot; example.</content><link rel='replies' type='application/atom+xml' href='http://brutebytecode.blogspot.com/feeds/8935621917367721041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/java-bytecode-lesson-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/8935621917367721041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/8935621917367721041'/><link rel='alternate' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/java-bytecode-lesson-2.html' title='Java Bytecode: Lesson 2'/><author><name>BruteBytecode</name><uri>http://www.blogger.com/profile/12253639839304650728</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXmO3Ok90eTc211c_4-aV763m_SVzBCK-mm7QdnWdHTm72_qEdpOMeA-LgGC9T_xVH5WkcyruS43FpBvtNacxnHQF8pyYxe5L4YJDlBEIliB9srIygB9uXvAPNq9OwPXo/s220/1evil-agent-smith.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7902421180310521150.post-7341342340551160819</id><published>2012-04-20T18:20:00.012-07:00</published><updated>2012-04-25T17:29:40.357-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bytecode"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="lesson"/><title type='text'>Java Bytecode: Lesson 1</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;text.bytecode {    font-family: monospace;    background-color: #ffffff; color: #323232; }&lt;/style&gt;&lt;br /&gt;&lt;br /&gt;In order to start learning about Java bytecode, you first need to understand one key thing - the stack.&lt;br /&gt;&lt;br /&gt;A stack is sort of like... a stack of plates. In order to use a plate, you always grab one from the top of the stack; likewise, in order to store a plate, you always put one on the top. You&#39;re not some sort of magician either, sorry; you are always going to use the top-most part of the stack. The Java Virtual Machine, which runs the Java bytecode is stack-oriented.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://i.imgur.com/Y5fD5.png&quot; style=&quot;background-color: #ffffff&quot; /&gt;&lt;br /&gt;- &lt;a href=&quot;http://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29&quot;&gt;Wikipedia article on stacks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Most bytecodes use the top-most part of the stack as arguments. I will explain each type of bytecode more thoroughly, but for now I&#39;m going to use the bytecodes &lt;text class=&quot;bytecode&quot;&gt;iload_0&lt;/text&gt; (pushes local variable 0 onto the stack) and &lt;text class=&quot;bytecode&quot;&gt;ineg&lt;/text&gt; (negative integer). After calling both of these, local variable 0 (which we will assume is &lt;i&gt;5&lt;/i&gt;) will be pushed onto the stack from temporary storage and the &lt;i&gt;5&lt;/i&gt; will be turned from &lt;i&gt;5&lt;/i&gt; to &lt;i&gt;-5&lt;/i&gt; from the top of the stack.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;If you can&#39;t quite grasp the concept yet, look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29&quot;&gt;Wikipedia article on stacks&lt;/a&gt;, or leave a question.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Before this instruction, you had a positive 5 on the top of the stack, after the instruction, you now have a negative 5 on the top of the stack. This is how most bytecodes work. There are some that require other byte values, such as &lt;text class=&quot;bytecode&quot;&gt;iload&lt;/text&gt;, which uses the other byte to put the appropriate object on the top of the stack.&lt;br /&gt;&lt;br /&gt;More explanation over these bytecodes will come soon. If you have any questions, don&#39;t hesitate to leave a question below (or any other comments, advice, if I wrote something incorrectly, etc), I will happily reply!&lt;br /&gt;&lt;br /&gt;Expect another post soon.</content><link rel='replies' type='application/atom+xml' href='http://brutebytecode.blogspot.com/feeds/7341342340551160819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/java-bytecode-lesson-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/7341342340551160819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/7341342340551160819'/><link rel='alternate' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/java-bytecode-lesson-1.html' title='Java Bytecode: Lesson 1'/><author><name>BruteBytecode</name><uri>http://www.blogger.com/profile/12253639839304650728</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXmO3Ok90eTc211c_4-aV763m_SVzBCK-mm7QdnWdHTm72_qEdpOMeA-LgGC9T_xVH5WkcyruS43FpBvtNacxnHQF8pyYxe5L4YJDlBEIliB9srIygB9uXvAPNq9OwPXo/s220/1evil-agent-smith.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7902421180310521150.post-7366026201717208824</id><published>2012-04-18T16:50:00.002-07:00</published><updated>2012-04-18T16:53:30.039-07:00</updated><title type='text'>Hello, world!</title><content type='html'>Hello everybody.&lt;div&gt;This will be my future blog relating to teaching people about Java bytecode.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is bytecode?&lt;/div&gt;&lt;div&gt;Java bytecode is the form of instructions that the Java virtual machine executes. Each bytecode opcode is one byte in length, although some require parameters, resulting in some multi-byte instructions. Not all of the possible 256 opcodes are used. 51 are reserved for future use. Beyond that, Sun Microsystems, the original creators of the Java programming language, the Java virtual machine and other components of the Java Runtime Environment (JRE), have set aside three values to be permanently unimplemented. (http://docs.oracle.com/javase/specs/)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you don&#39;t quite understand what I mean, leave a comment and I will attempt to explain a bit more.&lt;/div&gt;&lt;div&gt;Hope to see y&#39;all and more followers later on!&lt;/div&gt;&lt;div&gt;Cheers.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://brutebytecode.blogspot.com/feeds/7366026201717208824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/hello-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/7366026201717208824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7902421180310521150/posts/default/7366026201717208824'/><link rel='alternate' type='text/html' href='http://brutebytecode.blogspot.com/2012/04/hello-world.html' title='Hello, world!'/><author><name>BruteBytecode</name><uri>http://www.blogger.com/profile/12253639839304650728</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXmO3Ok90eTc211c_4-aV763m_SVzBCK-mm7QdnWdHTm72_qEdpOMeA-LgGC9T_xVH5WkcyruS43FpBvtNacxnHQF8pyYxe5L4YJDlBEIliB9srIygB9uXvAPNq9OwPXo/s220/1evil-agent-smith.jpg'/></author><thr:total>0</thr:total></entry></feed>