 Good morning, everybody. My name is Manjuri Lai Patel. I am working here as a research project staff. My post is general software engineer and I have worked around 2 years, 7 months in MHRD project here. The project name was CLICA. The CLICA technology, whichever explained by Patoxa yesterday, I think the day before yesterday and whatever the technologies they explained during that, I have worked on Java. So, that is why they have invited me to give you some, my explain details in front of you related to Java. I am not a lecturer, not a professor, any kind of teacher. So, I am only just one kind of expertize in Java, not that much expert also which is available in industries but as per my knowledge, I will give one kind of consideration in front of you related to Java technology. So, Java is object oriented programming language which is developed by James Gosling at Sun Microsystem. Recently, it is merged in Oracle Corporation. It is general purpose concurrent class based object oriented language. The basic goal behind the creation of Java is to make it architecture neutral. That means the most popular word platform independent and portable. So, it is robust and secure and the license when it is GPL, general public license. That means anyone can use it and develop it and also can contribute it during its development. The word W-O-R-A. W-O-R-A means right ones run anywhere. It is completely applied to Java program language because of its basic architecture. There are two words in its basic architecture. The first one is JVM and the another one is byte code. What is JVM? JVM is Java virtual machine that executes the Java byte code. Now, what is Java byte code is the form of instructions which are completely designed for JVM perspective and on which it executes. The basic fund is that the Java source files are compiled to byte code and that run on any JVM and JVM is a part of JRE. So, we cannot download JVM directly. That is why for JVM purpose we have to download JRE. That is why for running any Java application there must be JRE. Because of that we will get JVM and JVM will help to execute byte code and by which we can run Java program anywhere. This is the basic block diagram. The first thing, the first basic element is Java source files. After compilation the basic command is javag. We will get dot class files. That dot class files having Java byte codes and that Java byte codes will be operate on JRE and JRE will be having JVM and that will perfectly execute that code. Whether it can be PC or any mobile operating system. So, this is basic reason by which we can execute Java anywhere on any platform mostly. Now, the basic powerful fundamental of Java is object oriented programming. It is actually the basic core of Java. The first thing is abstraction. Now, I will ask you whenever you see a car what you observe. Can anyone explain? Basically when you see a nano car what you have seen in that? You just observe the outer look, the speed, the vehicle, how it runs on road like that. So, designing whatever attraction towards that vehicle you just observe that. That means the basic essential things you just observe. If someone just open that vehicle and shows you the engine, the basic architecture then it will be very critical. So, that is why the outer look is very much important and it is only design as per the user perspective. That comes the abstraction. Abstraction means showing the only essential parts rather than hiding that parts which are not related to users. So, that is very important principle behind oops object oriented programming which is one of the basic feature of Java. The next one is encapsulation. Now, have you seen the medicines? Medicines are perfectly wrapped. Why it has wrapped? Because we have to protect that medicine some outside temperature. It can harm that medicine also. Some medicines have to refrigerate within some below temperature. Likewise our code is also like that. Some outer code like hacking we have heard. Security purposes are there. Some outer code can access our code and also can take benefits which are not properly advised, which are not recommended. So, to proper arrangement of our code and for security reasons we have to protect our data. And also by some proper way that is by some public methods we have to give access to our data. That is nothing but the encapsulation. It act just like a wrapper of code and data. The code and data are the two basic principles and two basic elements of any programming language. So, we have to protect that things. Now, the next one is inheritance. Inheritance is most famous oops principle. It is nothing but the there is one class which inherits its super class features. There are that features which are available to his super class. There are two classes the super class and sub class. Like child has some features from his parents. This one property we can see in inheritance. The most important use of inheritance is to reuse the code. If you are familiar with C or C plus plus then you may have seen there are different types of inheritance. Single inheritance, multiple inheritance, hybrid inheritance and one more is remaining. The next one is polymorphism. Actually the polymorphism word is biological word. Polymorphism means one operator can be have certain actions many forms. That is basic meaning behind it. Now in polymorphism what is actually meaning of that in programming? It is ability of any reference variable to change its behavior according to conditions. Now the conditions will come when that variable will execute at runtime. So, depending on the conditions the reference variable will change its behavior and perform the certain actions which is very much important and it comes under the head of polymorphism which is basic principle of Java. So, these are the basic four principles of Java. Now we will go for one simple program. This is the most simplest program we all know and I do not think so we have to demonstrate here and execute this program. There is a first part which is the comments. I will explain comments in later because it is we always neglect that part while developing but it is very most important thing in as per industry standard because I heard in industry there is less lines of code rather than comparing to lines of code there are more commented lines of code. That means the information of code should be written in very standard described there and it can done by like this. I have written in between that two symbols. This is a simple Java program call this file as a example to Java. This is class name which we mentioned class example and this is the main method. Now public static void main and in bracket string arguments array. Public that means this is the main function which we can use anywhere in our project area. Static means we should not instantiate this function. We can directly access void means it will not written in value and main function that means it is a main entry of our program by which our whole program executes. Now system out.println. System is a class and out is also one of the class variable in that and println is a method which terminates the given string on the line. Now this is a simple Java program which also the output will be like that. This is a simple Java program like that. Now what are the standards which we have to follow? The first standard during Java programming is the most important thing is Java is case sensitive. So you have to remember its keywords and all further conventions. Java compiler requires .java extension. So whatever your file will be you have to give extension .java. By convention the name of the class should be matched the name of the file that holds the program. Now it is not actually if we see any basic program which does not consist main method it is not necessary to give the same name but it is not good as far if you if you program and if you arrange your whole folder structure of programming. That is why Java recommends you to give the same name whatever the class is essential in that. If the class is having main method then you must have to give the same name to that program. It is mandatory. All code must reside inside a class. So whatever code you you will write it must have to reside in one particular class. What is Java source file? Java source file is nothing but one compilation unit. It is a compilation unit in which it will it can have more than one classes. It is not necessary that it will consist only one class. So it can have more than one classes. There can be inner classes, outer classes like that. Is it visible? And the basic commands for compilation purpose we use javac I call it as like that javac and the filename.java. And to execute that compile program we have to use java and filename. So this is a very basic information you may all know that. Now I will come to again the commands. Now there are three types of commands. The first command is block command. It can be given like that. The first symbol which I have mentioned before semi comma. And the next one is double quoted lines. Double forward flash like that. Ok. The third one is documentation command. Documentation command I think you are not familiar with that because in my academic career also I was not familiar with that mostly but it is very important thing. Documentation command means whatever the function whatever the class you will write you have to write the basic information related to variables and parameters inside that. What it will do? It will do. It will generate one HTML document after giving some kinds of commands. If you are using NetWinds or IDE, NetWinds or Eclipse ID's there are some basic support for the documentation. If you use some menus in that like in tools if you go there is a generate javadoc command. What it does? It does this documentation command throughout the project. It will make one skeleton, one structure in which you can write the whole information which is related to method. Suppose you have design one program in which you have one method addition. The program is related to calculation. You have to write the purpose of that class above the class and the method above that method whatever and the parameters the scope and the usage. What will happen afterwards? If you compile and if you generate the javadoc the essential javadoc you can represent to anyone and that is the basic technical information which you can generate by using this document command. So I will presumably intimate this documentation command to you because you are going to do some programming so you should not ignore this element. You should do documentation command. You yourself search you will get different different ideas. Now once again the basic thing variable declaration we can declare it as a int num is the variable name. This is the general form whatever the data type and the variable name. Assignment we can do like that by using equal to sign. These are the java separators curly bracket square brackets like that and now there are 50 keywords as per the current version of java which is current version of java can anyone tell? Yes. So there is 50 keywords in that 5 keywords are added like that from last two versions. These are the data types. There are four basic types of data types. The first one is integers, second one is floating point third one is characters and fourth one is Boolean. Integer data type consists byte short ent long. Each one has its significant importance whatever the programming in which it will involve. For example byte and short these are basic elements data types in hardware embedded system which are mostly used in that. Boolean is very familiar we are very familiar with that char is also important and floating point variable. This we use for calculations in certain other data types. Now type casting is very much important you know that in C and C++ also it is very important fact. This is the general form for that you have to write that target type in bracket and that particular value. Now arrays Arrays is nothing but the group of like type variables which are arranged in a sequence. There are two types of arrays one dimensional array and multi dimensional array. This is the general form for that you have to write just like this. There will be data type and variable name and the symbol here the square bracket. If you want to give the particular size for that array then you have to mention the size also. Arrays are fixed size so whether you are mentioning here or later in programming it will depend on you. Multi dimensional arrays are also one of the types of arrays. I will specially tell if you are using arrays much more in C or C++ arrays in Java are totally different. It is not common the practices whichever you have done in C and C++ the practice here in Java is different. So you will little bit you will get confused the basic funda is the same. But in Java there is some different programming structure for array. So you should take care about that. These are the operators there are many operators the first one is arithmetic plus negative like that these all symbols are there. The operand of the arithmetic operations must be of numeric type. This is most important condition. Now these are the second operators which we always neglect because it never comes in our mind. This is bitwise operators which are mostly important for hardware embedded engineering software. If you go through foundation of computer science there is a gates NAND and NOR these kinds of gates are there. So for this purpose we use this all symbols bitwise operators. Now this is relational operator which is mostly used in loops. We will see in further slide. And the next one is Boolean logical. This is also we can use in hardware embedded systems and also in some fuzzy logic like that the algebraic logic whichever computational logic in the scope of this Boolean logical operators are there. Now we will concentrate on particular Java program. What is the Java program? Actually there is blocks of code in which we will see different kinds of statements. The first statement comes is the control statements. Now you are quite familiar with C or C plus I assume. So based on that I have not written detailed information rather than we will make some kind of conversation later. So here I will quickly wrap up this point. The first one is if statement the basic important thing in this all types is conditions. The if statement will consist some condition else statement will also may have some conditions or may not have. We can make it as nested. Similarly for switch there will be cases in case of switch. And we can make it as a nested also. While, do while, the difference between while and do while there will be first statement which will be executed in do while and later it will be checked. The for and nested for. For is most popular loop in programming language. There is another one three jump statements in control statement which we completely neglect. This is break continue and return. We break we use in switch. We know that and continue we are we will use in if loop like that in certain situations it comes. And return is also we use always. Now this is actually the structure of Java class. There should be comments also I will I forget to write the name class class name this is these are the type these are the different kinds of methods is the name type method name the parameters are very much important. The parameters are the are the dynamic activity which we make our program to execute dynamically. We can change the parameters at runtime. And by this parameter list we do that. And by this way we can structure our whole class. Now what are the constructors? Constructors are very basic essential part of class. It initializes an object immediately upon creation. It has the same name as the class. This is basic identification of any constructors how you will recognize it. It will have the same name of that class. There can be parameterized constructors also. It resides and it is synthetically similar to method. It will looks like a method. But there are two distinguished elements. The first one is there will not be any return type. And the second one is there there will be no void like that word you will find. There is an example for that particular the class box and we have defined one data type and this is the constructor for that particular class box simply. And I have written the constructing box and I have assigned that particular data type. So, like that way you can define constructors and you can use. So, I already told there are there can be parameterized constructors. The function whatever the box function whichever I have written there you can pass parameters also in that which will be applicable for further programming in this stage. This keyword. This keyword is very important thing because if you write some procedural language like means you are if you are not taking benefits of object oriented programming then this keyword is just like one very beneficial thing. You can access the current object of that whole program by this whatever the data types you declared whatever the return types of functions you can just observe and you can choose any one of that by using this keyword. If you if you are using id then this keyword you may know to refer the current object of a class. Now string I have not mentioned the string in data types why because strings are the classes in Java. String is a basic one class in which we make object to use it. There are several string extraction functions which we can use in Java and there is most important to string classes. The first one is string itself and another one is a string builder and string buffer. If you do we will look forward for multi-threading programming. Multi-threading programming in that we have to make our variable thread safe and synchronized. In that case we have to use string buffer rather than string. So these are some very famous industrial data types string buffer and string builder instead of string we use and which are related to this string class. Now the Java class fundamental there are different types of classes as I told the first one is top level second one is static inner that means which we don't have to make any instantiation of that class. Another one is a non-static inner the another one is local class which is simple anonymous class is also one type of that classes. These are the basic types of classes of Java. Now the Java methods there are different types of methods in which you most popular and common types are overloading methods and another one is overriding methods. Actually these are the types of polymorphism. Overloading methods are called as a compile time polymorphism and overriding method are called as a runtime polymorphism. In overloading methods there are simple three things you have to remember. The first one is overloading methods have the same name the different methods will be there it will have the same names like the box function whichever we have seen the similar kind of box functions will be there but it will consist different parameters and also it will consist the different return types. In overriding methods the thing is different it will have the same name though it will have the same parameters and same return types so thing will be changed. So this is the runtime polymorphism and this is the compile time polymorphism. It will decide by the compiler to choose during the overriding method which method it will execute. I hope you have understood this. In overloading it will be not same for a return type. If you mention in signature then it doesn't matter. There are the java method likewise we can overload the constructors also and there are the static methods. Now what is the static method? The method whichever we will declare we can use the static keyword in front of that by which we can access them directly by use of class name. What we actually do we just make one object of class and by using dot or period element we access the whole methods of that particular class. Here if you use the static method there is no need to use no need to differentiate that particular class. You can directly use by using dot operator. Common line arguments are very powerful in hardware embedded system mostly because there are certain things which you depend on that. If suppose there are two technologies one is hardware one is software and you have to communicate that both systems suppose for example you have to integrate one java program to one python program. Python program requires some arguments. So there is one fact by which you can pass that. In common line arguments are the essential information you can pass at runtime. Here is the basic example of that. If you execute that you will compile it and during run you just give some words during that execution word. Suppose if I compile it and if I give the name java command line and welcome then it will print welcome. Command line arguments are nothing but the just that information which you pass during command line it will captures that and will use in further programming. This is very basic element. It will be look like very basic but it is very useful function during programming. Now in a return as I told there are two basic classes. The first one is superclass which have the properties itself methods and which will be subclassed. That means subclass will inherit some properties methods from superclass. There is the extents keyword which we use to extend the superclass. Now one more thing is that java does not provide multiple inheritance. One typical inheritance means in which the base that means the subclass will access the methods from multiple superclasses more than superclasses. This one feature which we see in COC plus it is not available in java. But it can be provided by interface which we will see later. Now one more thing is that in a return that is abstract classes. Abstract classes and the method. Abstraction which I told earlier in UPS principle. The abstraction principle is totally related to this abstract classes. Abstract classes and methods represents the abstraction principle of UPS. Abstract classes are defined by using abstract keyword. Abstract classes cannot be instantiated. It will consist only method signatures. But it can be subclass. That means in inheritance we can use abstraction. That is why I have mentioned this abstract classes under the heading of inheritance. That is why the abstract classes can be used as an extended. Now package. The basic goal behind the package is to make your all work according to functionality, usability and category. There can be a different perspective in your whole programming. Some programming is related to database. Some programming will be related to utilities. Some programming will be related to business logic. And some programming will be related to design. So you, what we will do? You will make them, organize them according to their usage. You will make folders and you will make all classes applicable to that. By which you will make one package. That is nothing, nothing but the package. The package organizes the classes into directories according to their functionality, usability and category. The general form is as it is package and package name. Now in package there is consideration of access modifiers. Private default which is also known as a no-modifier and protected in public. Default you will never see because default is default. It is no-modifier. If there is no any access modifier then it means there is default. So this is actually some table I have created according to class member access for the classes and these are the basic access points. Here y represents s and n represents no. For same class the private data type will be, the private data type access will be s, default will be s, protected in public. For same package subclass that means there is a package but there is a subclass also for perspective for that program. But the private will not work, default will work, protect will work and public will also work. For the same package but it is in same package but it is not a subclass. That means it is not extended. Then in that place the private will not work, default will work, protected will also work and public will also work. If suppose there are different packages, suppose the utility package utility package and database package there are different packages then the private access modifier will not work default will also not work, protected will work and public will work. And suppose there is different package and also there is no any subclasses. In that case private will also not work default is also not work and protected is also not work but public will work. You will see public will work at any case and private will work only in same class. So this is basic thing protected will work in this particular thing. Only one case the protected will not work will not work in different packages where there is no any subclass. So this is basic usage of access modifiers. Now how we can use packages? For usage of package there is word import. So that is why we always tell we are importing packages. The import keyword is there. The example is like that. Import that particular package. Star we can use like that. Java utility I always tell it as star. So otherwise we have to write it like this. If we want to write it without using package then we have to write in this passion. But if you want to use by using package then it is written like that. Now interface what is Java interface? Java interface contains constant declarations and or method signatures and or variable declarations that are declared to be both static and final that are nested types. And there are no method bodies at all at interface. The interface can extend another interface. One interface can extend another interface. The interface can implement keyword and the interface is also one keyword which we use during creation of interface itself and implement for usage of that interface. If we want to use that interface then we have to use implement keyword. Interface supports multiple inheritance. Now here is the power of inheritance comes back in Java. We already told that there is no support but interface provides and fulfills the need of multiple inheritance. Now one thing is exception handling. Exceptions like the word suggest it is an event which disrupts your normal flow of program during execution of a program. It is abnormal condition which can arise in program at any time. There are two types of exception. First one is check exception and another one is unchecked exception. The check exception will consist try, catch and finally. An unchecked exception will consist throws. The basic package under which the exception hierarchy will come it is the java.lang and the root class of the exception handling is throwable class. These are the basic things which you have to remember according to technical standards. What are the types of exception and in which we can handle the exception handling. Now what are the methods by which we can handle the exception. The first method is try catch finally which is checked. Nested try catch is also there. Multiple catch that means only one try will be there and multiple surrounding catch statements will be found. Then throw is also one variable in java exception by which we can throw that exception particular. We will get it by throwable instance and we will throw it. Throws is like unchecked exception. Whatever exception will come we have to throw it. Like that the goal is behind that. And another one is try and finally. Without catch also we can use try or finally. The finally close is optional. It is not mandatory to use each time. Each try statement requires at least one catch or finally close. There is corresponding close for try. It will be catch finally. Now this is basic exception hierarchy. We always know that error is error but error is also one exception. Error is exception but it is very serious exception. That is why it is called as error. That is why we cannot handle that exception. The exceptions which are handled that are exceptions but which are not handled that are error. That is why error is also comes under the exception. The basic root class is throwable. Whatever the error you are finding it is also part of the superclass. And exception and error. These are the two sub-types of that superclass. And after that others are exception, runtime exception. These are further hierarchical classes in that. This is the main hierarchy for exception usage. Now multi-threading. Multi-threading is most powerful tool in Java because of multi-threading the different kinds of concurrent working protocols implement. And it is built in support which Java provides. By using multi-threading we can do multi-threading programming as well as concurrent programming. There is the two things. One programming which is related to process another programming which is related to thread. Now we can create the thread by using these two methods. The first one is implementing renewable interface. And another one is extending thread class and methods. Okay. Now renewable interface threading is mostly preferred. Can anyone tell me why this is preferred? Actually renewable interface we implement. And thread class and method comes under the extend. That means it is a superclass. And as I told, Java does not support multiple inheritance. That's why we will use it only once if we use thread class and method. And start function which is most important function in thread it will execute only once. If we use extending thread class. But for proper object oriented programming and proper structure of program and execution if we use implement renewable it will be beneficial. That's why renewable interface threading is mostly preferred for good structure of program. But it doesn't mean that extending thread class is not used. It is also used in certain situations. It is also required. Now there is another one kind of multi-threading as I told concurrent multi-threading also. There are two processes which you have to active and in process concurrently. So for this concurrently support we have to, we have one another package. These are all two packages whichever we have seen the interface and the thread class is it comes under the void default java.lan. But it will come under this package java.util.concurrent it is also one multi-threading activity which is specially used for concurrent multi-threaded programming which is newly released and mostly used java.util.concurrent package. So you should also use in case of multi-threading programming. And as the threads can be suspended resumed, stopped and synchronization. Now what is mean by synchronization? I will give one example in hospitals in operation rooms you will see there is a bulk. During operation inside there will be bulk on and after operation is off the bulk will goes off. The same activity will be done by the synchronization. If there are certain threads and you want particular thread will be active for a particular time then you will put that synchronization keyword there and you will do the further required methods related to that. So that can be also we can do by using multi-threading there is a synchronization facility is also available. Now there are two most important thread methods the first one is join method and the another one is slip method. Slip method we use generally because if you want to suspend our program for certain time then we use slip. Join method is used in concurrent programming mostly and I actually the join methods alternative is this one whichever I showed you already this package. If you don't want to use join because in huge programming that means if you have some huge infrastructure of programs in that it is not beneficial to use join method so that's why you can use this method this package javautil.concurrent in which you can wait until the thread will stop it will over and further instructions will be exhibited of your program. So these are most popular methods there are other methods also you can see that using the java. Now I heard that we have all gone through the applet because you have sent some applets here to IIT Bombay so though I will explain applet is a java program or small application that run on a browser enabled with java and applet needs web browser or applet we work tool. Applet is a heavy weight component of java so there is some distinguishes between the swing which you will see in advanced java and applet applet comes under this package the awt package and it can be used like this there is not any main method but you can use it as per the Friskap method this is a simple applet which extend this super class applet and there is public point paint function and graphic jeep and you can draw string by using this a method. How to execute the applet? To execute an applet there is a short HTML text file which will contain the applet tag this is the applet tag applet code in which you have to write the class name and width and height you can execute this applet by using the short HTML text otherwise there is one concatenated method in which you will include this command inside the program as I told the comments to represent this code you will use this included statements above the code and by which you can directly execute that program and you can view by using applet viewer now one most important thing is IO IO means taking input from users which are generally done by buffer readers scanner classes different different classes are there and the command line argument is also as IO operations and file operations, fine handling reading and writing files this are also comes under the IO packages the package for representing all these activities are java.io now a very important and powerful package as per the industry standards it is a collection the collection is the java framework for desktop applications and mostly used as a backend software system that it is the one most important application programming interface it can be treated as a standard programming interface it is made up by set of interfaces for groups of objects and the examples are various examples are there for collections the arelies vector, list, hash map, tree map set, stack, queue, like that all the things and it comes under this java.util package now this is also one important hierarchy which you have to remember this is the collection API hierarchy in which the collections will consist these three parameters elements the queue, list and set and map, sorted map there are two maps as per I used hash map and tree map tree map and hash map the difference is that the tree map will sorted map comes under the sorting which you can do and list and queue queue will consist different kinds of stack, queue, like that properties and list will consist the double linked list like that by list you can implement stack or queue also now what are the different editions and versions of java these are the different editions java card, java card is basically used for sim cards of mobile phones which is basically used for mobile technologies another one is java micro ME which is mostly used for hardware embedded systems java standard editions is used for application development programming whether it is also used for web applications but web applications the most preferred edition is enterprise edition and java effects is used for multimedia applications this is the web URL for downloading this all software which you can find anywhere in google now different kinds of versions java has been released from starting point of view java zdk 1.0 is there which was released in 1996 then 1.1 released in 1997 they have inserted two keywords inside that no one knows why they have inserted so they have added it and they have changed sdk into zdk so it comes like java to sdk 1.2 after that in 2000 1.3 is there 1.4 is there 5.0 is there up to 2000 but after that they have suddenly gives up the 1.x numbering 1.4 there is directly 5.0 in java version it comes under the 2004 and after that in javas 6 they have dropped the 2 and they get rid of that 0.02 so now according to these standards and revisions are there which you will find do not confuse there is no any after 1.4 there is no any 1.5 ok so we will conclude here like java is a simple secure portable and object oriented robust multi-threaded architecture neutral and interpreted high performance distributed and dynamic language most widely used programming language for commercial purpose as well as open source development and as we know all and I think it is one of the subjects assignment Google and Android INC have chosen java as their key pillar in the creation of android operating system so there is very significant importance current programming for java so these are the references which I use so suddenly I told to give you talk yesterday so I referenced this so any doubts anything because I have worked some little bit related to according to Android standards but I can give the answers mostly actually abstract classes need not to implement all methods in interfaces interfaces if you implement then you have to define each and every method whichever you have written in interfaces in abstract less the cases not like that in abstract less abstract class methods you can just whatever the methods you have defined in abstract classes it is not needed to implement that all and abstract classes are faster than interfaces that means I suppose the speed and all the things compilations personally I will do some suggestions related to work whichever you will do here the first thing which you will follow I always follow like that path understand the problem statement the basic problem behind our Indian people is that we never understood the problem statement we go directly for programming this is very bad so basic as per conventions you have to understand the problem statement properly if you understood problem statement 100 percent then you can analyze it and you can make your algorithms as per other requirements once you will you can able to write algorithms then go for design and you can design and you can make the coding according to that then afterwards you give time for coding and I will advise you the time you spend for coding you should spend more time for testing because testing needs some more developed code and it will enhance your work and it will make your work quality it will increase the quality of your work like that you can implement your all whatever the internship you will perform here I hope these are my details you can contact me at any time this is I am one of the matters of your internship so you can contact me and if you have any doubts related to java you can mail me in this email id I will try my best to answer that all curious ok thank you