Transcript for:
Mastering Java for Tech Careers

see there is a lot of arguments out there in the tech industry that whether Java is getting obsolete or not well I'm not sure what's going to happen in the future but one thing I can definitely tell you that Java is not going anywhere at least for the next five years the reason is very simple so if you are a software developer in India and you want to work for top product based companies out there and not even product based even service based companies also you would find that most of the roles and responsibilities that you get as a fresher in India is mostly in web development and when we talk about web development and back-end languages Java is predominantly used over there you can go through my company reviews you will see the likes of Amazon Apple Google Oracle and any top tech product based companies who name off apart from Microsoft they all use Java heavily in their backend even service based companies like TCS Wipro they all use Java as their backend languages in most of the cases so you can understand that if you're a fresher and you want to get into top tech companies as a developer you are more likely to come across Java right so now I wanted to make a video on backend development using Java so I wanted to like tell you that what are the things you need to learn what is the exact path you want to follow so basically it's a it's a roadmap kind of thing and I use that part to learn myself but I thought that okay many of you might not be familiarized with Java as a programming language in the first place because to get started with the framework uh which is written in Java you need to know what Java is and what are the things you need to learn in code Java right so keeping that in mind I stole that video and I first came up with this video but I would be telling you that what are the things you need to learn in Java as a programming language I would start from complete scratch like I would assume that you don't know Java at all and I would tell you that how can you learn Java from complete scratch as a programming language and I will tell you all the advanced stuff so from the beginning to the advanced of cyber telling you everything in this video that will help you in cracking top product based companies where Java is asked in their interview rounds second is you will be cruising through your semesters with Java and object oriented programming subject is there third is whenever you would start working for any company and which use uses Java which you are more likely to encounter you would be having a great time over there as well fourth thing is if you are preparing for DS and you want to use Java as the programming language then definitely this video is also for You Fifth thing is if you want to learn low level design and design patterns again Java would be very very helpful in that six is this will also help you to learn object oriented programming as I personally feel Java is the best language to learn object oriented programming seventh is if you want to get started with web development and you want to learn spring framework and Java as a backend language uh then definitely this video is for you because again I will be telling you all the important steps you need to know in Java to get started with these things now without any further Ado let's get started with this video and make sure to watch this video till the very end don't forget to like this video and don't forget to subscribe to my channel and press the Bell notification so every time I upload a similar video You're notified also just one small request I post a lot of travel content as well as Tech content over my Instagram as well so please please consider going over there and just hit the follow button it would mean a lot to me and also don't forget to join my telegram group all the links will be in description and telegram mostly I post job updates whenever I come across any so yeah all the links will be in the description down below and now let's get started with this video okay so we will start with a very Basics first so first we'll learn the class and objects now please try to understand that you are also learning about object oriented programming and I'm just thinking that you are taking Java as your first programming language people who had a prior experience with C plus plus they would probably be understanding what classes and objects are but still I would highly suggest you or recommend you to understand from Java's perspective so don't just skip this part and you know follow it ah in the order that I will be mentioning in that way your Concepts would be clear and that way it will help you to learn efficiently as well now under classes you would be uh like understanding that how can you declare members fields and methods and under objects you will learn that how to instantiate classes reference values and references you will also learn the difference between objects and classes also learn to access instance rainbows uh static members uh next you also learn to compile and run a Java application using the command line argument please don't start off using an ID please use the basic Java C commands for compiling your code and use the terminal for that please don't start off with an ID yet unless you get really comfortable with Java then learn about jvm and Jerry I do understand it's a bit theoretical but I would highly recommend you to learn about this because it will help you in the long run also in interviews you do get asked questions about jvm and Jerry in your campus placements as well as whenever you would be further giving interviews and another important question you need to understand that why is Java platform independent language and what makes Java really unique then its predecessors and while learning that also you would be learning about byte code understand it what is the importance of it so yeah do read about these things before you get started with Java now coming to the basic language elements of java you would learn about the lexical tokens you will learn about identifiers keywords separators literals integer literals floating Point literals Boolean literals character literal string literals also read about the string class strings in your Java are very important and way more efficient than its C counterpart and if you add UC you might be knowing that it was used to to be a nightmare ah using strings and seats Java strings are way way more comfortable to use so do read about the string class the functions that you get associated with the string class also learn about immutability and string pooling string pooling is a very very important concept that you get asked in interviews even as a fresher I was asked about the intern method or you can go and read about it in one of my campus interviews so yeah it's a very very important topic next again the basics is the primitive data types learn about the integer character floating pointer types the Boolean ties the you know the what what what are the size of them also learn about the ASCII character and the Unicode right so these things are important then learn to declare and initialize variables also learn about the default initial values of these variables right ah so let's say if you declare a variable right but you don't initialize it or you don't specify a number yet right what would be the default value of that so if you print that right let's say I Define int but I don't initialize or declare anything right I just now want to print the a so what would be the output so try to play around with it and if you know the answer please comment down below also learn about the lifetime of these variables learn about operators and Expressions learn about boxing and unboxing is very important and you will see more of it in the wrapper class also learn about the control 4 statements like if else for while do while all these things right next we are coming to you know class declarations method declarations you learn about the instance methods and the object reference and also learn a little bit of method overloading is a very important Implement method overloading on your own and also understand why is it used what is the importance and significance of it also reference is a very very good thing to have in Java because in C used to have pointers which is very very confusing and if you remember pointers used to be really really hard to grasp while we were learning C back in our College days so Java really helps you with that when it comes to references but still uh I would highly recommend you to know about pointers in C as well that we would be able to appreciate the reference part in Java and how does it solve the problem and also we'll be able to deep down understand what's going on right so I think I still feel that pointers and C is a topic that you should definitely learn about but for Java do read about references because they are going to be very very important while going forward so next up is Constructors so we have the default Constructors the overloaded Constructor so do read about it and understand what Constructors generally are and what do they do because Constructor is very very important and Constructor overloading is a very very important question if you are a fresher and giving interviews so after this I think it's an ideal time to read about the main method what is this function and learn about the CLA that is the command line arguments how can you pass input into as common line arguments and how can you play around with those inputs ah also learn the concept of public static y domain why all the keywords are important why do we need public static vitamin this I think this is a perfect time to learn that and also try understanding whether you can run a Java program without using a main method can we do that do uh do comment it down below again a question for you guys next up is arrays so in arrays you will learn about declaring array variables constructing an array initializing an array using an array like accessing an element like how to access an element right ah then you would learn about multi-dimensional arrays also I would recommend you to learn about Jack that is as well uh although I was never asked this question any of my interviews but still I feel it's a very very nice topic to read about so basically it is a type of array where you can have multiple Dimensions right next learn the sorting and searching functionalities of an array so this searching functionality and sorting function will really help you a lot uh while you are trying to you know ah like solve DSA questions and also while you would be there in the company right then comes a very important topic passing primitive data values within functions passing reference values as well passing arrays which is this is a very important things ah very minute things but the concepts needs to be clear about this otherwise you will be struggling out there ah in the long run because these are very basic so please make sure that you spend a couple a lot of time over here strengthening your graphs on this basic concepts then also learn about final parameters and the final keyword in general then learn about variable editing methods how can you call a variable additive methods and also difference between variable Rarity and fixed editing method calls okay then you can read a little bit about the packages because understanding packages is a very very important thing while usually working on a large code base in companies then comes a very very important topic which many people doesn't really talk about that is inums enorms will be very very important and you will see a lot of them in action in low level design and also while you would be out there in a company also learn about access specifiers right uh also learn about static members final members method overloading right the orders of these can be a little bit here and there but you can follow this or there is absolutely no harm in this then comes a very very important topic of java the third of java that is inheritance learn about internet and subtract class the super keyword learn about instance of keyword learn about runtime polymorphism and Method overriding also a very important question out here to study is differentiable Method overloading and Method overriding this is the favorite question of all the teachers out there in universities as well as interviewers learn about multiple inheritance in Java whether it is actually possible to achieve it or not do let me know in comments down below and also go through it and here we come to interfaces again this is a very very important topic if you don't understand interfaces trust me you are going to have a very very hard time going forward from here so do make sure that you understand interfaces really really well learn how to extend an interface learn the default methods in interface learn about the static methods and interfaces and the constants in interfaces next comes again a very very important topic that you would using a lot in a day-to-day activities as a software engineer that is exception handling so now let us go through that what are the things you need to know in exception handling chapter so one is the categories of exception and what happens when an exception is thrown then learn about the common exceptions and categories learn about the try block the catch clause and the finally clause also there's a question here for you guys do comment it down below if you know the answer can we really skip the finally Block in Java and if so what is that one way one more important topic that you need to learn is the try with resource this is a very very useful thing to know especially when you would be working with database connections so please read about try with resource the throw statement and the throws clause and I think now is the ideal time to learn the difference between final finally and finalize so now ah since we have already come across this finalized method and it's a it's a good time to talk about the object Lifetime and the garbage collection chapter again it's a very very important chapter uh learn about object finalization finalizer chaining invoking garbage collection programmatically again where this finalized method kind of comes into picture uh learn about initializers field initializer Expressions declaration order of initialization Expressions uh static initialization blocks which is again a very very important topic or Declaration author of static initializers instance initializer blocks declaration order of the instance initializes then we come to one of the very important chapters which is related to inheritance that is the object class which is the parent of all the classes that exist in Java so learn about the wrapper class the common wrapper class ah Constructors the common wrapper class utility methods the numeric wrapper classes the character class the Boolean class and also learn about the string Builder and buffer and the difference between the two right string Builder is also and a class that really really help you while solving string problems in DSA next comes one of the key features of java 8 that is lambdas and functional programming but before you get started with lambdas make sure that you really understand uh inheritance well you understand interface and you also know about the anonymous inner classes as well as nested class and inner class right so these three new things please make sure to learn before you actually get started with lambdas and functional programming in Java so next are the slightly Advanced topics of java now you might not face this in your interviews but this will really really help you a lot ah while you would be getting started with Java in a production environment in real time environment or you would be learning back-end Frameworks uh now streams Java streams is again a Java 8 feature so spend some time on it it is highly recommended to know Java streams because I have seen it in use a lot in the industry out there then learn about Java generics this this is a topic that very few people talk about but I would highly recommend you to learn Java generic first before you actually get into Java Collections this is the way I learned and in this way you would be able to relate with Java Collections really really well normally people skip this Java generic programming chapter but I was asked a lot of questions from it in my Goldman Sachs interview if you haven't checked the video please go and check about it I will attach the link in the description but I would highly recommend you forget your Concepts really really straight uh go learn about Java genetics and then jump into Java Collections which is going to be the next topic where you have to learn on hashmap sets a lot of other things that are there in Java collection so do learn about Java Collections not only it will help you in your DSA while solving DSA problems but it will also help you while you would be actually working out there in the company as well as you will be learning you know back-end Frameworks next comes Java i o Java IO is again a topic that people generally skips but this is a very very important topic so make sure you read and learn about these topics here you will also learn about file programming which is again a very very exciting thing ah to do with Java so please make sure that you understand this Java i o topic really really well if you want I can make a detailed video on Java i o Java generates Java Collections if you want to search a video please write it down in comments and I will be more than happy to make a video on it and then comes the last part which is probably one of the toughest section of java that is multi-threading people again skip this topic out of here the college and university teachers doesn't really teaches you these topics but trust me these are very very important out there and if you know this you do one step ahead in the industry while you go out there so learn about the volatile keyword and also the atomic integer learn about the locks reintrent locks and all those things run about the learnable as well as callable here you would find the anonymous inner classes and also the lambdas coming into picture over here then learn about the executor service this is again used a lot in Industry so please please learn about execute a service and fine if you have some time you can learn about async programming in Java and also you can learn about Futures executive service is a topic that will really help you know machine coding rounds when you would be given a multi-sided problem statement or maybe the interviewer would ask you to deal with corn currency then executive service would come into picture and then async programming is also there you can learn about Futures and all those things completable Futures if you are a college student you might skip this async programming but yeah I mean if you also can read about this if you are done with all the previous topics but please make sure that you have got your Basics covered because those are very important things if your Basics are not really well like you don't understand how references work right or let's say you don't understand the basics of inheritance or interfaces then you would be really having a hard time while understanding these topics right also for multi trading you need to learn about the OS fundamentals as well so I would highly recommend you to learn the operating systems as well anyway I would also I would be more than happy to make a video on multi-threading as a whole uh if you if you really wish so do comment down below if you really need such a video but if I make such a video I would expect your motivation and support because normally I have seen for the tutorial videos uh people generally don't want to watch it people are more for the roadmap videos and all those things but yeah when it comes to tutorial videos the response is not that great most of the time so yeah if you if you are really interested I would make that video for you guys but again it takes a lot of out of me to make such videos uh because when you're making your tutorial videos there is a lot goes behind the scenes so yeah I mean I would only make it if you guys are really interested so do comment down below if you need such a video so I think that's it mostly for this video I think if you read the such these topics thoroughly I think you'll be more than ready to be a Java developer and you can then probably take the next step and probably the next video is going to be my Java back-end developer roadmaps by the way if you haven't checked out my LED roadmap do go and check it out now you will attach the link in description down below also there are two more videos I've made a detailed video on DSA from scratch that how can you get started with DSA from scratch if you don't know anything and what are the things you need to learn in the programming language for getting started with DSA what is the language that you should choose for DSA have covered all and that video and also I've made another video on my preparation strategy when it comes to DSA for product based companies and how it helped me to crack different product based companies like the likes of Amazon Salesforce Goldman Sachs Etc you can go and check out that video as well uh having said that don't forget to like this video and press the Subscribe button so that it motivates me don't forget to follow me on Instagram guys that will mean the wall to me as well I will see you in some other video and a very very happy belated Republic Day and we will see in the next video till then stay safe and goodbye [Music]