Hello and welcome to a new section in this new section, we are going to take a look at analyzing Java.
We start off by looking at how to disassemble Java by code, how Java program runs in this diagram here
on the left, you see the development tools, for example, IDs on.
These are tools used to create Java programs.
And on the right is a Java runtime environment.
And your environment consists of the Java, which machine?
And then we have to force Java class library and Java Archive files, also known as G.
He are the Java Class Library and Java Archive.
G.R. comes from the development tools, the development to the source code and the Java Class Library,
all the Java archive.
So the Java class is actually the vehicle itself and the Java Archive Jaara is a collection of classes
compressed into a high.
And then the issue is, how are we to machine the giant washing machine is over Java runtime and this
is the interpreter which converts to Java class and Java Akki into machine.
It is good for execution.
Now, this is not a diagram showing you in more detail how the Java program is created and runs now
know that the Java with Machine JVM is also known as the GRV Java runtime environment.
And it points to the interpreter.
Now, this interpreter is different for every machine you have, Java, which is a machine for Mac,
Linux and Windows.
However, the bikeway is the same.
If I could use created from the source code to Java compiler.
And that's why we say when the Java Paykel is created, you can run on any machine just like in that
framework, because then Ambika is the same, but it is the interpreter in the person code for that
particular machine to execute on.
And the interpretation is done by the Java runtime.
Also known as Gitti Compiler, Chessington Compiler, just like in the dot net framework, this example
of the Buycott.
In what he looks like on the right hand side of this diagram is a sample of her Sasko Gervasio school,
there is a public class called Demo one, and inside there is a method called public static void main,
which is the main method for all of our classes, and three for four instructions.
Here we have a variable A which is assigning zero integer be assigned to indigency assigned three.
And this one is evaluating the value in integer B, multiplying integer C and assigned to variable here.
And here is where you print it up using the static method called Greenline, which comes from the system
that our class and this on the left is the vehicle that represents the source code on the right.
And you can see from here and this is what your bike looks like.
And this one, two first two lines represent this line here.
Integer is Hassane zero and the next two line here represents integer be assigned to and these two lines
down here representing the U.S. sine three and then these lines here, six, seven, eight, nine represents
this line is the same be multiplied by C and then down here get static.
I don't want an equal which represents this line system up green line A so this is what the bank looks
like Java does.
This has all the tools you are going to be looking at first is Java.
AP Jarobi is part of the Java development kit.
It is a bytecode.
This is semmler.
It can convert binary back to back on the Java Sea, also part of the JDK in the Java development kit.
He can combine Java into bytecode.
And we also have another group of tools called Java Compilers, which can convert back straight back
to Java.
So the difference between Java being Java, the compiler is Dabi can only convert their binary to bind
by code.
That process is called disassembling Java.
The compiler, on the other hand, can convert that back all the way back to Java source code.
And that process is called decompiled Java.
So this is basically Java and Java extension, for example, hello, Java, some Java Fuso and the extension
class, for example, haloed class.
And we are seeing this now, Hanada classes in Java by code, which has been Campath from the source
code.
And then we also had an distention where, for example, you have Farleigh hello at Dunya.
And this Danja path, as I mentioned, is kind of a collection of classes, the internal extension Farzat,
aka files containing multiple class we need.
And now we are going to do a Latin demonstration of this assembling a Bikel.
So go ahead and download the project.
The Z and password to unzip is cracking lessons that come in.
Unless we do, we are going to do that particular demo using this file, that peduncle.
So I'll see you in the next lesson.
Thank you for watching.