How to learn JavaScript quickly?

What is JavaScript?

How to learn JavaScript quickly1.jpg

JavaScript is an Object Oriented Programming language that is primarily used to create interactive web-based interfaces. Does that sound too technical? Well, let us understand a few examples:

  • When you hover your mouse over a button, the button lightens up indicating that it is clickable.
  • While browsing Facebook, when you click on the name of your friend, a chat window pops up.
  • When you search for a tutorial in Hackr.io website, you instantly get the search results.

In all of the above examples, you do some action (hovering, clicking, typing) and in return, something happens. This interactivity is exactly where JavaScript comes into the picture. JavaScript captures these actions/events and based on that it takes some action/trigger. It is JavaScript that provides you the interactivity in the frontend.

HTML provides the content, CSS provides the look and feel of this content, JavaScript provides interactivity over this content. Without JavaScript, the web experience would be quite boring.

Another place where JavaScript is widely used is in backend development using modern web frameworks like NodeJS. In fact, there is a popular web stack called as MEAN stack which comprises for MongoDB, ExpressJS, AngularJS, and NodeJS.

Every web application has 2 parts – the backend part, which is the server side logic and the frontend part, which is what the clients will see in the browser. Common backend programming languages are PHP, Java (don’t confuse Java with JavaScript), Python, etc. The issue in using these programming languages is that the organization has to hire backend developers who are skilled in one of these programming languages and frontend developers who are skilled in JavaScript.

NodeJS is an end-to-end JavaScript-based web framework which has recently gained popularity owing to the fact that now organizations can hire JavaScript developers who can work on both front-end as well as on the backend. This makes hiring a lot easier and also since the same developer knows both frontend and backend, it becomes easier to manage the code base.

Side note: JavaScript has nothing to do with Java. Though the names are similar, both languages are completely unrelated. “Java” is as similar to “JavaScript” as “car” is to “carpet”.

Why learn JavaScript?

JavaScript in the recent past has become highly popular among the developer community. Many large and small organizations are using JavaScript as their primary programming language for both backend and frontend. There has been a significant increase in the number of job postings in JavaScript. Take a look at the chart below that talks about the number of job postings in JavaScript as compared to other programming languages.

Numner-of-Job-postings-comparison

Clearly, JavaScript has developed its position among the top programming languages and in fact, it is growing rapidly.

JavaScript developer salaries have also been rising sharply, particularly in areas where the startups are developing. Many startups these days are moving to the MEAN stack and so, the demand is only going to increase further.

All of these factors make JavaScript an excellent choice for those who want to develop a career as a Software Engineer.

How to learn JavaScript fast?

One of the best ways to learn JavaScript quickly is to actually do a JavaScript-based project. Here are some of the interesting project ideas on JavaScript:

  • A simple Calculator with operations like addition, subtraction, multiplication, division, etc.
  • e-Commerce billing calculator.
  • A bill splitting system that helps in dividing the bills between friends.
  • A basic quiz game.
  • A simple search box powered by JavaScript.
  • Form validator that makes sure that no incorrect input is provided in the form.
  • JavaScript powered comment box on a blog.
  • EchoBot – a bot that echoes back what you just typed to it.
  • A simple todo list application that helps you manage your tasks.
  • Tic-tac-toe game using JavaScript, HTML, and CSS.
  • Photo gallery.
  • Your own interactive home page.
  • A simple document statistics generator using JavaScript – you could show statistics like word count, alphabet count, word frequency, paragraph count, etc.
  • JavaScript-based alarm clock/timer.
  • JavaScript-based die – which can generate numbers from 1 to 6.

Steps to complete a JavaScript-based project will be as follows:

  • Pick up a project idea from the ones mentioned above.
  • Design an easy-to-use User Interface on a sheet of paper.
  • Plan a logic of the project (for instance, how will e-Commerce billing formula work?) and write it down on a sheet of paper.
  • Write pseudocode so as to develop a basic framework. In this pseudo code, you should take a note of the functions that you will be writing and their parameters and the output value. This will essentially bring you a step closer to the final code.
  • Finally, start coding in JavaScript. For anything that you struggle, just search on Google how that works. For instance, for the billing calculator, you may have to iterate over the list of items in the bill which may require a for loop. Just search on Google a simple example of how a for loop works in JavaScript and you will quickly be able to get a working code ready.

You can repeat this above-suggested approach for multiple projects and eventually you will be quite familiar with JavaScript syntax and its usage. You can then move on to advanced JavaScript projects.

Another approach to learning JavaScript quickly is to follow a well-known JavaScript based tutorial. You can find an awesome list of JavaScript tutorials on Simpliv. In most of these tutorials, you will be working on an actual JavaScript project and so, it will help you understand it better. This second approach is more useful for those who are relatively new to programming. Following a step-by-step tutorial is quite advantageous if you are new to programming and want to understand not only the programming language but also the basics concepts of programming.

The key to learning JavaScript quickly is to write a lot of JavaScript-based code in the form of short working projects. This will help you not only get familiar with the syntax of the programming language but also understand where it can be used effectively and where it should not be used.

Resources for the Two Study:

Javascript Testing Selenium Automation Nightwatch js Nodejs

The Foundations of HTML, CSS & Javascript

Computer Programming for Beginners

Javascript: Crash Course

Javascript Specialist

Aprende a programar usando JavaScript – Curso en español

The Complete JavaScript series with jQuery and Angular JS

Beginner’s Introduction to Meteor JS

JavaScript course – Learn core concepts of JavaScript

Learn Modern JavaScript: Getting Started

Angular 6 and 7, Apollo, GraphQL and Graphcool – Complete Guide

Ethereum : Master Web3js Library

Aprende a programar desde cero – Lógica de Programación

Best 10 Reasons Why You Should Learn Java

Java is one of the most fundamental programming languages that anyone can pick up. It is so simple at the same time, the possibility of what you can develop using Java, is infinite! This is what makes Java the most widely used language in the industry today with Java Certification being a key skill that employers constantly look out for. Through this blog, I will be listing down the top 10 reasons to learn Java.

  1. Java is easy & Open Source
  2. Java New Features
  3. Java EE & its rich API
  4. Tons of resources & Community Support
  5. Java Applications
  6. Java Development Tools
  7. Demand: Java is everywhere
  8. Java is an Object Oriented Programming Language
  9. Java is Portable & Versatile
  10. Java’s Popularity & High Salary

Let’s get started by understanding all the above points in the reverse order.

1. Java is Easy & Open Source

At number 10, Java is extremely easy and open source. It supports FLOSS philosophy where you don’t have to pay a single penny to write codes in Java.
So what are the reasons that contribute to its simplicity? Java is:

Easy - Data Science Tutorial - Edureka

  • Concurrent: Easy to process your data parallelly
  • Platform Independent (WORA): Write Once and Run Anywhere
  • Open Source: Create Java applications at absolutely no cost
  • Robust: Strong memory management
  • Interpreted
  • High Performance
  • Secured
  • Dynamic

Furthermore, Java has made our life easier by removing all the complexities such as pointers, operator overloading as you see in C++ or any other programming language.

2. Java New Features

ProjectJigsaw - Top 10 reasons to learn Java - Edureka

The release of Java 9, 10 and its features is a milestone in the Java ecosystem. I have picked up a few new Java9 features, which I feel are worth knowing about.
The very first is the project Jigsaw. The main aim of this project is to introduce the concept of modularity, support for creating modules and then apply the same to JDK.

Also, REPL tool has been introduced which makes it quite easy to try different features. Along with that, you also have Jshell scripting where you can actually write this in a single go and thereby making it quite easy.

So these new additions to Java help you to write simple code and test them up.

3. Java EE & its Rich API

API - top 10 reasons to learn Java - EdurekaNow the reason API is quite popular, it becomes very easy for a programmer to build an application as well as use different technologies without actually knowing how their internal implementation works out.

    • Coming to Java API, it has no issues with the compatibility and it handles a wide set of procedures and functions.
    • Also, you’ll be impressed that, there are over 4,500 API available for developers.
    • It provides API for I/O, networking, utilities, XML parsing, DB connection and almost everything!

You can go through the complete list of Java API’s that are associated as part of Java 10 here.

4. Tons of Resources & Community Support

 

Course Curriculum

Java, J2EE & SOA Certification Training

  • Instructor-led Sessions
  • Real-life Case Studies
  • Assignments
  • Lifetime Access

Community - top 10 reasons to learn java - Edureka

Java as a programming language is Omnipresent, which means it is present everywhere, starting from your phone to your setup box, to satellites as well.

So, there is a huge job opportunity once you grasp Java completely.

Then Java has a wonderful support community. So learning is not at all a problem with Java.

You have numerous resources available online that can act as your perfect companion, along with a support community. You have multiple forums, where all the doubts or errors related to Java are answered.

5. Java Applications

JavaApplications - top 10 reasons to learn java - Edureka

Well as I have mentioned above, Java is everywhere and it has an ocean of opportunities!

Now, let me take you through some of the technologies which make use of Java. Here I have selected some of the influenced domains which use Java.

      • Develop web application & its popular frameworks(Spring, hibernate etc.)
      • Java is used in Android APP development
      • Java is used to test your web application using various automation testing tool. Ex: Selenium, QTP which is used to automate web applications and perform testing using Java.
      • Big Data technology: Hadoop MapReduce framework is written in Java
      • Used in Scientific & Research Communities to handle a huge amount of data

6. Java Development Tools

java - top 10 reasons to learn java - Edureka

 

Now you have many powerful development tools in which you can do Java programming.

Some of the popular Java development tools are:

1.  Netbeans

2.  IntelliJ

3.  Eclipse

4.  Android Studio

All of the above tools not only help you in the code writing process but it also offers a high-level debugging to the programmers.

7. Java is Everywhere

Java is all over the place, it’s on the desktop, it’s on mobile, and everywhere! Here I have listed down few departments where Java has been explicitly used:

CompaniesUsingJava - top 10 reasons to learn java - Edureka

  • Banking: To deal with transaction management
  • Information Technology: Solve implementation dependencies and this is the domain that hires most of the Java developers.
  • Stock market: To write algorithms as to which company they should invest in
  • Financial services: Java is used in server-side applications

So, it is not limited to just one domain! Also, it is being used by many big giants such as Google, Philips, CapitalOne, Accenture, Uber and many more.

So, you can be completely assured that Java is not going anywhere soon!

8. Java is an OOPS Language

Most popular programming languages like Java, C++, C#, Ruby, etc. follow an object-oriented programming paradigm.

Object Oriented programming is a programming style which is associated with the concepts such as:
1. Classes
2. Objects
3. Inheritance
4. Encapsulation
5. Polymorphism

An object-based application in Java is based on declaring classes, creating objects from them and interaction between these objects. Hence, Java Being an Object Oriented Programming language, the concepts of Java are highly relatable.

9. Portable & Versatile

Java is extremely portable as well as a versatile language. By portable, I mean Java can be used across various platforms. Being an open source programming language, it is platform independent across OS. As its famous tagline says “Write Once and Run Anywhere”, you can run Java bytecode on any hardware that has a compliant JVM. Example: you can simply write your code or create Java applications in a Windows environment and run on any other environment, let’s say Linux etc.

Next, Java is said as one of the most versatile languages. Now, there are many reasons behind it. First of all, it has dynamic coding,  all the codes are organized and stored in an object-oriented format known as classes. Then it is highly secured. Next, it can easily work with different resources across a network. This makes Java network-concentric and a language which is not going out of the date anytime soon.

Next coming to last but not the least is Java’s popularity & high SALARY!

10. Java’s Popularity & High Salary

Java developers are the ones who acquire high paying jobs in the industry. The average Java Developer earns around 110,000$ per year in the United States.

Course Curriculum

Java, J2EE & SOA Certification Training

Weekday / Weekend Batches

Apart from this, you can refer this TIOBE programming index for all the present trending programming languages.

TiobeIndex - top 10 reasons to learn java - Edureka

So, here you can see how Java has dominated this field from the early 2000’s to present 2018. This in itself should give you an idea of how popular Java is and how widely it is being used in the industry.

So these were my top 10 reasons to learn Java. If you have any other reason in your mind, you can mention it in the comment section.

I hope my blog on “Top 10 reasons to learn Java” was relevant for you. To get in-depth knowledge of Java along with its various applications, check out our interactive, live-online Simpliv Java Certification Training here, that comes with 24*7 support to guide you throughout your learning period.

Popular Java Frameworks Should learn in 2019

It is no surprise that Java is one of the most popular programming languages. In near future, there is a little chance for any other language to replace Java, not at least in 2019. The same goes for the Java Frameworks. Spring, JSF, and GWT are the top three frameworks that are mostly used by Java Developers. But this does not mean that other frameworks are not popular.

Since the selection of framework mostly depends upon the project type, it is important for the Java development companies and developers to analyze the project requirements and future needs carefully.

Frameworks Java 1

For example, Spark Framework is widely used by developers for creating lightweight web applications in Java 8 whereas Spring is used in building complex, enterprise-level Java applications, and microservices projects.

To ease out the selection process for you, here is a list of 7 incredible Java frameworks with the details of their pros and cons, along with what project type they are suitable for.

List of 7 Popular Java Frameworks for 2019

Although the list begins with the most popular one but is not an indicator of the best fit for your project. So, let’s begin without further ado.

1. Spring Framework

Any Java developer would vouch for its capability to create complex, high-performance web applications.

With simple components and configurations, this modular framework enables you to develop enterprise-level Java applications with much ease. Its DI-dependency injection feature and compatibility with other frameworks such as Kotlin and Groovy make it Java developers’ favorite.

Spring Framework utilizes inversion of control (IoC) design principle and so for developers, it is easier to focus a module on the task and free the modules from the assumptions and make programs extensible.

It has a number of modules to achieve different functionality in an application such as Spring core (Base module), Spring AOP (for cross-context logic), Spring Transaction (For transaction support), Spring MVC (Web aspect), and more.

Used For

  • Enterprise Java (JEE)
  • Web application development
  • Distributed application
  • Core features can be used for creating any Java applications
  • All layer implementations of a real-time application

Advantages

  • All-inclusive programming and configuration model
  • Support traditional database RDBMS as well as new NoSQL
  • Provide backward compatibility and testability of code
  • Loose coupling can be achieved using IoC
  • Supports Aspect Oriented Programming and enables cohesive development
  • JBDC abstraction layer for exceptional hierarchy

Limitations

  • Steep learning curve, most developers struggle with IoC and Dependency Injection
  • Configurations keep on changing so developers have to keep themselves updated with the latest change.
  • Although Dependency Injection is one of its strengths, it makes the project dependent on Spring framework

2. Grails

Grails is a dynamic framework, anchored by the Groovy JVM programming language. It works with Java technologies, including Java EE containers, Spring, SiteMesh, Quartz, and Hibernate.

This open source web development framework is widely popular among Java developers for Enterprise Java Beans or EJB support. Because of this, it does not need to configure the XML and so developers can quickly start the development process of creating a robust and scalable application.

Used for Building

  • Content management systems
  • e-Commerce sites
  • RESTful web services

Advantages

  • Easy to use object mapping library
  • Simple GORM
  • A controller layer built on Spring Boot
  • Flexible profiles
  • Embedded Tomcat container for on the fly reloading
  • Advanced plugin system featuring hundreds of plugins
  • A responsive and supportive communit

Limitations

  • Runtime language and so error-prone
  • Not the best choice for multi-threaded app
  • Need to purchase IntelliJ Idea, do not support any other IDE
  • Must learn Groovy language
  • Complex integration process

3. Blade

This 2015 born framework is so simple and lightweight that any developer from project’s perspective can understand it in a single day.

Based on Java 8, Blade, a lightweight MVC Framework provides a RESTful-style routing interface, making the web API cleaner and much easier to understand and synchronizing data with the website.

Used For

  • Full-stack web framework for creating web applications rapidly

Advantages

  • Simple, small (smaller than 500KB) and clear coding structure
  • Multiple components to choose from
  • Multiple configuration files support
  • CSRF (Cross-Site Request Forgery) and XSS (Cross-site scripting) defense support
  • Support plug-in extensions and webjar resources
  • Embedded jetty server and template engine support

Limitations

  • Complex dependency engine
  • Lack mobile-app richness
  • Heavy documentation

4. Google Web Toolkit

GWT is a completely free, open-source framework that enables the developers to write client-side Java code and deploy it as JavaScript. Many Google products have been written using GWT such as AdSense, AdWords, Google Wallet, and Blogger.

Using this framework, developers can easily write complex browser applications rapidly. GWT allows developers to develop and debug Ajax applications in the Java language.

During deployment, its cross-compilers translate the Java Applications to standalone JavaScript files. It comes with many features such as cross-browser portability, internationalization, bookmarking, and history and management.

Used For

  • Building progressive web apps
  • Creating and maintaining complex JavaScript front-end applications

Advantages

  • Supports reusable approach for common web development tasks
  • Support for full-featured Java debugging
  • Developer-friendly RPC mechanism
  • HTML Canvas support provided
  • Google APIs can be used in GWT applications
  • Developers can design applications in a pure object-oriented manner

Limitations

  • Java to JavaScript compilation is slow
  • Proprietary methods for defining the structure
  • Need to write more code even for simple things
  • Best suitable only for Java developers

5. JavaServer Faces (JSF)

JavaServer Faces makes web application development much easier leveraging on existing, standard UI and web-tier concepts. Developed by Oracle, it has a set of APIs for representing and managing UI components and custom tag library for expressing a JSF interface.

JSF is based on MVC software design pattern and has an architecture that clearly defines a distinction between application logic and representation.

Used For

  • Building native applications
  • Web applications
  • Enterprise applications

Advantages

  • Create custom tags to a particular client device
  • Connect the presentation layer to the application code easily
  • Build user interfaces of reusable components
  • Use XML instead of Java for view handling

Limitations

  • Incompatibility with standard Java technologies
  • Complex to perform simple tasks
  • Lack of flexibility
  • Minimum Ajax support
  • Steep learning curve

6. Play

Its popularity can be estimated by the fact that it is widely used by top companies such as Samsung, LinkedIn, Verizon, The Guardian, and more. Since it uses an asynchronous model that allows statelessness principle, play framework offers speed, performance, and scalability.

Built upon Akka Toolkit, Play framework abridge the creation of concurrent and distributed applications on the Java Virtual Machine. Its user interface is simple and intuitive and so developers can easily understand its basic features to begin the development project quickly.

Used For

  • Web applications that demand consistent content creation
  • Building Java and Scala applications for desktop and mobile interfaces

Advantages

  • Hot reload for all Java code, configurations, and templates
  • Supports non-blocking I/O which is crucial for high-performance apps
  • Open source with a large community to contribute
  • Commercial support is also available
  • Compile and runtime error can be handled well

Limitations

  • Steep learning curve, extensive documentation
  • Acts volatile sometimes

7. Struts

Here’s another enterprise-level framework maintained by Apache Software Foundation. This full-featured Java Web Application Framework allows the developers to create easy-to-maintain enterprise-level Java application.

One of the most noted features of Struts is its plugins which are basically JAR packages. Means they are portable and can be added in the classpath of the app.

For object-relational mapping, you can use the Hibernate plugin and for dependency injection, you can rely on the Spring plugin.

Used For

  • Enterprise application development

Advantages

  • Well-organized JSP, Java, and Action classes that reduce development time
  • Centralized configuration, as most of the Struts values are represented in property files or XML
  • Custom JSP tags available to output the properties of JavaBeans components
  • In-built capabilities for checking form values

Limitations

  • Single ActionServlet available, which causes scalability issues
  • Lack of backward flow
  • Less transparent
  • Non-XML compliance of JSP syntax

Conclusion

When it comes to Java frameworks, keep an open mind and research which one is best for you. There are so many frameworks that will suit your project but pick the one that requires less code to write your application and is easy to manage.

Latest Java Technologies Resources:

If you are not sure how to learn a new technology e.g. programming language, framework, or a library in 2019 then please see my post about ways to learn a new technology or programming language

Spring Boot Microservices with JPA

Eclipse Tutorial For Beginners: Learn Java IDE in 10 Steps

Full Stack Development with Angular and Spring MVC

Easy to Advanced Data Structures

Java Programming for Complete Beginners in 250 Steps

Data Structures & Algorithms in Java

Crack Programming And Coding Interviews in 1st Attempt

Design Patterns – 24 That Matter – In Java

Learn Java Programming -Live Free,Learn To Code

JavaFX & Swing for Awesome Java UIs

Fundamentals of Java with NetBeans

Thanks for reading this article so far. If you like these links then please share with your friends and colleagues on Facebook. If you have any questions or feedback then please drop a note.

These Skills can help to Boost Your Programming Languages Career in 2019

A couple of days ago, I was reading an interesting article on HackerNews, which argued that you should learn numerous programming languages even if you won’t immediately use them, and I have to say that I agree. Since each programming language is good for something specific but not so great for others, it makes sense to know more than one language so you can choose the right tool for the job.

These Skills can help to Boost Your Programming Languages Career in 20191

But which languages should you learn? Which languages will give you the biggest bang for your buck?

Even though Java is my favorite language, and I know a bit of C and C++, I am striving to expand beyond this this year. I am particularly interested in Python and JavaScript, but you might be interested in something else. This list of the top 10 programming languages — compiled with help from Stack Overflow’s annual developer survey as well as my own experience — should help give you some ideas.

Java

Even though I have been using Java for years, there are still many things I have to learn. My goal for 2019 is to focus on recent Java changes on JDK 9, 10, 11, and 12. If yours is same, you’ll want to check out the Complete Java MasterClass from Simpliv. If you don’t mind learning from free resources, then you can also check out this list of free Java programming courses.

Javascript

Whether you believe it or not, JavaScript is the number one language of the web. The rise of frameworks like jQuery, Angular, and React JS has made JavaScript even more popular. Since you just cannot stay away from the web, it’s better to learn JavaScript sooner than later.

It’s also the number one language for client-side validation, which really does make it work learning JavaScript.

Convinced? Then this JavaScript Masterclass is a good place to start. For cheaper alternatives, check out this list of free JavaScript courses.

Python

Python has now toppled Java to become the most taught programming language in universities and academia.

It’s a very powerful language and great to generate scripts. You will find a python module for everything you can think of. For example,  I was looking for a command to listen to UDP traffic in Linux but couldn’t find anything. So, I wrote a Python script in 10 minutes to do the same.

If you want to learn Python, the Python Fundamentals from Pluralsight is the best online course to start with. You will need a Pluralsight membership to get access the course, which costs around $29 per month or $299 annually. You can also access it using their free trial.

And if you are looking for some free alternatives, you can find a list here.

Kotlin

If you are thinking seriously about Android App development, then Kotlin is the programming language to learn this year. It is definitely the next big thing happening in the Android world.

Even though Java is my preferred language, Kotlin has got native support, and many IDEs likeIntelliJ IDEA and Android Studio are supporting Kotlin for Android development.

The Complete Android Kotlin Developer Course is probably the best online course to start with.

Golang

This is another programming language you may want to learn this year. I know it’s not currently very popular and at the same time can be hard to learn, but I feel its usage is going to increase in 2019.

There are also not that many Go developers right now, so you really may want to go ahead and bite the bullet, especially if you want to create frameworks and things like that. If you can invest some time and become an expert in Go, you’re going to be in high demand.

Go: The Complete Developer’s Guide from Simpliv is the online course I am going to take to get started.

C#

If you are thinking about GUI development for PC and Web, C# is a great option. It’s also the programming language for the .NET framework, not to mention used heavily in game development for both PC and consoles.

If you’re interested in any of the above areas, check out the Learn to Code by Making Games – Complete C# Unity Developer from Simpliv. I see more than 200K students have enrolled in this course, which speaks for its popularity.

And again, if you don’t mind learning from free courses, here is a list of some free C# programming courses for beginners.

Swift

If you are thinking about iOS development like making apps for iPhone and iPad, then you should seriously consider learning Swift in 2019.

It replaces Objective C as the preferred language to develop iOS apps. Since I am the Android guy, I have no goal with respect to Swift, but if you do, you can start with the iOS 11 and Swift 4 – The Complete iOS App Development Bootcamp.

If you don’t mind learning from free resources then you can also check out this list of  iOS courses for more choices. There’s also this nifty tutorial.

Rust

To be honest, I don’t know much about Rust since I’ve never used it, but it did take home the prize for ‘most loved programming language’ in the Stack Overflow developer survey, so there’s clearly something worth learning here.

There aren’t many free Rust courses out there, but Rust For Undergrads is a good one to start with.

PHP

If you thought that PHP is dead, then you are dead wrong. It’s still very much alive and kicking. Fifty percent of internet websites are built using PHP, and even though it’s not on my personal list of languages to learn this year, it’s still a great choice if you don’t already know it.

 Here is a great list of resources for learning the latest version, PHP 7.

C/C++

Both C and C++ are evergreen languages, and many of you probably know them from school. But if you are doing some serious work in C++, I can guarantee you that your academic experience will not be enough. You need to join a comprehensive online course like C++: From Beginner to Expert to become industry ready.

And for my friends who want some free courses to learn C++, here is a list list of C++ Programming courses for beginners.

Even if you learn just one programming language apart from the one you use on daily basis, you will be in good shape for your career growth. The most important thing right now is to make your goal and do your best to stick with it. Happy learning!

Top Java Blogs and Books for Programmers of All Level

If you are a Java developer and looking for some awesome resources e.g. books and courses to improve your multi-threading and concurrency skills in Java then you have come to the right place. In the past, I have shared books and tutorials on Java Concurrency and Multithreading and in this article, I am going to talk about some of the best free and paid course to learn multi-threading and concurrency in Java. You can join these free courses to improve your understanding of Java Concurrency and Multithreading. It’s one of the most important skills for Java developers as almost all the companies who interviews Java developers pay particular attention to his knowledge and experience in this area.

If you are aiming for a job on big Investment banks like Citibank, Deutsche Bank or Barclays or in a service based companies like Infosys, TCS and Luxsoft and others, you must have a strong command on multithreading and concurrency concepts in Java.

Best Java Books

Following are the list of advance Java books, let’s discuss them one by one:

i. Head First Java

Head First Javaby Kathy Sierra & Bert Bates

Among all the java books, the best part of this book is its simplicity. Although, it has easily related java concepts in real life. Also, we can say that this book needs to be updated with all the recent changes. Although, this Java book is best for the understanding of the OOPS concepts.
For making the learning and memorizing tasks easier, this book contains mysterious problems, numerous puzzles, striking visuals, and particular soul-searching interviews for making the computer programming more playful and engaging. The book is a good choice for new programmers and those who want to improve their programming knowledge.

ii. Introduction to Programming Using Java, the 7th Edition

Introduction to Programming using JAVAby David J. Eck

Basically, this Java book is for beginner programmers. Although, good for experienced programmers also. But only for those who want to learn little about java. In the 7th edition, it also contains Java 8.
The book includes chapters, Programming in the Small I-Names and Things, Control, Subroutines,Objects and Classes, Introduction to GUI Programming, Arrays and ArrayLists, Correctness, Robustness, Efficiency, Linked Data Structures and Recursion, Generic Programming and Collection Classes, Advanced Input/Output: Streams, Files, and Networking and Threads and Multiprocessing Advanced GUI Programming.

iii. Java: The Legend

Java- The Legendby Ben Evans

As we know that Java has come a long way in the last 20 years. Also, Java is no more the fancy language of developers. Although, it has now become the mainstream of any development in the world. Moreover, the use of Java in Android has taken Java into an even more larger domain.
The book covers several topics like, How Java has provided benefits from early design decisions, including “Write Once, Run Anywhere” and an insistence on backward compatibility, the effect of open source, the great success and continued requirement of the Java Virtual Machine and platform, the rise of Enterprise Java and the launch of the Java developer community and ecosystem.

iv. Introduction to Programming Using Java, Sixth Edition

Introduction to Programming using Javaby David J. Eck

Basically, we can say this is the best book as compared to other Java books. As this book provides another free Java book. That contains in both PDF and HTML format. It teaches programming basics using Java programming language.
The sixth edition needs Java 5.0 and can also be utilized with later versions of java. Almost all the examples in the book will run with Java 5.0, but some characteristics from later versions of Java are also covered. You will detect many Java applets on the web pages that create this book, and most of those applets need Java 5.0 or higher to run.

v. Java – A Beginner’s Guide

Java A Beginners Guideby Herbert Schildt

This java book is best for beginners. It provides an introduction to Java language. Also, introduce java syntax. This is best for java programmers. Moreover, will help you to learn java from the beginning to the advanced level in an easy manner.
The author begins with the basic aspects, such as the process to create, compile, and function a Java program. He then covers the keywords, syntax, and constructs that create the core of the Java language. You will also learn some of Java’s more advanced features, like generics, multithreaded programming, and Swing.

vi. Object-Oriented vs. Functional Programming

Object Oriented Vs Functional Programmingby Richard Warburton

Generally, this java book helps to learn the differences between object-oriented and functional programming. As we can say Java 8 started supporting functional programming concepts. For Example – Lambda Expressions, Map, Flat map, Reduce etc
You will learn how lambdas create OOP languages better suitable for dealing with parallelism and concurrency, get to know the process of SOLID—OOP’s five basic principles of programming—map to functional languages and paradigms, find certain common OOP design patterns and how they remain in the functional world.

vii. Java 8 in Action: Lambdas, Streams, and functional-style programming

Java 8 in Actionby Mario Fusco & Alan Mycroft

Basically, this Java book contains new features of Java 8. One of the important things about this book. That we can write concise code in less time.
What’s Inside:

  • How to use Java 8’s powerful new java features.
  • Writing effective multicore-ready java applications.
  • Refactoring, testing, and also debugging of java.
  • Adopting functional-style programming in java.
  • Java Quizzes and quick-check questions.

viii. Java Cookbook: Solutions and Examples for Java Developers

Java Cookbookby Ian Darwin

Basically, this book includes:

  • Java methods for compiling, running, and debugging;
  • Manipulating, comparing, and rearranging text in java;
  • Java Regular expressions for string- and pattern-matching;
  • Handling numbers, dates, and times in Java;
  • Structuring data with collections, arrays, and other types in Java;
  • Java Object-oriented and functional programming techniques;
  • Java Directory and filesystem operations.
  • Working with graphics, audio, and video in Java

ix. Java: The Complete Reference (Ninth Edition)

Java The complete Referenceby Herbert Schildt 

If you want to become a master in Java, this book is the best. Although not so good for complete beginners, because it’s more than 1200 pages long. But this is the best if you want to learn beyond the basics.
The author describes the complete Java language, like its syntax, fundamental programming principles, keywords, and significant parts of the Java API library. Examining the JavaBeans, Swing, applets, servlets, and real-world examples show Java in action. It also includes New Java SE 8 features like the default interface method, the stream library, lambda expressions are discussed in detail. It also provides a basic introduction to JavaFX.

x. Core Java Volume I — Fundamentals (9th Edition)

Core Javaby Cay S. Horstmann & Gary Cornell

We can say this is the other best book to java. As it contains an explanation of the different features of Core Java. Although this book doesn’t cover Java 8, otherwise it’s one of the best java reference books.
The book is for advanced programmers. This reliable, unbiased book focuses on key Java language and library features with strong tested code examples. As in previous editions, all code is easily understandable, shows modern best practices, and is specifically created to help in the quick start of your projects. It quickly brings you with Java SE 7 core language enhancements, like the catching of multiple exceptions diamond operator, and improved resource handling.

xi. Effective Java 2nd Edition

Effective Javaby Joshua Bloch

This is not best for the beginners but must have a book for the Java programmers. Also, the book provides the best practices to follow for java algorithms. Although, you must have to read this book in parallel with another book. So as follow this practice right from the start.
Basically, these best practices are divided into 11 different sections. So, I would recommend you to read this book.

xii. Java SE8 for the Really Impatient

Java SE 8by Cay S. Horstmann

This book is completely different. As it is with a shorter page length and a simpler writing style. Basically, this book provides java SE8 along with new features.
Particularly, You’ll learn about concurrent programming techniques. Also, how to make these changes in the SE8 release(and later). Although, It’s very detailed books. Hence, not good for beginners.

xiii. Beginning Programming with Java For Dummies

Beginning Programming with Javaby Barry Burd

This is the best Java book if you have experience in coding. Also, best for the beginners. As this book was written in plain English.
As this book is currently in its 4th edition. That covers all the fundamentals of basic Java. Particularly in this book, you will learn everything step by step. That first learn how to install Java, how to run and compile the code.

xiv. Java Programming 24-Hour Trainer

Java programming 24 Hour trainerby Yakov Fain

This book for Java is reasonable for beginners. Also, the book was written in a Straightforward writing style. Although, best for the people who are new to java. As it encourages them to keep going and it builds confidence along the way.
The book will help you learn the building blocks that suits any Java project, ease the writing code through the Eclipse tools, understand to join Java applications to databases, create graphical user interfaces and web applications and learn to design GUIs with JavaFX.

xv. Java Performance: The Definitive Guide

Java Performance the definitive guideby Scott Oaks

Generally, this Java book describes the concepts of JVM along with APIs for testing. The best thing about this book is that it helps in learning you the best thing. As you will learn how to test your code the same way engineers and professional programmers do.
You will learn to implement four principles for gaining the best results from performance testing, utilize JDK tools to gather data on how a Java application performs, learn the advantages and disadvantages of utilizing a JIT compiler, adjust JVM garbage collectors to modify programs, a little bit.

xvi. Java Programming

Java Programmingby Wikibooks Contributors

Generally, this book is more expensive in Java. As this book is of 1,000 pages and it’s 9th edition. This book will force you to perform an exercise. Also, helps in learning various concepts with real life.
The book helps users learn the many ways one can run in Java. This book is both a useful reference and an introductory guide on Java and related technologies. The difficulty of the context increases, related to the lessons learned in the previous chapters. Freshers should, therefore, begin from the starting and move forward in a sequence for the whole material of the book.

xvii. TCP/IP Sockets in Java

TCP & IP Sockets in Javaby Kenneth L. Calvert & Michael J. Donahoo

As this book teaches you different TCP/IP connections. Also, you can work over a network with java. Further, this book will guide you sockets in java. Also, it’s everyday applications.
The book covers many new classes and capabilities shown in the last chapters of the Java platform. It helps the reader learn the tasks and techniques important to virtually all client-server projects through Java sockets.

xviii. Learn Java in One Day and Learn It Well

Learn Java in 1 dayby Jamie Chan

This is different from other books in a very good manner. As this is the short that covers a lot of ground. As this book contains only 230 pages but it covers all things from working to writing code.
The book has a unique project in the last part of the book that needs the application of all the concepts covered previously. Functioning through the project, will not only provide you a great sense of achievement but it will also facilitate the knowledge and expertise in language.

Here is my list of some of the best courses to learn Java online. I have always said that online courses are the best way to learn a new programming language, a new framework, a new library, or a new version of a popular technology e.g. Java.

Java Blogs
You can also use a book, in fact, I have been using books to learn from so long but in last a couple of years I have found online course great to start with. They are interactive and explains key concepts in quick time.

Once you found your feet, you can always use a book to learn the Java or any new technology in depth. If you have not read yet, then Effective Java 3rd Edition is a good book to read in 2019. It also covers JDK 9 and has a whole item on Modules and Modular JDK.

Java is packed with new features and in this article, I am going to share some of the best Java courses you can take to learn new features of Java quickly.

Adam Bien

Ever since the release of JDK 1.0 back in 1995, Adam Bien has been working continuously as a freelancer Java expert.

His blog posts are read daily by thousands of Java professionals, learners, and enthusiasts from around the world. You will find everything related to JavaFX and Java EE on the dedicated blog along with other useful Java information.

Most of the blog posts feature videos that make the learning process more straightforward and efficient. Also, several ebooks are also available at the web resource. Adam Bien regularly adds interactive web events and workshops on the blog, which are even better to learn and advance in Java.

Baeldung

Another essential web resource for Java programmers in Baeldung. The dedicated Java website is an excellent option for anyone looking to seek the latest Java news, updates, and professional advice. In addition to offering Java-focused articles from a diverse range of Java professionals and experts, Baeldung provides useful learning courses.

Baeldung focuses specifically on HTTPClient information, Jackson, Java, Persistence, and REST APIs. Typically, multiple high-quality articles are added to the website each day.

In addition to tutorials and guides for Java, there are several in-depth tutorials on Spring Framework.

JavaWorld

JavaWorld, the name in itself is explanatory of what the website is all about. It is one of the leading resources for Java developers to stay updated about the programming language as well as related technologies. JavaWorld is a community for and by Java people.

JavaWorld offers information on open source Java projects, Java Q&As, and programming careers. It is an ideal place for newbies Java programmers to start. The Java 101 blog series is developed primarily for those new to the programming language. It covers topics such as APIs, packages, and syntax.

Seasoned Java experts can stay ahead in their game with regular updates about changes made to Java and in-depth information on various Java tools. JavaWorld is a great place to know about the opinions and viewpoints of industry leaders.

Java Revisited

Curated by Javin Paul, a Java professional with several years of industry experience, Java Revisited is another opportune blog to follow. It offers various excellent how-to and step-by-step Java guides. Therefore, it is a convenient learning option for both beginners and seasoned Java programmers.

In addition to Java, the blog also focuses on FIX protocol and Tibco RV.

One of the major highlights of the dedicated Java blog is the encouragement of readers to conduct interviews with Javin. Among all the queries asked, Javin collects some of the most relevant ones and converts them into detailed blog posts.

jOOQ

The jOOQ blog focuses on Java, SQL, and jOOQ. The massive stockpile of information at the blog primarily consists of how to articles and step-by-step guides. Owing to the versatility of the same, there is something worth learning for Java programmer of every skill level.

The frequency at which articles get published on the blog is infrequent. However, it isn’t an issue as there are already hordes of articles, to begin with. The sidebar allows users to easily navigate their way to some categories, including Java and Other Languages, Thoughts on Programming, and SQL Tricks and Tips.

Thoughts on Java

Operated by Thorben Janssen, Thoughts on Java is yet another Java blog for newbies, veterans, and everyone in between. Specializing in Hibernate, Janssen is a Java professional with over 15 years of industry experience. Two new blog posts are added to the dedicated Java blog every week. The blog posts cover everything ranging from Java news to in-depth guides.

In addition to the articles, one can also benefit from various online courses, workshops, and YouTube videos available at Thought on Java.

Moreover, Janssen also offers on-site and open classroom training. Signing up at Thoughts on Java unlocks cheat sheets, downloadable ebooks, and printable Hibernate tips.

Vlad Mihalcea

Vlad Mihalcea is one of the most famous Java experts and skilled professionals. He is a dedicated blogger and mentors with a reach of over 75k visitors a month. With a diverse range of articles available on this blog, there is something worth learning for Java developers of all levels. Recent articles at the blog aim at Hibernate.

In addition to the blog, Vlad Mihalcea is the author of the book High-Performance Java Persistence. The book entails a discussion about batch updates, connection management, fetch sizes, Java data access frameworks, and Java data access performance tuning. Amazingly, the content of the book is inspired from the very posts published on the blog.

To sum up, Vlad’s blog is a must-visit for every Java developer. In addition to the new articles published every week, the blog boasts on-site training, tutorials, and a video course.

Java and Programming Resources you may like

The resources mentioned above will ensure you stay relevant in the industry by continuously improving your Java skill set and knowledge base. And, if you need to learn something new, then you can always get your desired online course

Spring Boot Microservices with JPA

Eclipse Tutorial For Beginners: Learn Java IDE in 10 Steps

Full Stack Development with Angular and Spring MVC

Easy to Advanced Data Structures

Java Programming for Complete Beginners in 250 Steps

Data Structures & Algorithms in Java

Crack Programming And Coding Interviews in 1st Attempt

Design Patterns – 24 That Matter – In Java

Learn Java Programming -Live Free,Learn To Code

JavaFX & Swing for Awesome Java UIs

Fundamentals of Java with NetBeans

Why Java is the Future of Big Data and IoT 2018

Digitization has changed the business model in companies. Today, every market analysis is dependent on data. As a result, the rate at which data is being generated is outpacing our analysis capability. Hence, big data analysis is in place with high-end analytic tools like Hadoop. Hadoop is a Java-based programming framework with high-level computational power that enables to process large data sets.

On the other hand, after the internet, the next thing that would take the world by storm may be the Internet of Things (IoT). This technology is based on artificial intelligence and embedded technology. This new wave of technology is meant to enable machines to human-like performance. However, the implementation of an embedded system needs many considerations; and here comes the role of Java in IoT.

Being in the technology space for more than 20 years as a trusted platform for development, Java has not been outdated. Furthermore, its role is ubiquitous even with the latest technology inventions.

In this blog, we will discuss the role of Java in big data and IoT and its credibility in future as well.

What does IoT do?

IoT is a means or technology to collect and manage massive amounts of data from a vast network of electronic devices and sensors, then processing the collected data, and sharing it with other connected devices or units to make real-time decisions. Basically, it creates intelligent devices. Example of such intelligent networking system is an automated security system of a house.

However, enabling the IoT would need programs which will help to easily connect it with other devices to maintain the connectivity all around the system. Here comes Java into the picture with its networking programming capability.

What does IoT do

Role of Java in IoT

Here are the features of Java which play critical roles in developing an IoT system.

Platform independence

Platform independence is an important feature when you are developing an IoT system. During the development of an embedded application, you need to consider about the below factors –

  • Processor,
  • The real-time operating system,
  • Different protocols which will be used to connect the devices.

Java ME abstracts all of the above factors. Hence, the developed IoT application can run across the many different devices without changing the code of those applications. It helps to implement write once and prototype anywhere (on different types of hardware platform) facility. As IoT mainly handles embedded system, the developers need to use the software on different chipsets or operating systems as per the requirements.

Portability

Portability over the network is one of the primary reasons for choosing Java for IoT development for almost all devices from desktop computer to mobile use Java. Also with its networking capability, it is an integral part of the internet that makes it a good fit for IoT.

Easy accessibility with the best functionalities

A developer can easily learn Java, and with its best level of object-oriented features, it provides the best level of services in an application. For example, security and scalability are two important parameters in the industry while dealing with IoT devices and Java meets that requirement. With its huge ecosystem in the place, Java makes itself more suitable for the IoT. Hence, developers with advanced Java knowledge are working on innovative IoT solutions to create a connected digital world.

Easy accessibility with the best functionalities.jpg

Extensive APIs

Java offers its users the advantage of using an extensive list of APIs which they need to apply rather than rewriting during the making of an embedded application. It makes Java a perfect choice for IoT programmers.

Flexible and easy to migrate

One of the primary reasons IoT programmers incline towards Java is because of its flexibility and virtual availability everywhere. Hence, they can do anything with Java. Additionally, the migration capability of any Java application is high. The reason behind it is if an application is developed using Java, there will not be many issues during the migration to a new platform, and the overall process will be less prone to error.

What are the benefits of using Java for IoT

When we embed Java for IoT, as a user we receive numerous benefits which ultimately reap in the business along with technical enhancement.

Here are some of the benefits mentioned below –

  • Higher Resource Availability – Being in technology space over long period Java has built up a strong community that consists of millions of developers around the world. It is a diverse ecosystem, and with a strong community back up, it is easier for a developer to learn Java easily. Hence, it helps to meet the goal of achieving a connected system.
  • Enhanced Device Performance – In IoT mainly Java Embedded is used which helps in more enhanced information exchange among devices on a timely basis which makes devices more integrated.
  • Enhanced Product Life-cycle due to High Adaptability – With Java, a product gets the ability to upgrade itself according to the business requirements and changes coming up in the market. Moreover, it manages itself with the changes without any glitch. Hence, the overall product life cycle enhances with the use of Java.
  • Increased Marketability – Since the product lifecycle gets increased and reusability of the modules, the overall market credibility of the product increases automatically.
  • Reduced Support Cost – As Java Embedded provides the ability to auto update and managing a product, the support cost gets reduced significantly.
  • Secure and Reliable – With enhanced security feature of Java, any IoT device will get security and reliability assurance over the internet.

What is the Role of Java in Big Data?

When we talk about Big data, the first thing comes in our mind is what does it actually do? Well, big data deals with enormous data set, either formatted or unformatted and process them to provide a valid output to the businesses in the required format. Here are few main purposes of big data-

  • To process a huge set of data to get insights of a trend
  • To use processed data for machine learning purpose to create automated process or system
  • Using big  data for complex pattern analysis

For the functionalities as mentioned earlier, mainly tools are used. Some of the popular tools are Apache Hadoop, Apache Spark, Apache Storm and many more. Most of these tools are Java-based, and Java concepts are widely used for data processing.

Big Data and Internet of Things are Interrelated

As IoT continues to grow, it has become one of the key sources of an infrequent amount of data. The data may be sourced from hundreds to thousands or even larger number of IoT devices as random data. This huge set of data also needs analysis through big data. Thus there is an interdependency of both the technologies where Java works as a common platform.

Big Data and Internet of Things are Interrelated.jpg

What will be the Role of Java in Big Data and IoT in Future?

Internet of Things is triggering millions of devices to connect online which is resulting in data more than ever. This huge data needs enough storage and management. For this purpose, big data technologies must be augmented to handle this data effectively. Interestingly the technology giants like Google and Apache are contributing more libraries for these technologies advancement. As we have discussed the role of Java in big data and IoT, it is expected that Java development will play the more aggressive role for the future benefit of these technologies.

 Overall, Java has always been considered as a popular and useful technology which is also a trusted platform when compared to all the others programming languages on the market. Though there are numerous programming languages are in place with easier interfaces like Pig, Ruby and many more; still, people show their gravity towards Java. As a result, the numbers of Java programmers are increasing every day.

Thus, whether or not the technologies like big data and IoT change rapidly, the role of Java in Big data and IoT will always remain the same.

Conclusion: To conclude, the bottom line is – Java is everywhere. However, if you want to walk with the changing industry trends, then Java is not the ultimate answer for achieving a promising career. You need to ramp up with latest technologies like Big data, Machine learning, IoT, Cloud or similar technologies. However, an effective upgradation needs proper guidance and roadmaps and here comes the role of Whizlabs to help you out in your path of success.

Do you want free online courses Click here

Introduction to Programming – Most Upvoted Programming Tutorials

Have you ever said to yourself: “I’d like to learn programming, but where should I start?”

There are an overwhelming number of options that are available to those who want to learn. Introduction to Programming is designed to give you the foundation skills that will prove important for any type of programming you want to do. You’ll learn to code web pages, create a mobile application and use external data sources. (Mobile covered in Level II of the course)

10 Introduction to Programming.jpg

This course, which includes video lectures, lab exercises, and full program code will prepare your for entry level jobs in development– or simply make you comfortable with code and confident in more advanced study.

As you build a portfolio of skills, you’ll also build a portfolio of completed projects that can be used to demonstrate your new skill sets.

In Level I of the course we focus on foundations– The things that all developers need to know to be successful. With each passing chapter of the course you’ll learn new skills and demonstrate them in a lab exercise.

Technologies

This program will introduce participants to all of the following technologies:

In Level II of the course we’ll look at mobile technologies,Javascript, jQuery and SQL.

We Created Introduction to Programming For You

If you’ve been considering learning to code– or have tried before and it didn’t quite take– then this course is for you. We’re not teaching a random programming language, but, instead, laying a professional foundation with the skills today’s programmers need to know.

A mix of lecture and activity, this course is designed not just to expose you to important topics for new coders, but to help you retain the information and immediately put it to use.

Comprehensive and Efficient

8 Python for Beginners 2017.jpg

Introduction to Programming is designed to provide a comprehensive introduction to the programming field. However, we know you’re busy and don’t spend time on unnecessary theory and background. You’ll complete the course in just a few weeks worth of evenings– however the lessons will stay with you through out your programming career.

Projects

You’ll learn by doing in the Introduction to Programming program. This course includes multiple projects to help you understand and remember what you’re learning. Here’s just a few of the projects you’ll complete:

Restaurant Review Web Site: Post your favorite restaurant reviews on your own site

MP3 Player: Play your favorite music

Responsive Design Web Site: Make a web site work across multiple sized screens

Interest Calculator: Figure out how long it will take you to get rich

Magic 8 Ball: Make those truly important decisions

Web Services Project: Get data from an external source– They key to many apps

Over 500,000 Students LearnToProgram

You’ll be among our community of over 500,000 students who’ve learned programming from one of our LearnToProgram courses. With over 250,000 students online, we’ve learned a few things about teaching people– And those lessons are injected in to Introduction to Programming.

We’re looking forward to seeing you in class!

Who is the target audience?

  • Beginners who want to learn to code
  • Teachers and Students
  • People at the Beginning of Their Coding Career
Basic knowledge
  • Windows or Mac
  • Web Browser (Free)
  • Python Software (Free)
  • Text Editor (Free)
What you will learn
  • What is HTML5?
  • How to Display HTML5 Code in a Browser
  • The Tool to Use for Coding
  • How HTML5 Documents are Structured
  • Displaying Paragraph Text with HTMl5
  • Displaying Heading Text with HTML5
  • Displaying Lists
  • What is CSS and How is it used?
  • How to Apply CSS Styles
  • Adjusting Font and Font Size
  • How to Style Lists with CSS
  • How to Use Classes and ID’s
  • Creating Internal and External Hyperlinks
  • Displaying Images on a Page
  • Playing Audio on a Page
  • Playing Video on a Page
  • How to Assemble and Code an MP3 Player
  • Understand Basic Table Structure
  • Understand Complex Table Structures
  • Design a Table with CSs
  • Obtain User Input
  • Create Online Forms
  • Accept Information in the Form of Numbers, Dates and Colors
  • Create Form Dropdowns
  • Create Submit and Reset Buttons for a Form
  • Create Generic Buttons
  • Create Radio Buttons and Check Boxes
  • Style Forms with CSS
  • Use the CSS Box Model
  • Understand How to Create Borders, Background and Margins
  • Understand Static, Fixed, Relative and Absolute Positioning Models
  • Create Floating Elements
  • Understand Responsive Design
  • Apply Responsive Design for Mobile
  • Use a Responsive Design Framework
  • Write a Procedural Program in Python
  • Run Python Command LIne Code
  • Obtain Command Line Input in Python
  • Output Strings with Print
  • Output Expressions with Print
  • Create Variables
  • Use Input Statements
  • Understand Programmatic Decision Making
  • Use Simple and Complex If Statements
  • Create While Loops
  • Create For Loops
  • Create Break and Continue Statements
  • Understand the Role of Functions in Coding
  • Create Parameterized Functions
  • Create Functions that Return Values
  • Create List Structures
  • Create a Dictionary Data Structure
  • Understand File Input/Output
  • Write to a File
  • Read in From a File
  • Work with CSV (Comma Separated Value) Data
  • Work with Dates in Python
  • Work with Regular Expressions in Python
  • Complete Basic Networking in Python
  • Download and Parse XML

Are you ready to Keep Growing Up

7 Best Online Java Programming Courses for Beginners | Simpliv

Spring Boot Microservices with JPA

Spring Boot Microservices with JPAa.jpg

This course is a practical course which explains how to realise a microservice infrastructure in order to realise a full-stack web application composed by a “framework-less” Single Page Application and two restful Spring Boot microservices interacting with each other and with two different databases thanks to the implementation of the JPA (Java Persistence Api).

You’ll have the basis to generate fastly a microservice infrastructure, to organise your application using different layers according to the “SOLID” principle and following the MVC pattern.

You will have the instrument to organise your communication protocols using simple and effective rules, to implement restful web services which communicate with Json Messages.

This is course has the same topic of the Italian course Sviluppo Web a Microservizi con Java Spring Boot e Ajax” so it can easily considered as its English version. The example developed is different but with the same topics: microservices, Spring Boot, JPA and Rest calls.

Who is the target audience?

  • Anybody who wants to understand microservice infrastructure and the difference existing between monolithic application and microservices
  • Anybody who wants to learn Spring Boot and how to realize fastly a microservice infrastructure using this precious instrument
  • Anybody who wants to understand the difference between the classical use of Spring MVC and its implementation through Spring Boot
  • Anyone who wants to learn the basis of JPA (Java Persistence Api) in order to interact with Databases
  • Anyone who wants to learn how to implement Restful Web services using a microservice infrastructure
  • Anyone who wants to learn how to consume Restful web service either from the user interface than from server-side code
  • Anyone who want to have a basic idea on Single Page Applications and how they works
  • Anyone who wants to realise a full stack web application using the most modern technologies and approaches
  • Anyone who wants to learn how Ajax calls and javascript can be used to let our web pages become dynamics
  • Anybody who wants to understand how to generate a dynamic web page using multiple resources con temporarily

keep enhancing and more information

 

Data Structures & Algorithms in Java

Data Structures & Algorithms in Java.png

This is an animated, visual and spatial way to learn data structures and algorithms

  • Our brains process different types of information differently – evolutionarily we are wired to absorb information best when it is visual and spatial i.e. when we can close our eyes and see it
  • More than most other concepts, Data Structures and Algorithms are best learnt visually. These are incredibly easy to learn visually, very hard to understand most other ways
  • This course has been put together by a team with tons of everyday experience in thinking about these concepts and using them at work at Google, Microsoft and Flipkart

What’s Covered:

  • Big-O notation and complexity
  • Stacks
  • Queues
  • Trees
  • Heaps
  • Graphs and Graph Algorithms
  • Linked lists
  • Sorting
  • Searching

keep enhancing and more information

 

Programming And Coding Interviews

Programming And Coding Interviewsf.jpg

Programming interviews are like standard plays in professional sport – prepare accordingly. Don’t let Programming Interview gotchas get you down!

  • Programming interviews differ from real programming jobs in several important aspects, so they merit being treated differently, just like set pieces in sport.
  • Just like teams prepare for their opponent’s playbooks in professional sport, it makes sense for you to approach programming interviews anticipating the interviewer’s playbook
  • This course has been drawn by a team that has conducted hundreds of technical interviews at Google and Flipkart

What’s Covered:

  • Pointers: Memory layout of pointers and variables, pointer arithmetic, arrays, pointers to pointers, pointers to structures, argument passing to functions, pointer reassignment and modification – complete with visuals to help you conceptualize how things work
  • Strings: Strings, Character pointers, character arrays, null termination of strings, string.h function implementations with detailed explanations
  • Linked lists: Visualization, traversal, creating or deleting nodes, sorted merge, reversing a linked list and many many problems and solutions, doubly linked lists
  • Bit Manipulation: Work with bits and bit operations
  • Sorting and searching algorithms: Visualize how common sorting and searching algorithms work and the speed and efficiency of those algorithms
  • Recursion: Master recursion with lots of practice! 8 common and uncommon recursive problems explained. Binary search, finding all subsets of a subset, finding all anagrams of a word, the infamous 8 Queens problem, executing dependent tasks, finding a path through a maze, implementing PaintFill, comparing two binary trees
  • Data Structures: Understand queues, stacks, heaps, binary trees and graphs in detail along with common operations and their complexity. Includes code for every data structure along with solved interview problems based on these data structures
  • Step-by-step solutions to dozens of common programming problems: Palindromes, Game of Life, Sudoku Validator, Breaking a Document into Chunks, Run Length Encoding, Points within a distance are some of the problems solved and explained

keep enhancing and more information

 

Design Patterns – 24 That Matter – In Java

Design Patterns - 24 That Matter - In Java.jpg

  • Prerequisites: Basic understanding of Java
  • Taught by a Stanford-educated, ex-Googler, husband-wife team
  • More than 50 real-world examples

This is an intensely practical, deeply thoughtful, and quirky take on 24 Design Patterns that matter.

Let’s parse that.

  • The course is intensely practical, bursting with examples – the more important patterns have 3-6 examples each. More than 50 real-world Java examples in total
  • The course is deeply thoughtful, and it will coax and cajole you into thinking about the irreducible core of an idea – in the context of other patterns, overall programming idioms and evolution in usage
  • The course is also quirky. The examples are irreverent. Lots of little touches: repetition, zooming out so we remember the big picture, active learning with plenty of quizzes. There’s also a peppy soundtrack, and art – all shown by studies to improve cognition and recall
  • Lastly, the patterns matter because each of these 24 is a canonical solution to recurring problems

What’s Covered:

  • Decorator, Factory, Abstract Factory, Strategy, Singleton, Adapter, Facade, Template, Iterator, MVC, Observer, Command, Composite, Builder, Chain of Responsibility, Memento, Visitor, State, Flyweight, Bridge, Mediator, Prototype, Proxy, Double-Checked Locking and Dependency Injection
  • The only GoF pattern not covered is the Interpreter pattern, which we felt was too specialized and too far from today’s programming idiom; instead we include an increasingly important non-GoF pattern, Dependency Injection
  • Examples: Java Filestreams, Reflection, XML specification of UIs, Database handlers, Comparators, Document Auto-summarization, Python Iterator classes, Tables and Charts, Threading, Media players, Lambda functions, Menus, Undo/Redo functionality, Animations, SQL Query Builders, Exception handling, Activity Logging, Immutability of Strings, Remote Method Invocation, Serializable and Cloneable, networking
  • Dependency Inversion, Demeter’s Law, the Open-Closed Principle, loose and tight coupling, the differences between frameworks, libraries and design patterns

keep enhancing and more information

 

Learn Java Programming -Live Free,Learn To Code

Learn Java Programming.jpg

  • Taught by a Stanford-educated, ex-Googler, husband-wife team
  • This course will use Java and an Integrated Development Environment (IDE). Never fear, we have a detailed video on how to get this downloaded and set up.
  • Hundreds of lines of source code, and hundreds of lines of comments – just download and open in your IDE!

A Java course for everyone – accessible yet serious, to take you from absolute beginner to an early intermediate level

Let’s parse that.

  • This is a Java course for everyone. Whether you are a complete beginner (a liberal arts major, an accountant, doctor, lawyer) or an engineer with some programming experience but looking to learn Java – this course is right for you.
  • The course is accessible because it assumes absolutely no programming knowledge, and quickly builds up using first principles alone
  • Even so, this is a serious Java programming class – the gradient is quite steep, and you will go from absolute beginner to an early intermediate level
  • The course is also quirky. The examples are irreverent. Lots of little touches: repetition, zooming out so we remember the big picture, active learning with plenty of quizzes. There’s also a peppy soundtrack, and art – all shown by studies to improve cognition and recall.

 

keep enhancing and more information

 

Easy to Advanced Data Structures

Easy to Advanced Data Structuresdg.jpg

Data structures are amongst the most fundamental ingredients in the recipe for creating efficient algorithms and good software design. Knowledge of how to create and design good data structures is an essential skill required in becoming an exemplary programmer. This course will teach you how to master the fundamental ideas surrounding data structures.

Learn and master the most common data structures in this comprehensive course:

  • Static and dynamic arrays
  • Singly and doubly linked lists
  • Stacks
  • Queues
  • Heaps/Priority Queues
  • Binary Trees/Binary Search Trees
  • Union find/Disjoint Set
  • Hash tables
  • Fenwick trees
  • AVL trees

Course contents

This course provides you with high quality animated videos explaining a multitude of data structures and how they are represented visually. You will learn how to code various data structures together with simple to follow step-by-step instructions. Every data structure presented will be accompanied by some working source code (in Java) to solidify your understanding of that particular data structure. I will also be posting various coding exercises and multiple choice questions to ensure that you get some hands on experience.

Who is the target audience?

  • Individuals hungry for new knowledge
  • Students who want a fundamental understanding of data structures

 

keep enhancing and more information

 

Fundamentals of Java with NetBeans

Fundamentals of Java with NetBeans.jpg

This is a mini-course about the programming language Java. You will learn about how to install the NetBeans IDE together with Java, create your first project and start this project. The course will introduce you into commands, variables, conditional statements, methods, classes, inheritance and visibility modifiers.

This is a very short course about the Java language. It will teach the very basics. It is create for those who need a quick start maybe because they have to solve some exercise questions they received by their teachers as homework. Or it is intended for people who need a first feeling what Java is.

Who is the target audience?

  • All people who do not need a large course but a quick start for the programming language Java

 

keep enhancing and more information

 

Top 200+ Java Interview Questions with Answers | Simpliv

Java Certification Courses -Java Programming Courses Training

Google

Q1. Is Java platform independent?
Yes. Java is a platform independent language. We can write java code on one platform and run it on another platform. For e.g. we can write and compile the code on windows and can run it on Linux or any other supported platform. This is one of the main features of java.

Q2. What are the various access specifiers for Java classes?

Ans: In Java, access specifiers are the keywords used before a class name which defines the access scope. The types of access specifiers for classes are:

1. Public : Class,Method,Field is accessible from anywhere.

2. Protected:Method,Field can be accessed from the same class to which they belong or from the sub-classes,and from the class of same package,but not from outside.

3. Default: Method,Field,class can be accessed only from the same package and not from outside of it’s native package.

4. Private: Method,Field can be accessed from the same class to which they belong.

Q3. What all memory areas are allocated by JVM?
Heap, Stack, Program Counter Register and Native Method Stack

Q4. Java vs. C ++?
The following features of java make it different from the C++:

  • Simple
  • Multi-threaded
  • Distributed Application
  • Robust
  • Security
  • Complexities are removed (Pointers, Operator overloading, Multiple inheritance).

Q5. What is javac ?
It produces the java byte code from *.java file. It is the intermediate representation of your source code that contains instructions.

Q6. What’s the purpose of Static methods and static variables?

Ans: When there is a requirement to share a method or a variable between multiple objects of a class instead of creating separate copies for each object, we use static keyword to make a method or variable shared for all objects.

Q7. What is class?
Class is nothing but a template that describes the data and behavior associated with instances of that class

 

Q8. What is the base class of all classes?
java.lang.Object

Q9. What is data encapsulation and what’s its significance?

Ans: Encapsulation is a concept in Object Oriented Programming for combining properties and methods in a single unit.

Encapsulation helps programmers to follow a modular approach for software development as each object has its own set of methods and variables and serves its functions independent of other objects. Encapsulation also serves data hiding purpose.

Q10. Path and ClassPath
Path specifies the location of .exe files while classpath is used for specifying the location of .class files.

Facebook.jpg

Q11. What is a singleton class? Give a practical example of its usage.

A singleton class in java can have only one instance and hence all its methods and variables belong to just one instance. Singleton class concept is useful for the situations when there is a need to limit the number of objects for a class.

The best example of singleton usage scenario is when there is a limit of having only one connection to a database due to some driver limitations or because of any licensing issues.

Q12. Different Data types in Java.

  • byte – 8 bit (are esp. useful when working with a stream of data from a network or a file).
  • short – 16 bit
  • char – 16 bit Unicode
  • int – 32 bit (whole number)
  • float – 32 bit (real number)
  • long – 64 bit (Single precision)
  • double – 64 bit (double precision)

Note: Any time you have an integer expression involving bytes, shorts, ints and literal numbers, the entire expression is promoted to int before the calculation is done.

Q13.What are Loops in Java? What are three types of loops?

Ans: Looping is used in programming to execute a statement or a block of statement repeatedly. There are three types of loops in Java:

1) For Loops

For loops are used in java to execute statements repeatedly for a given number of times. For loops are used when number of times to execute the statements is known to programmer.

2) While Loops

While loop is used when certain statements need to be executed repeatedly until a condition is fulfilled. In while loops, condition is checked first before execution of statements.

3) Do While Loops

Do While Loop is same as While loop with only difference that condition is checked after execution of block of statements. Hence in case of do while loop, statements are executed at least once.

Q14. What is Unicode?
Java uses Unicode to represent the characters. Unicode defines a fully international character set that can represent all of the characters found in human languages.

Q15. What are Literals?
A literal is a value that may be assigned to a primitive or string variable or passed as an argument to a method.

Q16. Dynamic Initialization?
Java allows variables to be initialized dynamically, using any expression valid at the time the variable is declared.

Q17. What is an infinite Loop? How infinite loop is declared?

Ans: An infinite loop runs without any condition and runs infinitely. An infinite loop can be broken by defining any breaking logic in the body of the statement blocks.

Infinite loop is declared as follows:

Q18. What is Type casting in Java?
To create a conversion between two incompatible types, we must use a cast. There are two types of casting in java: automatic casting (done automatically) and explicit casting (done by programmer).

Q19. Arrays?
An array is a group of fixed number of same type values. Read more about Arrays here.

Q20. What is BREAK statement in java?
It is also referred as terminator. In Java, the break statement can be used in following two cases:

  • It terminates a statement sequence in a switch-case statement.
  • It can be used to come out of a loop

Q21. Why can’t I do myArray.length () ? Arrays are just objects, right?
Yes, the specification says that arrays are object references just like classes are. You can even invoke the methods of Object such as toString () and hashCode () on an array. However, length is a data item of an array and not a method. So you have to use myArray.length.

Q22. How can I put all my classes and resources into one file and run it?
Use a JAR file. Put all the files in a JAR, then run the app like this:

Java -jar [-options] jarfile [args...]

Q23. Can I declare a data type inside loop in java?
Any Data type declaration should not be inside the loop.

Q24.What is the difference between continue and break statement?

Ans: break and continue are two important keywords used in Loops. When a break keyword is used in a loop, loop is broken instantly while when continue keyword is used, current iteration is broken and loop continues with next iteration.

In below example, Loop is broken when counter reaches 4.

 

In the below example when counter reaches 4, loop jumps to next iteration and any statements after the continue keyword are skipped for current iteration.

Q25. Advantage over jdk 1.0 vs. jdk 1.1 ?
Jdk1.1 release consists of Java Unicode character to support the multiple language fonts, along with Event Handling, Java security, Java Beans, RMI, SQL are the major feature provided.

19) java.lang.* get imported by default. For using String and Exception classes, you don’t need to explicitly import this package. The major classes inside this package are

  • Object class
  • Data type wrapper classes
  • Math class
  • String class
  • System and Runtime classes
  • Thread classes
  • Exception classes
  • Process classes
  • Class classes

Q26. What is the difference between double and float variables in Java?

Ans: In java, float takes 4 bytes in memory while Double takes 8 bytes in memory. Float is single precision floating point decimal number while Double is double precision decimal number.

Q27. Arrays can be defined in different ways. Write them down.

int arr[] = null;
int arr[][] = new int arr[][];
int [][] arr = new arr [][];
int [] arr [] = new arr[][];

OOPs Interview Questions

Q28. Four main principles of OOPS language?

  • Inheritance
  • Polymorphism
  • Data Encapsulation
  • Abstraction

Q29. What is inheritance?
The process by which one class acquires the properties and functionalities of another class. Inheritance brings reusability of code in a java application. Read more here.

Q30. Does Java support Multiple Inheritances?
When a class extends more than one classes then it is called multiple inheritance. Java doesn’t support multiple inheritance whereas C++ supports it, this is one of the difference between java and C++.  Refer this: Why java doesn’t support multiple inheritance?

Q31.  What is Final Keyword in Java? Give an example.

Ans: In java, a constant is declared using the keyword Final. Value can be assigned only once and after assignment, value of a constant can’t be changed.

In below example, a constant with the name const_val is declared and assigned avalue:

Private Final int const_val=100

When a method is declared as final,it can NOT  be overridden by the subclasses.This method are faster than any other method,because they are resolved at complied time.

When a class is declares as final,it cannot be subclassed. Example String,Integer and other wrapper classes.

Q32. What is Polymorphism and what are the types of it?
Polymorphism is the ability of an object to take many forms. The most common use of polymorphism in OOPs is to have more than one method with the same name in a single class. There are two types of polymorphism: static polymorphism and dynamic polymorphism, read them in detail here.

Q33. What is the method overriding?
It is a feature using which a child class overrides the method of parent class. It is only applicable when the method in child class has the signature same as parent class. Read more about method overriding here.

Q34. Can we override a static method?
No, we cannot override a static method.

Q35. What is ternary operator? Give an example.

Ans: Ternary operator , also called conditional operator is used to decide which value to assign to a variable based on a Boolean value evaluation. It’s denoted as ?

In the below example, if rank is 1, status is assigned a value of “Done” else “Pending”.

 

Q36. What is method overloading?
Having more than one method with the same name but different number, sequence or types of arguments is known is method overloading. Read more about it here.

Q37. Does Java support operator overloading?
Operator overloading is not supported in Java.

Q38. Can we overload a method by just changing the return type and without changing the signature of method?
No, We cannot do this.

Q39. How can you generate random numbers in Java?

Ans:

  • Using Math.random() you can generate random numbers in the range greater than or equal to 0.1 and less than 1.0
  • Using Random class in package java.util

Q40. Is it possible to overload main() method of a class?
Yes, we can overload main() method as well.

Q41. What is the difference between an Inner Class and a Sub-Class?

Ans: An Inner class is a class which is nested within another class. An Inner class has access rights for the class which is nesting it and it can access all variables and methods defined in the outer class.

A sub-class is a class which inherits from another class called super class. Sub-class can access all public and protected methods and fields of its super class.

Q42. What is default switch case? Give example.

Ans: In a switch statement, default case is executed when no other switch condition matches. Default case is an optional case .
It can be declared only once all other switch cases have been coded.

In the below example, when score is not 1 or 2, default case is used.

Q43. What is the difference between method overloading and method overriding?
There are several differences; You can read them here: Overloading Vs Overriding.

Q44. What is static and dynamic binding?
Binding refers to the linking of method call to its body. A binding that happens at compile time is known as static binding while binding at runtime is known as dynamic binding.

Q45.  What’s the base class in Java from which all classes are derived?

Ans: java.lang.object

Q46. What is Encapsulation?
Encapsulation means the localization of the information or knowledge within an object.
Encapsulation is also called as “Information Hiding”. Read it here in detail.

Q47. Abstract class?
An abstract class is a class which can’t be instantiated (we cannot create the object of abstract class), we can only extend such classes. It provides the generalized form that will be shared by all of its subclasses, leaving it to each subclass to fill in the details. We can achieve partial abstraction using abstract classes, to achieve full abstraction we use interfaces.

Q48. What is Interface in java?
An interface is a collection of abstract methods. A class implements an interface, thereby inheriting the abstract methods of the interface. Read more about interface here.

Q49. What is the difference between abstract class and interface?
1) abstract class can have abstract and non-abstract methods. An interface can only have abstract methods.
2) An abstract class can have static methods but an interface cannot have static methods.
3) abstract class can have constructors but an interface cannot have constructors.

Q50. Which access modifiers can be applied to the inner classes?
public ,private , abstract, final, protected.

Q51. Can main() method in Java can return any data?

Ans: In java, main() method can’t return any data and hence, it’s always declared with a void return type.

Q52. What are Constructors?
Constructors are used for creating an instance of a class, they are invoked when an instance of class gets created. Constructor name and class name should be same and it doesn’t have a return type.

Q53. Can we inherit the constructors?
No, we cannot inherit constructors.

Q54. What are Java Packages? What’s the significance of packages?

Ans: In Java, package is a collection of classes and interfaces which are bundled together as they are related to each other. Use of packages helps developers to modularize the code and group the code for proper re-use. Once code has been packaged in Packages, it can be imported in other classes and used.

Q55. Can we mark constructors final?
No, Constructor cannot be declared final.

Q56. What is default and parameterized constructors?
Default: Constructors with no arguments are known as default constructors, when you don’t declare any constructor in a class, compiler creates a default one automatically.

Parameterized: Constructor with arguments are known as parameterized constructors.

Q57.  Can we declare a class as Abstract without having any abstract method?

Ans: Yes we can create an abstract class by using abstract keyword before class name even if it doesn’t have any abstract method. However, if a class has even one abstract method, it must be declared as abstract otherwise it will give an error.

Q58. Can a constructor call another constructor?
Yes. A constructor can call the another constructor of same class using this keyword. For e.g. this() calls the default constructor.
Note: this() must be the first statement in the calling constructor.

Q59. Can a constructor call the constructor of parent class?
Yes. In fact it happens by default. A child class constructor always calls the parent class constructor. However we can still call it using super keyword. For e.g. super() can be used for calling super class default constructor.

Note: super() must be the first statement in a constructor.

Q60. What’s the difference between an Abstract Class and Interface in Java?

Ans: The primary difference between an abstract class and interface is that an interface can only possess declaration of public static methods with no concrete implementation while an abstract class can have members with any access specifiers (public, private etc) with or without concrete implementation.

Another key difference in the use of abstract classes and interfaces is that a class which implements an interface must implement all the methods of the interface while a class which inherits from an abstract class doesn’t require implementation of all the methods of its super class.

A class can implement multiple interfaces but it can extend only one abstract class.

Q61.THIS keyword?
The THIS keyword is a reference to the current object.

Q62. Can this keyword be assigned null value?
No, this keyword cannot have null values assigned to it.

Q63. Explain ways to pass the arguments in Java?
In java, arguments can be passed in 2 ways,

Pass by value – Changes made to the parameter of the subroutines have no effect on the argument used to call it.
Pass by reference – Changes made to the parameter will affect the argument used to call the subroutine.

Q64. What is static variable in java?
Static variables are also known as class level variables. A static variable is same for all the objects of that particular class in which it is declared.

Q65. What are the performance implications of Interfaces over abstract classes?

Ans:  Interfaces are slower in performance as compared to abstract classes as extra indirections are required for interfaces. Another key factor for developers to take into consideration is that any class can extend only one abstract class while a class can implement many interfaces.

Use of interfaces also puts an extra burden on the developers as any time an interface is implemented in a class; developer is forced to implement each and every method of interface.

Q66. What is static block?
A static block gets executed at the time of class loading. They are used for initializing static variables.

Q67. What is a static method?
Static methods can be called directly without creating the instance (Object) of the class. A static method can access all the static variables of a class directly but it cannot access non-static variables without creating instance of class.

Q68. Does Importing a package imports its sub-packages as well in Java?

Ans: In java, when a package is imported, its sub-packages aren’t imported and developer needs to import them separately if required.

For example, if a developer imports a package university.*, all classes in the package named university are loaded but no classes from the sub-package are loaded. To load the classes from its sub-package ( say department), developer has to import it explicitly as follows:

Import university.department.*

Q69. Explain super keyword in Java?
super keyword references to the parent class. There are several uses of super keyword:

  • It can be used to call the superclass(Parent class) constructor.
  • It can be used to access a method of the superclass that has been hidden by subclass (Calling parent class version, In case of method overriding).
  • To call the constructor of parent class.

Q70. Use of final keyword in Java?
Final methods – These methods cannot be overridden by any other method.
Final variable – Constants, the value of these variable can’t be changed, its fixed.
Final class – Such classes cannot be inherited by other classes. These type of classes will be used when application required security or someone don’t want that particular class.

Q71. Can we declare the main method of our class as private?

Ans: In java, main method must be public static in order to run any application correctly. If main method is declared as private, developer won’t get any compilation error however, it will not get executed and will give a runtime error.

Q72. What is a Object class?
This is a special class defined by java; all other classes are subclasses of object class. Object class is superclass of all other classes. Object class has the following methods

  • objectClone () – to creates a new object that is same as the object being cloned.
  • boolean equals(Object obj) – determines whether one object is equal to another.
  • finalize() – Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.
  • toString () – Returns a string representation of the object.

Q73.  How can we pass argument to a function by reference instead of pass by value?

Ans:  In java, we can pass argument to a function only by value and not by reference.

Q74. What are Packages? 
A Package can be defined as a grouping of related types (classes, interfaces, enumerations and annotations )

Q75. What is the difference between import java.util.Date and java.util.* ?
The star form (java.util.* ) includes all the classes of that package and that may increase the compilation time – especially if you import several packages. However it doesn’t have any effect run-time performance.

Q76. How an object is serialized in java?

Ans: In java, to convert an object into byte stream by serialization, an interface with the name Serializable is implemented by the class. All objects of a class implementing serializable interface get serialized and their state is saved in byte stream.

Q77. Garbage collection in java?
Since objects are dynamically allocated by using the new operator, java handles the de-allocation of the memory automatically when no references to an object exist for a long time is called garbage collection. The whole purpose of Garbage collection is efficient memory management.

Q80. Use of finalize() method in java?
finalize() method is used to free the allocated resource.

Q81. When we should use serialization?

Ans: Serialization is used when data needs to be transmitted over the network. Using serialization, object’s state is saved and converted into byte stream .The  byte stream is transferred over the network and the object is re-created at destination.

Q82. How many times does the garbage collector calls the finalize() method for an object?
The garbage collector calls the finalize() method Only once for an object.

Q83. What are two different ways to call garbage collector?
System.gc() OR Runtime.getRuntime().gc().

Q84. Can the Garbage Collection be forced by any means?
No, its not possible. you cannot force garbage collection. you can call system.gc() methods for garbage collection but it does not guarantee that garbage collection would be done.

Q85. Is it compulsory for a Try Block to be followed by a Catch Block in Java for Exception handling?

Ans: Try block needs to be followed by either Catch block or Finally block or both. Any exception thrown from try block needs to be either caught in the catch block or else any specific tasks to be performed before code abortion are put in the Finally block.

Q86. What is an exception?
Exceptions are abnormal conditions that arise during execution of the program. It may occur due to wrong user input or wrong logic written by programmer.

Q87. Exceptions are defined in which java package? OR which package has definitions for all the exception classes?
Java.lang.Exception
This package contains definitions for Exceptions.

Q88. What are the types of exceptions?
There are two types of exceptions: checked and unchecked exceptions.
Checked exceptions: These exceptions must be handled by programmer otherwise the program would throw a compilation error.
Unchecked exceptions: It is up to the programmer to write the code in such a way to avoid unchecked exceptions. You would not get a compilation error if you do not handle these exceptions. These exceptions occur at runtime.

Q89. Is there any way to skip Finally block of exception even if some exception occurs in the exception block?

Ans:  If an exception is raised in Try block, control passes to catch block if it exists otherwise to finally block. Finally block is always executed when an exception occurs and the only way to avoid execution of any statements in Finally block is by aborting the code forcibly by writing following line of code at the end of try block:

Q90. What is the difference between Error and Exception?
Error: Mostly a system issue. It always occur at run time and must be resolved in order to proceed further.
Exception: Mostly an input data issue or wrong logic in code. Can occur at compile time or run time.

Q91. What is throw keyword in exception handling?
The throw keyword is used for throwing user defined or pre-defined exception.

Q92. When the constructor of a class is invoked?

Ans: The constructor of a class is invoked every time an object is created with new keyword.

For example, in the following class two objects are created using new keyword and hence, constructor is invoked two times

 

Q93. What is throws keyword?
If a method does not handle a checked exception, the method must declare it using the throwskeyword. The throws keyword appears at the end of a method’s signature.

Q94. Difference between throw and throws in Java
Read the difference here: Java – throw vs throws.

Q95. Can static block throw exception?
Yes, A static block can throw exceptions. It has its own limitations: It can throw only Runtime exception (Unchecked exceptions), In order to throw checked exceptions you can use a try-catch block inside it.

Q96. Can a class have multiple constructors?

Ans: Yes, a class can have multiple constructors with different parameters. Which constructor gets used for object creation depends on the arguments passed while creating the objects.

Q97. What is finally block?
Finally block is a block of code that always executes, whether an exception occurs or not. Finally block follows try block or try-catch block.

Q98. ClassNotFoundException vs NoClassDefFoundError?
1) ClassNotFoundException occurs when loader could not find the required class in class path.
2) NoClassDefFoundError occurs when class is loaded in classpath, but one or more of the class which are required by other class, are removed or failed to load by compiler.

Q99. Can we have a try block without catch or finally block?
No, we cannot have a try block without catch or finally block. We must have either one of them or both.

Q100. Can we override static methods of a class?

Ans: We cannot override static methods. Static methods belong to a class and not to individual objects and are resolved at the time of compilation (not at runtime).Even if we try to override static method,we will not get an complitaion error,nor the impact of overriding when running the code.

Q101. Can we have multiple catch blocks following a single try block?
Yes we can have multiple catch blocks in order to handle more than one exception.

Q102. In the below example, what will be the output?

 

Ans: Output will be:

Displaying from subclass

Displaying from superclass

Q103. Is it possible to have finally block without catch block?
Yes, we can have try block followed by finally block without even using catch blocks in between.

Q104. Is String a data type in java?

Ans: String is not a primitive data type in java. When a string is created in java, it’s actually an object of Java.Lang.String class that gets created. After creation of this string object, all built-in methods of String class can be used on the string object.

Q105.  In the below example, how many String Objects are created?

 

Ans: In the above example, two objects of Java.Lang.String class are created. s1 and s3 are references to same object.

Q106. When a finally block does not get executed?
The only time finally won’t be called is if you call System.exit() or if the JVM crashes first.

Q107. Can we handle more than one exception in a single catch block?
Yes we can do that using if-else statement but it is not considered as a good practice. We should have one catch block for one exception.

Q108. Why Strings in Java are called as Immutable?

Ans: In java, string objects are called immutable as once value has been assigned to a string, it can’t be changed and if changed, a new object is created.

In below example, reference str refers to a string object having value “Value one”.

 

When a new value is assigned to it, a new String object gets created and the reference is moved to the new object.

Q109. What is a Java Bean?
A JavaBean is a Java class that follows some simple conventions including conventions on the names of certain methods to get and set state called Introspection. Because it follows conventions, it can easily be processed by a software tool that connects Beans together at runtime. JavaBeans are reusable software components.

Q110. What’s the difference between an array and Vector?

Ans: An array groups data of same primitive type and is static in nature while vectors are dynamic in nature and can hold data of different data types.

Q111. What is Multithreading?
It is a process of executing two or more part of a program simultaneously. Each of these parts is known as threads. In short the process of executing multiple threads simultaneously is known as multithreading.

Q112 What is the main purpose of having multithread environment?
Maximizing CPU usage and reducing CPU idle time

Q113. What is multi-threading?

Ans: Multi threading is a programming concept to run multiple tasks in a concurrent manner within a single program. Threads share same process stack and running in parallel. It  helps  in performance improvement of any program.

Q114. What are the main differences between Process and thread? Explain in brief.
1)  One process can have multiple threads. A thread is a smaller part of a process.
2)  Every process has its own memory space, executable code and a unique process identifier (PID) while every thread has its own stack in Java but it uses process main memory and shares it with other threads.
3) Threads of same process can communicate with each other using keyword like wait and notify etc. This process is known as inter process communication.

Q115. How can we create a thread in java?
There are following two ways of creating a thread:
1)  By Implementing Runnable interface.
2)  By Extending Thread class.

Q116. Why Runnable Interface is used in Java?

Ans: Runnable interface is used in java for implementing multi threaded applications. Java.Lang.Runnable interface is implemented by a class to support multi threading.

Q117. What are the two ways of implementing multi-threading in Java?

Ans: Multi threaded applications can be developed in Java by using any of the following two methodologies:

1. By using Java.Lang.Runnable Interface. Classes implement this interface to enable multi threading. There is a Run() method in this interface which is implemented.

2. By writing a class that extend Java.Lang.Thread class.

Q118. Explain yield and sleep?
yield() – It causes the currently executing thread object to temporarily pause and allow other threads to execute.

sleep() – It causes the current thread to suspend execution for a specified period. When a thread goes into sleep state it doesn’t release the lock.

Q119. When a lot of changes are required in data, which one should be a preference to be used? String or StringBuffer?

Ans: Since StringBuffers are dynamic in nature and we can change the values of StringBuffer objects unlike String which is immutable, it’s always a good choice to use StringBuffer when data is being changed too much. If we use String in such a case, for every data change a new String object will be created which will be an extra overhead.

Q120. What is the difference between sleep() and wait()?
sleep() – It causes the current thread to suspend execution for a specified period. When a thread goes into sleep state it doesn’t release the lock

wait() – It causes current thread to wait until either another thread invokes the notify() method or the notifyAll() method for this object, or a specified amount of time has elapsed.

Q121. What’s the purpose of using Break in each case of Switch Statement?

Ans: Break is used after each case (except the last one) in a switch so that code breaks after the valid case and doesn’t flow in the proceeding cases too.

If break isn’t used after each case, all cases after the valid case also get executed resulting in wrong results.

Q122. What is a daemon thread?
A daemon thread is a thread, that does not prevent the JVM from exiting when the program finishes but the thread is still running. An example for a daemon thread is the garbage collection.

Q123. What does join( ) method do?
if you use join() ,it makes sure that as soon as a thread calls join,the current thread(yes,currently running thread) will not execute unless the thread you have called join is finished.

Q124.  How garbage collection is done in Java?

Ans: In java, when an object is not referenced any more, garbage collection takes place and the object is destroyed automatically. For automatic garbage collection java calls either System.gc() method or Runtime.gc() method.

Q125 Preemptive scheduling vs. time slicing?
1) The preemptive scheduling is prioritized. The highest priority process should always be the process that is currently utilized.
2) Time slicing means task executes for a defined slice/ period of time and then enter in the pool of ready state. The scheduler then determines which task execute next based on priority or other factor.

Q126 Can we call run() method of a Thread class?
Yes, we can call run() method of a Thread class but then it will behave like a normal method. To actually execute it in a Thread, you should call Thread.start() method to start it.

Q127. How we can execute any code even before main method?

Ans: If we want to execute any statements before even creation of objects at load time of class, we can use a static block of code in the class. Any statements inside this static block of code will get executed once at the time of loading the class even before creation of objects in the main method.

Q128. Can a class be a super class and a sub-class at the same time? Give example.

Ans: If there is a hierarchy of inheritance used, a class can be a super class for another class and a sub-class for another one at the same time.

In the example below, continent class is sub-class of world class and it’s super class of country class.

Q129. What is Starvation?
Starvation describes a situation where a thread is unable to gain regular access to shared resources and is unable to make progress. This happens when shared resources are made unavailable for long periods by “greedy” threads. For example, suppose an object provides a synchronized method that often takes a long time to return. If one thread invokes this method frequently, other threads that also need frequent synchronized access to the same object will often be blocked.

Q130. What is deadlock?
Deadlock describes a situation where two or more threads are blocked forever, waiting for each other.

Serialization interview Questions

Q131.  How objects of a class are created if no constructor is defined in the class?

Ans: Even if no explicit constructor is defined in a java class, objects get created successfully as a default  constructor is implicitly used for object creation. This constructor has no parameters.

Q132.  In multi-threading how can we ensure that a resource isn’t used by multiple threads simultaneously?

Ans: In multi-threading, access to the resources which are shared among multiple threads can be controlled by using the concept of synchronization. Using synchronized keyword, we can ensure that only one thread can use shared resource at a time and others can get control of the resource only once it has become free from the other one using it.

Q133. What is Serialization and de-serialization? 
Serialization is a process of converting an object and its attributes to the stream of bytes. De-serialization is recreating the object from stream of bytes; it is just a reverse process of serialization. To know more about serialization with example program

Q134. Do we need to implement any method of Serializable interface to make an object serializable?
No. In order to make an object serializable we just need to implement the interface Serializable. We don’t need to implement any methods.

Q135. What is a transient variable?
1) transient variables are not included in the process of serialization.
2) They are not the part of the object’s serialized state.
3) Variables which we don’t want to include in serialization are declared as transient.

Q136. Can we call the constructor of a class more than once for an object?

Ans:  Constructor is called automatically when we create an object using new keyword. It’s called only once for an object at the time of object creation and hence, we can’t invoke the constructor again for an object after its creation.

Q137. There are two classes named classA and classB. Both classes are in the same package. Can a private member of classA can be accessed by an object of classB?

Ans: Private members of a class aren’t accessible outside the scope of that class and any other class even in the same package can’t access them.

Q138. Can we have two methods in a class with the same name?

Ans: We can define two methods in a class with the same name but with different number/type of parameters. Which method is to get invoked will depend upon the parameters passed.

For example in the class below we have two print methods with same name but different parameters. Depending upon the parameters, appropriate one will be called:

 

Q139. How can we make copy of a java object?

Ans: We can use the concept of cloning to create copy of an object. Using clone, we create copies with the actual state of an object.

Clone() is a method of Cloneable interface and hence, Cloneable interface needs to be implemented for making object copies.

Q140. What’s the benefit of using inheritance?

Ans: Key benefit of using inheritance is reusability of code as inheritance enables sub-classes to reuse the code of its super class. Polymorphism (Extensibility ) is another great benefit which allow new functionality to be introduced without effecting existing derived classes.

Q141.  What’s the default access specifier for variables and methods of a class?

Ans: Default access specifier for variables and method is package protected i.e variables and class is available to any other class but in the same package,not outside the package.

Q142. What’s the access scope of Protected Access specifier?

Ans: When a method or a variable is declared with Protected access specifier, it becomes accessible in the same class,any other class of the same package as well as a sub-class.

Access Levels
MODIFIER CLASS PACKAGE SUBCLASS WORLD
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N

Q143. What’s difference between Stack and Queue?

Ans: Stack and Queue both are used as placeholder for a collection of data. The primary difference between a stack and a queue is that stack is based on Last in First out (LIFO) principle while a queue is based on FIFO (First In First Out) principle.

Q144. In java, how we can disallow serialization of variables?

Ans: If we want certain variables of a class not to be serialized, we can use the keyword transient while declaring them. For example, the variable trans_var below is a transient variable and can’t be serialized:

 

Q145.  How can we use primitive data types as objects?

Ans: Primitive data types like int can be handled as objects by the use of their respective wrapper classes. For example, Integer is a wrapper class for primitive data type int. We can apply different methods to a wrapper class, just like any other object.

Q146. Which types of exceptions are caught at compile time?

Ans: Checked exceptions can be caught at the time of program compilation. Checked exceptions must be handled by using try catch block in the code in order to successfully compile the code.

Q147. Describe different states of a thread.

Ans: A thread in Java can be in either of the following states:

  • Ready: When a thread is created, it’s in Ready state.
  • Running: A thread currently being executed is in running state.
  • Waiting: A thread waiting for another thread to free certain resources is in waiting state.
  • Dead: A thread which has gone dead after execution is in dead state.

Q148. Can we use a default constructor of a class even if an explicit constructor is defined?

Ans: Java provides a default no argument constructor if no explicit constructor is defined in a Java class. But if an explicit constructor has been defined, default constructor can’t be invoked and developer can use only those constructors which are defined in the class.

Q149. Can we override a method by using same method name and arguments but different return types?

Ans: The basic condition of method overriding is that method name, arguments as well as return type must be exactly same as is that of the method being overridden.  Hence using a different return type doesn’t override a method.

Q61.What will be the output of following piece of code?

 

Ans: In this case postfix ++ operator is used which first returns the value and then increments. Hence it’s output will be 4.

Q150. Give an example of use of Pointers in Java class.

Ans: There are no pointers in Java. So we can’t use concept of pointers in Java.

Q151.  How can we restrict inheritance for a class so that no class can be inherited from it?

Ans: If we want a class not to be extended further by any class, we can use the keyword Final with the class name.

In the following example, Stone class is Final and can’t be extend

String interview questions

 

Q152 A string class is immutable or mutable?
String class is immutable that’s the reason once its object gets created, it cannot be changed further.

Q153. Difference between StringBuffer and StringBuilder class?
1) StringBuffer is thread-safe but StringBuilder is not thread safe.
2) StringBuilder is faster than StringBuffer.
3) StringBuffer is synchronized whereas StringBuilder is not synchronized.

Q154. What is toString() method in Java?
The toString() method returns the string representation of any object.

Q155. A person says that he compiled a java class successfully without even having a main method in it? Is it possible?

Ans: main method is an entry point of Java class and is required for execution of the program however; a class gets compiled successfully even if it doesn’t have a main method. It can’t be run though.

Q156.  Can we call a non-static method from inside a static method?

Ans: Non-Static methods are owned by objects of a class and have object level scope and in order to call the non-Static methods from a static block (like from a static main method), an object of the class needs to be created first. Then using object reference, these methods can be invoked.

Q157. What are the two environment variables that must be set in order to run any Java programs?

Ans: Java programs can be executed in a machine only once following two environment variables have been properly set:

  1. PATH variable
  2. CLASSPATH variable

Q158. Can variables be used in Java without initialization?

Ans: In Java, if a variable is used in a code without prior initialization by a valid value, program doesn’t compile and gives an error as no default value is assigned to variables in Java.

Q159. Can a class in Java be inherited from more than one class?

Ans: In Java, a class can be derived from only one class and not from multiple classes. Multiple inheritances is not supported by Java.

Q160. Can a constructor have different name than a Class name in Java?

Ans: Constructor in Java must have same name as the class name and if the name is different, it doesn’t act as a constructor and compiler thinks of it as a normal method.

Q161. What will be the output of Round(3.7) and Ceil(3.7)?

Ans: Round(3.7) returns 4 and  Ceil(3.7) returns 4.

Q162: Can we use goto in Java to go to a particular line?

Ans: In Java, there is not goto keyword and java doesn’t support this feature of going to a particular labeled line.

Q163. Can a dead thread be started again?

Ans: In java, a thread which is in dead state can’t be started again. There is no way to restart a dead thread.

Q164. Is the following class declaration correct?

Ans:

 

Ans: The above class declaration is incorrect as an abstract class can’t be declared as Final.

Java collections interview questions

Q165. What is List?
Elements can be inserted or accessed by their position in the list, using a zero-based index.
A list may contain duplicate elements.

Q166. What is Map?
Map interface maps unique keys to values. A key is an object that we use to retrieve a value later. A map cannot contain duplicate keys: Each key can map to at most one value.

Q167. What is Set?
A Set is a Collection that cannot contain duplicate elements.

Q168. Why ArrayList is better than Arrays?
Array can hold fixed number of elements. ArrayList can grow dynamically.

Q169. What is the difference between ArrayList and LinkedList?
1) LinkedList store elements within a doubly-linked list data structure. ArrayList store elements within a dynamically resizing array.
2) LinkedList is preferred for add and update operations while ArrayList is a good choice for search operations.

Q170. For addition and deletion. Which one is most preferred: ArrayList or LinkedList?
LinkedList. Because deleting or adding a node in LinkedList is faster than ArrayList.

Q171. For searches. Which one is most preferred: ArrayList or LinkedList?
ArrayList. Searching an element is faster in ArrayList compared to LinkedList.

Q172. What is the difference between ArrayList and Vector?
1) Vector is synchronized while ArrayList is not synchronized.
2) By default, Vector doubles the size of its array when it is re-sized internally. ArrayList increases by half of its size when it is re-sized.

Q173. What is the difference between Iterator and ListIterator?
Following are the major differences between them:
1) Iterator can be used for traversing Set, List and Map. ListIterator can only be used for traversing a List.
2) We can traverse only in forward direction using Iterator. ListIterator can be used for traversing in both the directions(forward and backward).

Q174. Difference between TreeSet and SortedSet?
TreeSet implements SortedSet interface.

Q175. What is the difference between HashMap and Hashtable?
1) Hashtable is synchronized. HashMap is not synchronized.
2) Hashtable does not allow null keys or values. HashMap allows one null key and any number of null values.

Q176. Is JDK required on each machine to run a Java program?

Ans: JDK is development Kit of Java and is required for development only and to run a Java program on a machine, JDK isn’t required. Only JRE is required.

Q177. What’s the difference between comparison done by equals method and == operator?

Ans: In Java, equals() method is used to compare the contents of two string objects and returns true if the two have same value while == operator compares the references of two string objects.

In the following example, equals() returns true as the two string objects have same values. However == operator returns false as both string objects are referencing to different objects:

 

Q178. Is it possible to define a method in Java class but provide it’s implementation in the code of another language like C?

Ans: Yes, we can do this by use of native methods. In case of native method based development, we define public static methods in our Java class without its implementation and then implementation is done in another language like C separately.

Q179.  How destructors are defined in Java?

Ans: In Java, there are no destructors defined in the class as there is no need to do so. Java has its own garbage collection mechanism which does the job automatically by destroying the objects when no longer referenced.

Q180. Can a variable be local and static at the same time?

Ans:  No a variable can’t be static as well as local at the same time. Defining a local variable as static gives compilation error.

Q181. Can we have static methods in an Interface?

Ans: Static methods can’t be overridden in any class while any methods in an interface are by default abstract and are supposed to be implemented in the classes being implementing the interface. So it makes no sense to have static methods in an interface in Java.

Q182. What is the difference between Iterator and Enumeration?
1) Iterator allows to remove elements from the underlying collection during the iteration using its remove() method. We cannot add/remove elements from a collection when using enumerator.
2) Iterator has improved method names.
Enumeration.hasMoreElement() -> Iterator.hasNext()
Enumeration.nextElement() -> Iterator.next().

Q183. In a class implementing an interface, can we change the value of any variable defined in the interface?

Ans: No, we can’t change the value of any variable of an interface in the implementing class as all variables defined in the interface are by default public, static and Final and final variables are like constants which can’t be changed later.

Q184. Is it correct to say that due to garbage collection feature in Java, a java program never goes out of memory?

Ans: Even though automatic garbage collection is provided by Java, it doesn’t ensure that a Java program will not go out of memory as there is a possibility that creation of Java objects is being done at a faster pace compared to garbage collection resulting in filling of all the available memory resources.

So, garbage collection helps in reducing the chances of a program going out of memory but it doesn’t ensure that.

Q185. Can we have any other return type than void for main method?

Ans: No, Java class main method can have only void return type for the program to get successfully executed.

Nonetheless , if you absolutely must return a value to at the completion of main method , you can use System.exit(int status)

Q186. I want to re-reach and use an object once it has been garbage collected. How it’s possible?

Ans: Once an object has been destroyed by garbage collector, it no longer exists on the heap and it can’t be accessed again. There is no way to reference it again.

Q187. In Java thread programming, which method is a must implementation for all threads?

Ans: Run() is a method of Runnable interface that must be implemented by all threads.

Q188. I want to control database connections in my program and want that only one thread should be able to make database connection at a time. How can I implement this logic?

Ans: This can be implemented by use of the concept of synchronization. Database related code can be placed in a method which hs synchronized keyword so that only one thread can access it at a time.

Q189. How can an exception be thrown manually by a programmer?

Ans: In order to throw an exception in a block of code manually, throw keyword is used. Then this exception is caught and handled in the catch block.

 

Q190.  I want my class to be developed in such a way that no other class (even derived class) can create its objects. How can I do so?

Ans: If we declare the constructor of a class as private, it will not be accessible by any other class and hence, no other class will be able to instantiate it and formation of its object will be limited to itself only.

Q191. How do you do file I/O from an applet?
Unsigned applets are simply not allowed to read or write files on the local file system .

Unsigned applets can, however, read (but not write) non-class files bundled with your applet on the server, called resource files

Q192. What is container ?
A component capable of holding another component is called as container.
Container
Panel
Applet
Window
Frame
Dialog

Learning)

  1. Flow Layout is default for panel.
  2. Border Layout is default for Frames.

Q193. On Windows, generally frames are invisible, how to make it visible. ?

Frame f = new Frame();
f.setSize(300,200);  //height and width
f.setVisible(true) ;  // Frames appears

Q194. JFC – Java Foundation Class
Swing
AWT
Java2D
Drag and Drop
Accessibility

Learning) Listeners and Methods?
ActionListerner – actionPerformed();
ItemListerner – itemStateChanged();
TextListener – textValueChanged();
FocusListener – focusLost(); & FocusGained();

WindowListener – windowActified(); windowDEactified(); windowIconified(); windowDeiconified(); windowClosed(); windowClosing(); windowOpened();

MouseMotionListener – mouseDragged(); & mouseMoved();

MouseListener – mousePressed(); mouseReleased(); mouseEntered(); mouseExited(); mouseClicked();

Learnings)
parseInt – to convert string to int.
getBytes – string to byte array

Q195. Applet Life cycle?
Following stage of any applets life cycle, starts with init(), start(), paint(), stop() and destroy().

Q196. showStatus() ?–
To display the message at the bottom of the browser when applet is started.

Q197. What is the Event handling?
Is irrespective of any component, if any action performed/done on Frame, Panel or on window, handling those actions are called Event Handling.

Q198. How objects are stored in Java?

Ans: In java, each object when created gets a memory space from a heap. When an object is destroyed by a garbage collector, the space allocated to it from the heap is re-allocated to the heap and becomes available for any new objects.

Q199. How can we find the actual size of an object on the heap?

Ans: In java, there is no way to find out the exact size of an object on the heap.

Q200. Which of the following classes will have more memory allocated?

Class A: Three methods, four variables, no object

Class B: Five methods, three variables, no object

Ans:  Memory isn’t allocated before creation of objects. Since for both classes, there are no objects created so no memory is allocated on heap for any class.

Q201. What happens if an exception is not handled in a program?

Ans: If an exception is not handled in a program using try catch blocks, program gets aborted and no statement executes after the statement which caused exception throwing.

Q202.  I have multiple constructors defined in a class. Is it possible to call a constructor from another constructor’s body?

Ans: If a class has multiple constructors, it’s possible to call one constructor from the body of another one using this().

Q203. What’s meant by anonymous class?

Ans: An anonymous class is a class defined without any name in a single line of code using new keyword.

For example, in below code we have defined an anonymous class in one line of code:

 

 

Q204. Is there a way to increase the size of an array after its declaration?

Ans: Arrays are static and once we have specified its size, we can’t change it. If we want to use such collections where we may require a change of size ( no of items), we should prefer vector over array.

Q205. If an application has multiple classes in it, is it okay to have a main method in more than one class?

Ans:  If there is main method in more than one classes in a java application, it won’t cause any issue as entry point for any application will be a specific class and code will start from the main method of that particular class only.

Q206. I want to persist data of objects for later use. What’s the best approach to do so?

Ans: The best way to persist data for future use is to use the concept of serialization.

Q207. What is a Local class in Java?

Ans: In Java, if we define a new class inside a particular block, it’s called a local class. Such a class has local scope and isn’t usable outside the block where its defined.

Q208. String and StringBuffer both represent String objects. Can we compare String and StringBuffer in Java?

Ans: Although String and StringBuffer both represent String objects, we can’t compare them with each other and if we try to compare them, we get an error.

Q209. Which API is provided by Java for operations on set of objects?

Ans: Java provides a Collection API which provides many useful methods which can be applied on a set of objects. Some of the important classes provided by Collection API include ArrayList, HashMap, TreeSet and TreeMap.

Q210. Can we cast any other type to Boolean Type with type casting?

Ans: No, we can neither cast any other primitive type to Boolean data type nor can cast Boolean data type to any other primitive data type.

Q211. What is Adapter class?
Adapter class is an abstract class.

Advantage of adapter: To perform any window listener, we need to include all the methods used by the window listener whether we use those methods are not in our class like Interfaces whereas with adapter class, its sufficient to include only the methods required to override. Straight opposite to Interface.

Q212.  Can we use different return types for methods when overridden?

Ans: The basic requirement of method overriding in Java is that the overridden method should have same name,  and parameters.But a method can be overridden with a different return type as long as the new return type extends the original.

For example , method is returning a reference type.

 

Q213. What’s the base class of all exception classes?

Ans: In Java, Java.lang.Throwable is the super class of all exception classes and all exception classes are derived from this base class.

Q214. What’s the order of call of constructors in inheritiance?

Ans: In case of inheritance, when a new object of a derived class is created, first the constructor of the super class is invoked and then the constructor of the derived class is invoked.

 

Q215. Explain public static void main(String args[]).

public : Public is an access modifier, which is used to specify who can access this method. Public means that this Method will be accessible by any Class.

static : It is a keyword in java which identifies it is class based i.e it can be accessed without creating the instance of a Class.

void : It is the return type of the method. Void defines the method which will not return any value.

main: It is the name of the method which is searched by JVM as a starting point for an application with a particular signature only. It is the method where the main execution occurs.

String args[] : It is the parameter passed to the main method.

Q216. Explain JVM, JRE and JDK?

JVM (Java Virtual Machine): It is an abstract machine. It is a specification that provides run-time environment in which java bytecode can be executed. It follows three notations:

  • Specification: It is a document that describes the implementation of the Java virtual machine. It is provided by Sun and other companies.
  • Implementation: It is a program that meets the requirements of JVM specification.
  • Runtime Instance: An instance of JVM is created whenever you write a java command on the command prompt and run the class.

JRE (Java Runtime Environment) : JRE refers to a runtime environment in which java bytecode can be executed. It implements the JVM (Java Virtual Machine) and provides all the class libraries and other support files that JVM uses at runtime. So JRE is a software package that contains what is required to run a Java program. Basically, it’s an implementation of the JVM which physically exists.

JDK(Java Development Kit) : It is the tool necessary to compile, document and package Java programs. The JDK completely includes JRE which contains tools for Java programmers. The Java Development Kit is provided free of charge. Along with JRE, it includes an interpreter/loader, a compiler (javac), an archiver (jar), a documentation generator (javadoc) and other tools needed in Java development. In short, it contains JRE + development tools.

Refer to this below image and understand how exactly these components reside:

Components - Java Interview Questions - Edureka

Click to Continue Reading:
Simpliv Youtube Course & Tutorial :

Simpliv makes Java possible and accessible for everyone. Learn to code in Java!

makes Java possible1

For the nontechnical, layman, is there any use from learning to program in Java? You’ll be surprised to hear this: Java can be of immense use to people in a wide variety of professions that are totally nontechnical and seemingly unconnected to technology, such as painters, lawyers, accountants, arts majors, etc.!

Want to explore Java at a level that is suitable to those in any of these and related professions? Then, Simpliv has an appropriately designed course for you. It has created the course entitled, “From 0 to 1: Learn Java Programming” for the benefit of the non-Java professional.

So, why should Java programming be learnt by professionals and laypersons who are not related to it in any way? That is the beauty of this From 0 to 1: Learn Java Programming course from Simpliv. Simpliv is dedicated to making learning of all possible varieties and types to simply everyone. It does not distinguish between layperson and professional. It does not require learners to be experienced at some field, belong to a certain class or category of people, race or complexion, and does not require people to have deep pockets! This is the noble intention with which Simpliv has designed its business model. Its philosophy is simple: no person should feel wanting when it comes to acquiring education.

Java Programming.gif

The experts of this From 0 to 1: Learn Java Programming course are an experienced husband-wife pair who call their team Loonycorn. With rich experience of having worked at Google, Microsoft and Flipkart, this Stanford-educated couple makes a great pair at teaching technologies, their new career pursuit. It is their endeavor, like Simpliv’s, to spread the magic of technology to as many people as possible, whether they are from a technical background or otherwise. It is for this reason that they have designed this From 0 to 1: Learn Java Programming, with which they seek to impart learning about Java programming to the common person, so that the full benefits of this wonderful program can be put to use in their daily lives.

Being designed for anyone with nothing more than just a fleeting interest in Java programming, this Simpliv course, From 0 to 1: Learn Java Programming requires just no prior knowledge of Java. If they have some prior experience in any kind of programming, but are looking to learn Java, this is a great course for them. yet, we must warn you! The experts at the From 0 to 1: Learn Java Programming course are serious about raising the proficiency level of novices, so don’t take this course too lightly! You have to prepare yourself to go from zero to intermediate level, so be prepared for a few tough sessions.

But don’t let this deter you. This From 0 to 1: Learn Java Programming is from experts who know what it takes to keep the interest levels in the learners up. so, this is going to be real fun. The examples they offer to make your learning easier are those that you can relate to easily in real life. add to this the soundtrack effect and the artwork that will ignite your cognizant and artistic mind, and you have a course that is as exciting as it can get! So, should we emphasize that this From 0 to 1: Learn Java Programming is not for experienced Java programmers?

Syllabus

The syllabus at this From 0 to 1: Learn Java Programming course is designed to make it easier for you to understand the elements of Java programming at the level set out in this course. From 0 to 1: Learn Java Programming has the following syllabus:

Algorithms in Java made

  • Programming Basics
  • The Object-Oriented Paradigm
  • Threading and Concurrency
  • Reflection, Annotations
  • Lambda Functions
  • Modern Java constructs
  • Packages and Jars

Javascript Testing Selenium

  • Language Features:
  • Serialization
  • Design
  • Swing
  • Programming Drills (code-alongs, with source code included)
  • A daily stock quote summarizer: scrapes the internet, does some calculations, and outputs a nice, formatted Excel spreadsheet.
  • Support with choosing a programming environment; downloading and setting up IntelliJ.
  • Simple hello-world style programs in functional, imperative and object-oriented paradigms.
  • Maps, lists, arrays. Creating, instantiating and using objects, interfaces
  • A News Curation app to summarize newspaper articles into a concise email snippet using serious Swing programming

Java learning was never this easy and fun! Make this learning a great opportunity to enhance your knowledge and grow in your professions!

 

Make your podcast a perfect one. Simpliv teaches you how to get it right, all the time!

Make your podcast a perfect one.gif

A podcast is a valuable tool for broadcasting about yourself or your business. It is a strong medium to reach out to a lot of people. Usually, the audience knows why it wants to listen to you, and has its expectations from you. So, getting the podcast right is very important. This is what a course on podcasting essentials from Simpliv will impart!

When any learning you want to undertake is from Simpliv, you can rest assured that what you are going to get is the most current in terms of technology or best practices, because Simpliv has gained a great reputation for these qualities. Its courses are taught from experts who have spent many years in their respective professions. All the wealth of their experience that has been gained over all the years of their practice in their professions will be among the important benefits that you will get from Simpliv’s courses.

Learning on everything about podcasting

Simpliv is a Fremont, CA-based video libraries company that specializes in offering courses of the most expansive variety that one can think of. Whether IT or non-IT, Simpliv has courses for everyone. There is almost no topic of learning on which Simpliv’s courses are not available. There is a reason for which Simpliv’s courses are so very diverse and wide-ranging: it wants to educate every person on this planet! This is a noble intention, no doubt. It wants to make sure that no one is left out of the learning that every person rightly deserves. So, with absolutely no prejudice towards a person’s economic, social, national and cultural status; Simpliv offers courses that just anyone can take up.

Make your podcast a perfect one1

This course on podcasting essentials, as the nomenclature suggests, is meant to offer guidelines on all about podcasting. As we have just seen, a podcast is an important novelty in reaching out to more people. Unlike most other broadcast methods, a podcast is the most effective when it comes to being able to talk directly to your focused audience. You can relate a whole lot of ideas to your target audience with a podcast far more effectively than through most other mediums. A podcast, when made with the right tone and purpose, can be a wonderful tool for broadcasting your message across to larger populations.

The expert at this course on podcasting essentials from Simpliv is the well-known serial entrepreneur and communications professional, Lisa Newton. Few people are as well positioned as Lisa in explaining how to use technological tools for business. This has been one of the major activities she has been involved in from the time she started her business in 2004 with a capital of £150.

All the aspects of podcasting

This course on podcasting essentials is for anyone who wants to understand the whole concept of podcasting. Lisa does not require a learner to have any prior knowledge of this topic. She will start with the absolute basics and will take up more important aspects of podcasting as the course progresses. She will offer learning through very clear and easy-to-understand tips, right from formulating ideas of what to broadcast to how to select the media for submission and get the show going.

These are what you can expect to learn from Lisa at this course on podcasting essentials from Simpliv:

Make your podcast a perfect one2

Taking up and completing this course on podcasting essentials from Simpliv will put you right up there, where you want to be heard and seen. Lisa will also explain the right equipment to choose in the market to suit your needs, how to find your voiceover artists, and how to make a success of your podcast. This course on podcasting essentials from Simpliv gives you just whatever you need to make this happen. Don’t miss out on this very important learning!

————————————————————————————————————-

Make great deals at buying property at auctions. Simpliv shows you how to get it right.

Make great deals at buying property at auctions.jpg

Efficiency or lack of it at buying property at auctions can make or mar careers. Buying property at auctions is not the same as stockbroking, where fortunes are made and lost in a day. Buying property at auctions is a different ball game. In order to be successful at making great deals at buying property at auctions, one needs good horse sense, a good insight of the property market, intimate knowledge of the seller, and the ability to forecast the price rise potential of the property being bought.

Want to make a kill at property auctions? Expect professional, expert help from a course on how to buy property at auctions that is being offered by Simpliv, a platform for universal learning courses on any topic that a learner can think of. Simpliv is unique for being the most comprehensive collection of video libraries for the broadest areas of learning. Simply any course a learner wants to gain knowledge of, Simpliv makes available. It is driven by the passion to make education universal. Its passion is to leave just no person precluded from the power of technology in education.

Towards bringing high quality, affordable education to one and all, Simpliv has constituted a panel of experts who teach on absolutely any field of knowledge, IT or non-IT. So, all that a learner needs to have to take up a course from Simpliv is the desire to accumulate knowledge. Whether it is finance, IT, fine arts, spiritualty or public speaking, or just anything that one can think of, Simpliv has it all!

Learn from the expert of property auctions

Make great deals at buying property at auctions2

Now, on to the expert at this course from Simpliv on how to buy property at auctions: Let us introduce Lisa Newton, the expert at this course on how to buy property at auctions. Lisa is a serial entrepreneur, speaker, coach, networker and consultant who has deep interests in a variety of subjects that range from health and beauty products to investment banking to telecom and publishing. As a high achiever in these areas, she sits on the Board of Directors of many companies associated with these businesses. Lisa is also an author. Her books have included many areas of business that range from finance and franchise.

Taking part in how to buy property at auctions is quite an art. It is something that has to be learnt over time, from the right person, and with the right learning. Lisa fits the bill perfectly for matching these criteria, having ran a property auction company. She will share the experiences she gained there, at this course on how to buy property at auctions. She will show what to do and what not to, and all these will be from her own experiences. This learning will be reinforced through a series of case studies that are drawn from real life experiences, and not just culled from academic sources. All these make this course on how to buy property at auctions very real-life and hands-on.

Making an expert out of a novice at property buying

Make great deals at buying property at auctions3

This course on how to buy property at auctions is targeted at the fresh learner. Lisa’s aim is to take such learners a few notches higher and take them to a level of proficiency. After taking up this course on how to buy property at auctions and applying the learning gained from it; learners will be able to handle their property buying on their own. They will be able to take keen decisions related to this activity, as this course will give them the ken to avoid making blunders at this crucial, investment-heavy activity.

At this course on how to buy property at auctions, Lisa will impart learning on all areas of buying property at auctions. These include:

Click to Continue Reading:
Simpliv Youtube Course & Tutorial :