1 00:00:00,730 --> 00:00:08,000 Hello and welcome to a new section in this new section, we are going to take a look at analyzing Java. 2 00:00:08,740 --> 00:00:20,050 We start off by looking at how to disassemble Java by code, how Java program runs in this diagram here 3 00:00:20,320 --> 00:00:25,390 on the left, you see the development tools, for example, IDs on. 4 00:00:25,900 --> 00:00:29,110 These are tools used to create Java programs. 5 00:00:29,800 --> 00:00:33,280 And on the right is a Java runtime environment. 6 00:00:33,970 --> 00:00:38,020 And your environment consists of the Java, which machine? 7 00:00:38,800 --> 00:00:46,150 And then we have to force Java class library and Java Archive files, also known as G. 8 00:00:46,180 --> 00:00:51,580 He are the Java Class Library and Java Archive. 9 00:00:51,580 --> 00:00:59,290 G.R. comes from the development tools, the development to the source code and the Java Class Library, 10 00:00:59,590 --> 00:01:01,240 all the Java archive. 11 00:01:02,620 --> 00:01:12,640 So the Java class is actually the vehicle itself and the Java Archive Jaara is a collection of classes 12 00:01:12,940 --> 00:01:14,470 compressed into a high. 13 00:01:15,760 --> 00:01:22,630 And then the issue is, how are we to machine the giant washing machine is over Java runtime and this 14 00:01:22,630 --> 00:01:29,830 is the interpreter which converts to Java class and Java Akki into machine. 15 00:01:29,830 --> 00:01:31,660 It is good for execution. 16 00:01:33,060 --> 00:01:40,880 Now, this is not a diagram showing you in more detail how the Java program is created and runs now 17 00:01:40,890 --> 00:01:47,920 know that the Java with Machine JVM is also known as the GRV Java runtime environment. 18 00:01:48,450 --> 00:01:50,490 And it points to the interpreter. 19 00:01:50,910 --> 00:01:58,700 Now, this interpreter is different for every machine you have, Java, which is a machine for Mac, 20 00:01:58,720 --> 00:02:00,750 Linux and Windows. 21 00:02:01,560 --> 00:02:03,370 However, the bikeway is the same. 22 00:02:04,130 --> 00:02:10,650 If I could use created from the source code to Java compiler. 23 00:02:11,820 --> 00:02:20,040 And that's why we say when the Java Paykel is created, you can run on any machine just like in that 24 00:02:20,040 --> 00:02:27,420 framework, because then Ambika is the same, but it is the interpreter in the person code for that 25 00:02:27,420 --> 00:02:29,190 particular machine to execute on. 26 00:02:29,700 --> 00:02:34,140 And the interpretation is done by the Java runtime. 27 00:02:35,080 --> 00:02:43,590 Also known as Gitti Compiler, Chessington Compiler, just like in the dot net framework, this example 28 00:02:43,860 --> 00:02:45,060 of the Buycott. 29 00:02:45,950 --> 00:02:53,290 In what he looks like on the right hand side of this diagram is a sample of her Sasko Gervasio school, 30 00:02:53,870 --> 00:03:01,190 there is a public class called Demo one, and inside there is a method called public static void main, 31 00:03:01,190 --> 00:03:07,190 which is the main method for all of our classes, and three for four instructions. 32 00:03:07,190 --> 00:03:15,910 Here we have a variable A which is assigning zero integer be assigned to indigency assigned three. 33 00:03:16,340 --> 00:03:25,700 And this one is evaluating the value in integer B, multiplying integer C and assigned to variable here. 34 00:03:26,240 --> 00:03:33,560 And here is where you print it up using the static method called Greenline, which comes from the system 35 00:03:33,560 --> 00:03:41,570 that our class and this on the left is the vehicle that represents the source code on the right. 36 00:03:42,290 --> 00:03:45,980 And you can see from here and this is what your bike looks like. 37 00:03:46,880 --> 00:03:51,980 And this one, two first two lines represent this line here. 38 00:03:51,980 --> 00:03:59,600 Integer is Hassane zero and the next two line here represents integer be assigned to and these two lines 39 00:03:59,600 --> 00:04:07,910 down here representing the U.S. sine three and then these lines here, six, seven, eight, nine represents 40 00:04:08,150 --> 00:04:14,930 this line is the same be multiplied by C and then down here get static. 41 00:04:15,200 --> 00:04:22,100 I don't want an equal which represents this line system up green line A so this is what the bank looks 42 00:04:22,100 --> 00:04:23,990 like Java does. 43 00:04:24,440 --> 00:04:29,670 This has all the tools you are going to be looking at first is Java. 44 00:04:29,690 --> 00:04:33,950 AP Jarobi is part of the Java development kit. 45 00:04:34,370 --> 00:04:35,390 It is a bytecode. 46 00:04:35,540 --> 00:04:36,410 This is semmler. 47 00:04:36,920 --> 00:04:45,750 It can convert binary back to back on the Java Sea, also part of the JDK in the Java development kit. 48 00:04:46,370 --> 00:04:48,440 He can combine Java into bytecode. 49 00:04:50,070 --> 00:04:57,810 And we also have another group of tools called Java Compilers, which can convert back straight back 50 00:04:57,810 --> 00:04:58,350 to Java. 51 00:04:59,400 --> 00:05:08,540 So the difference between Java being Java, the compiler is Dabi can only convert their binary to bind 52 00:05:08,950 --> 00:05:09,720 by code. 53 00:05:09,900 --> 00:05:12,840 That process is called disassembling Java. 54 00:05:12,840 --> 00:05:18,360 The compiler, on the other hand, can convert that back all the way back to Java source code. 55 00:05:18,840 --> 00:05:22,200 And that process is called decompiled Java. 56 00:05:22,200 --> 00:05:34,200 So this is basically Java and Java extension, for example, hello, Java, some Java Fuso and the extension 57 00:05:34,410 --> 00:05:36,960 class, for example, haloed class. 58 00:05:37,410 --> 00:05:43,170 And we are seeing this now, Hanada classes in Java by code, which has been Campath from the source 59 00:05:43,170 --> 00:05:43,440 code. 60 00:05:44,310 --> 00:05:51,900 And then we also had an distention where, for example, you have Farleigh hello at Dunya. 61 00:05:52,260 --> 00:06:02,000 And this Danja path, as I mentioned, is kind of a collection of classes, the internal extension Farzat, 62 00:06:02,010 --> 00:06:04,530 aka files containing multiple class we need. 63 00:06:05,250 --> 00:06:10,710 And now we are going to do a Latin demonstration of this assembling a Bikel. 64 00:06:11,160 --> 00:06:14,260 So go ahead and download the project. 65 00:06:14,260 --> 00:06:20,150 The Z and password to unzip is cracking lessons that come in. 66 00:06:20,160 --> 00:06:27,120 Unless we do, we are going to do that particular demo using this file, that peduncle. 67 00:06:27,450 --> 00:06:29,180 So I'll see you in the next lesson. 68 00:06:29,430 --> 00:06:30,510 Thank you for watching.