Tuesday, December 31, 2024

Top 5 Courses to Learn JavaFX Online in 2025 - Best of Lot

Hello guys, if you want to learn Java FX and look for the best Java FX courses, you have come to the right place. Earlier, I have shared the best Java Programming programming courses, and today, I will share with you the best online courses to learn Java FX from scratch. Java FX is the latest and greatest way for creating a GUI application in Java. There was a time when AWT and Swing was very popular for developing GUI based application in Java. Still, slowly Java Swing lost that place to C#, which became the standard language for developing desktop GUI and AWS lost the battle with Swing.

Top 5 Courses to learn iOS and Swift for Beginners in 2025 - Best of Lot

Hello guys, it's that time of the Year when we all start making our goals for better health, improving ourselves, and learning new things. Last Year, I focused mainly on the Web Development side and spent time teaching React, Angular, and Node JS, but this year, one of my goals is to explore the mobile world, particularly iOS and Android. At least that's a thought for now, and I am not sure how long I can go given the limited time I get to upgrade myself, but I'll try my best. Btw, suppose you also have the same goal and want to become an iOS developer in 2025. In that case, you should start your journey by learning iOS, Apple's Operating system, which runs on iPhone and iPad, and Swift 5, Apple's programming language for creating iOS apps.

Top 5 Online Courses to Improve Email and Workplace Writing Skills in 2025 - Best of Lot

One of my readers emailed me a couple of days ago and asked If I could suggest something to improve his email writing skills? He says that he is very good at work and programming but sucks on writing emails, and because of that, he never gets the visibility he deserved, resulting in no promotion or career growth. This sounds to be a prevalent problem, especially among programmers whose native language is not English, and who have never attended any business or email writing course. In fact, it was a problem for me as well, but I slowly picked it up though I am still far behind with many people I know who have excellent email communication skills.

Top 6 Free Courses to Learn Scala and Functional Programming in 2025 - Best of Lot

Scala is a powerful object-oriented and functional programming language long touted as the successor to Java or to replace Java. Well, that didn't happen in the last few years, but Scala has undoubtedly made a lot of progress and established itself as a scalable programming language for big things. If you are a social media user and know Twitter, then let me tell you that they are using Scala, which proves that Scala has all the tools you need to build a high-performance, scalable application like Twitter. Twitter is not the only company that is using Scala. If you look at Scala's website, you will find that IBM, Goldman Sachs, Verizon, and SAP use Scala to solve their problems.

Top 5 Courses to Learn Kali Linux in 2025 - Best of Lot

Kali Linux is an open-source Debian system based on Linux developed by the offensive security company for ethical hackers. It contains more than 400 tools categorized to make it easy for security researchers to analyze your network, test the system security, discover different vulnerabilities inside a web application, hide malware in apps, and target Android phones. If you want to learn Kali Linux and looking for the best online courses to learn Kali Linux on your own then you have come to the right place. Earlier, I have shared the best Ethical Hacking courses and Cyber Security Courses, and in his article, I am going to share the best Kali Linux courses for beginners. 

Top 10 Frameworks to become a Full Stack Developer in 2025 - Best of Lot

The Technical world changes as fast the technology changes, and so are the technical jobs. Gone are the days where you can land a job by just knowing one technology or programming language, and somehow survive in the position for many years without learning new things. Many of us get into the programming and web development world by knowing just one or two technology like Java, C++, or JavaScript, but that won't cut the ice anymore. There were teams of tens of people doing specialized jobs like front-end development is done by a separate set of developers and back-end is written by other sets of programmers, commonly known as server-side developers.

Top 10 Angular Tutorials and Courses for Web Developers in 2025 - Best of Lot

Hello guys, if you are interested in learning the Angular framework in 2025, one of the best and most popular JavaScript frameworks for developing component-based Web GUI, and looking for some awesome courses, books, and tutorials then you have come to the right place. Earlier, I have shared the best Angular courses and In this article, I am going to share some of the best resources like books, tutorials, and courses to learn the Angular framework, formerly known as Angular, and now famous as Angular 2. It's backed by Google; hence you should not worry about it being outdated and losing relevance in a couple of years. Any investment you made in learning Angular will pay you rich dividends in the coming years.

Top 5 Online Courses to Learn C Programming in 2025 - Best of Lot

Hello guys, today, I will talk about one of the oldest, reliable, powerful programming languages that have survived for 50 years. Yes, that's right, 50 years. It's a great achievement for any technology to remain relevant for such a long period. If you don't know, the C Programming language is one of the first general-purpose programming languages, invented by Dennis Ritchie and Ken Thomson around 1969. Ken was writing UNIX, another accessible technology that has survived for 50 years around the same time and needed a programming language that can do all kinds of tasks; the result was a C programming language.

Monday, December 30, 2024

Top 5 Courses to Learn Recursion for Dynamic Programming in 2025 - Best of Lot

Hello guys,  if you want to learn and Master Recursion and looking for the best resources like books, online courses, and tutorials then you have come to the right place. Earlier, I have shared the best dynamic programming courses, and 15 Recursion exercises for beginners, and today, I am going to share the best courses to learn Recursion for beginners. Recursion is the process by which a function calls itself again and again directly or indirectly. These types of functions are called recursive functions. All successful software programmers need to have an understanding of how recursive functions work as well as how to build recursive functions. 

Saturday, December 21, 2024

Top 10 Object-Oriented (OOP) Design Principles Java Programmers Should Know

The Object-Oriented Design Principles are the core of OOP programming, but I have seen most of the Java programmers chasing design patterns like Singleton pattern, Decorator pattern, or Observer pattern, and not putting enough attention on learning Object-oriented analysis and design. It's essential to learn the basics of Object-oriented programming like Abstraction, Encapsulation, Polymorphism, and Inheritance. But, at the same time, it's equally important to know object-oriented design principles. They will help you to create a clean and modular design, which would be easy to test, debug, and maintain in the future.

Wednesday, December 18, 2024

How to Print Duplicates from a Given String in Java? [Solved]

Problem : You have given an input String, write a program to print all the duplicates from input String. For example if given String is "Java" then your pogrom should print "a", and if given String is "C++" then your program should print "+". If String doesn't contain any duplicate then it should print nothing e.g. if you pass "Python" or "Ruby", it should print nothing. 

Saturday, December 14, 2024

How to find the largest and smallest number in given Array in Java? Example Tutorial

Hello guys, today I am going to discuss one of the frequently asked programming interview questions to find the largest and smallest number from an integer array. This question is commonly asked on telephonic interviews and the first round for screening candidates. This coding problem is in the same league of other frequently asked algorithmic questions like Fibonacci, Palindrome, Prime, and Power of two checks. They are easy but you will find them difficult during the interview because of the pressure, particularly if you have not solved them before. Sometimes even if you have solved the problem one time, you tend to do mistakes because you haven't understood them properly. So, always take your time to understand the question.

Top 20 Amazon and Google Programming Interview Questions for Software Developers

Hello, In this article I am going to sharing some frequently asked programming job interviews from technical giants and startups. If you are going for a programming job interview with Microsoft, Google, or Amazon, you better be prepared for all kinds of questions. These companies are known to ask tough questions, tricky puzzles, and lots of data structure and algorithm questions. Since it's hard to prepare all these in a short time, it makes sense to at least have a good idea of frequently asked programming questions in Microsoft, Google, or Amazon.

Friday, December 13, 2024

Polymorphism and Inheritance Example in Java

Hello guys, If you are new to Java or Object oriented programming and wondering what is Polymorphism and Inheritance and what are their use then you have come to the right place. Polymorphism and Inheritance are two fundamental concepts in object-oriented programming that allow for flexibility and reusability of code. In Java, these concepts are closely related and often go hand in hand. Java Programming provides a couple of way to implement Inheritance like extending a class or implementing an interface. Similarly they provide overloading and overriding for Polymorphism. In the past, I have shared 40 object oriented questions as well as 23 design patterns and In this article, we'll explore these concepts with a practical example.

How to fix java.lang.NoSuchMethodError: main Exception in thread "main" in Java? Example

How to solve java.lang.NoSuchMethodError: main Exception in thread "main"
java.lang.NoSucMethodError comes when Java code tries to call a method that does not exist on a class, this could be either static or non-static method. a most common manifestation of java.lang.NoSuchMethodError is running a class that doesn't have the main method in Java. In this article, we will see what is "java.lang.NoSuchMethodError: main Exception in thread "main"", Why does java.lang.NoSuchMethodError comes and how to solve java.lang.NoSuchMethodError in Java.

How to deal with NullPointerException in Java with Examples - java.lang.NullPointerException Guide

The java.lang.NullPointerException or NullPointerException in Java is probably the first error or exception you will face in Java. It is a true nightmare for beginners in Java but pretty easy to solve once you get familiar with Exception handling in Java. What makes NullPointerException a little bit tricky to solve is its name which has a pointer in itself and Java does not support pointers like C++ or C, just like you don't have multiple inheritances in Java. As a Java developer with 20 years of experience, I have solved countless amount of NullPointerException and now I have developed a coding and debugging sense through which I can spot what causing a particular NullPointerException and how to fix it. 

Difference between transient and volatile keyword in Java? example

Surprisingly "Difference between transient and volatile keyword in Java" has asked many times on various java interviews. volatile and transient are two completely different keywords from different areas of Java programming language. the transient keyword is used during serialization of Java object while volatile is related to the visibility of variables modified by multiple threads during concurrent programming. The only similarity between volatile and transient is that they are less used or uncommon keywords and not as popular as public, static, or final.

Why wait, notify, and notifyAll methods are called from synchronized block or method in Java?

Most of the Java developers know that wait(), notify(), and notifyAll() methods of object class must have to be called inside synchronized method or synchronized block in Java but how many times we thought why? Recently this question was asked to in Java interview to one of my friend, he pondered for a moment and replied that if we don't call wait() or notify() method from synchronized context we will receive IllegalMonitorStateException in Java. He was right in terms of the behavior of language but as per him, the interviewer was not completely satisfied with the answer and wanted to explain to him more about it.

Wednesday, December 11, 2024

The multi-part identifier XXX could not be bound in SQL SERVER [Solution]

Problem, I was doing join statement and getting this error Msg 4104, Level 16, State 1, Line 69

The multi-part identifier "a.X" could not be bound."


Cause:

I was mixing implicit joins with explicit joins. That is allowed, but you need to be aware of how to do that properly.

The thing is, explicit joins (the ones that are implemented using the JOIN keyword) take precedence over implicit ones (the 'comma' joins, where the join condition is specified in the WHERE clause).

Difference between Wait and Sleep, Yield in Java? Example

The difference between wait and sleep or the difference between sleep and yield in Java is one of the popular core Java interview questions and asked on multi-threading interviews. Out of three methods that can be used to pause a thread in Java, sleep() and yield() methods are defined in thread class while wait() is defined in the Object class, which is another interview question. The key difference between wait() and sleep() is that the former is used for inter-thread communication while later is used to introduced to pause the current thread for a short duration. 

Difference between Thread vs Runnable interface in Java

Thread vs Runnable in Java is always been a confusing decision not just for beginnerin Java but also for developers who have done a couple of projects in Java. Thread in Java seems easy in comparison to Runnable because you just deal with one class java.lang.Thread while in case of using Runnable to implement Thread you need to deal with both Thread and Runnable two classes. though the decision of using Runnable or Thread should be taken considering differences between Runnable and Thread and the pros and cons of both approaches.

Monday, December 9, 2024

What are AtomicInteger and AtomicLong in Java? How it works? compareAndSet() Example Tutorial

Concurrency is a fundamental aspect of modern software development, and Java provides a variety of tools and classes to help developers manage shared resources and coordinate the behavior of multiple threads. Among these tools one is atomic variables, which ensure that certain operations on shared data are performed atomically, I mean in one shot, without the need for explicit synchronization. In the past I talked about difference between atomic, synchronized, and volatile in Java and In this article, we'll explore atomic variables in Java, with a focus on AtomicInteger and AtomicLong, and explain how they work and how to use them effectively in Java. 

Wednesday, December 4, 2024

6 ways to get the selected text from html drop down list in jQuery?

One of the common task in web development is retrieving the selected text from a drop down list, which is nothing but HTML select element. This allows users to choose one of the options presented, each text is enclosed in option tag. how can we retrieve the selected text using jQuery? Well, there are multiple ways but core is first find the select element than the selected option by using :selected pseudo class selector. 

Thursday, November 28, 2024

How to get the selected radio button on click using jQuery? Example

In last couple of articles, you have learned how to get all checked checkbox and how to find the unchecked checkbox using jQuery, let's see another similar example, this time with radio button. Suppose, in form you have two radio buttons to select the gender i.e. male and female. How do you find which radio button was selected when user clicked on them? well, we will use the jQuery selector to find that. In fact, its not much different than what you have used to find the checked checkbox i.e. $("input[type=radio]:checked") will give the selected radio button. In order to find the chosen radio button when user click, you need to bind a click handler. Let's see an example. 

Thursday, November 21, 2024

How to enable/disable form elements using jQuery? Examples

In last couple of tutorials you have learned how to get all selected checkbox and radio buttons, and in this tutorial, you will learn how to enable/disable form elements using jQuery. A form element e.g. a textfield, radio buttons and checkbox, all represented using input tag can be enabled or disabled by adding an attribute called "disabled". It's similar to "checked" attribute we have seen for checkbox and radio buttons. If this attribute is not present then element is enable, but if this attribute is present then you can use disabled=true to disable the form element and disabled=false to enable the form elements as shown in our example. 

Thursday, November 7, 2024

How to convert XML to JSON in Java? Example

Since XML and JSON are two popular data interchange formats, you will often need to convert one into other. For example, many SOAP web services returns XML response and if you are using Java and wants to convert that XML response to JSON, then you can use JSON library from https://json.org. It provides a class called XML.java, which provides static methods to convert an XML text into a JSONObject. It also support JSON to XML conversion, which will learn in second part of the article. In order to use this class, you can dowload JAR files from Maven Central repository, or you can add required dependency in your pom.xml file. 

Thursday, October 31, 2024

How to convert JSON String to Java HashMap? Example

Suppose you have a JSON String, may be a web-service response and you want to create a Map out of it, where key should be the fields and value should be values of those fields e.g. if given JSON String is following :

{

"zip": "90210",

"city": "Beverly Hills"

"state": "CA"

"timeZone": "P"

}


then your HashMap should contain 4 mappings where keys are zip, city, state and timeZone, all of String type and corresponding values. 

Thursday, October 24, 2024

What is Timer and TimerTask in Java – Tutorial Example

Timer in Java is a utility class that is used to schedule tasks for both one time and repeated execution. Timer is similar to the alarm facility many people use in mobile phones. Just like you can have one time alarm or repeated alarm, You can use java.util.Timer to schedule a time task or repeated task. In fact, we can implement a Reminder utility using Timer in Java and that's what we are going to see in this example of Timer in Java. Two classes java.util.Timer and java.util.TimerTask is used to schedule jobs in Java and forms Timer API. 

4 Reasons and Benefits of Using Multithreading in Java? Why Threads?

In one word, we use Threads to make Java applications faster by doing multiple things at the same time. In technical terms, Thread helps you to achieve parallelism in Java programs. Since CPU is very fast and nowadays it even contains multiple cores, just one thread is not able to take advantage of all the cores, which means your costly hardware will remain idle for most of the time. By using multiple threads, you can take full advantage of multiple cores by serving more clients and serving them faster. Since, in today's fast-paced world, response time matters a lot and that's why you have multi-core CPUs, but if your application doesn't make full use of all resources then there is no point adding them, multi-threading is one way to exploiting huge computing power of CPU in Java application.

4 examples to convert Date to LocalDate in Java 8?

One of the challenge you will face while using new Java 8 Date and time API, JSR-310 in existing Java application is the conversion between java.util.Date and java.time.LocalDate and other classes. Even though library has everything you would expect, it doesn't have a direct conversion method between old Date and new LocalDate. There is a reason for it, eventhough java.util.Date says its a date its not, becuase its just a millisecond value since midnight at the start of 1970 GMT. It's equivalent to Instant class in new Java Date API and that's why you have a direct conversion method between Date and Instant in Java 8. Anyway, its not hard to convert a java.util.Date to java.time.LocalDate in Java 8, in fact there are multiple ways which we will explore in this tutorial. 

Wednesday, October 23, 2024

Difference between ExecutorService.submit() and Executor.execute() methods in Java?

What is the difference between Executor.submit() and Executor.execute() method in Java? This is one of the good multi-threading questions for experienced Java programmers, mostly asked in Investment Banks like Barclays, Deutsche Bank, or Citibank. A main difference between the submit() and execute() method is that ExecuterService.submit()can return the result of computation because it has a return type of Future, but the execute() method cannot return anything because return type is void. The core interface in Java 1.5's Executor framework is the Executor interface which defines the execute(Runnable task) method, whose primary purpose is to separate the task from its execution.

Difference between Process and Thread in Java - Example

One of the common questions from programming interviews is, what is the difference between a Thread and a Process? Well, the main difference between them is that a Process is a program that is executing some code and a thread is an independent path of execution in the process. A process can have more than one thread for doing independent tasks e.g. a thread for reading data from disk, a thread for processing that data, and another thread for sending that data over the network. This technique to improve throughput and better utilize CPU power is also known as multi-threading.

How to use Exchanger for Inter thread communication in Java? Example Tutorial

Hello guys, if you are working in a concurrent Java application then you might have heard about the Exchanger class of java.util.concurrent package. The Exchanger in Java is another concurrency or synchronization utility introduced in Java 1.5 along with CountDownLatch, CyclicBarrier, and Semaphores. As the name suggests, the Exchanger allows two Threads to meet and exchange data at the rendezvous or meeting point. This means you can use Exchanger to share objects between threads and for inter-thread communication. The java.util.Exchanger is a parametric class, which defines and holds the type of object to be exchanged. It has an overloaded method called the exchange(), which is used to exchange objects between threads.

What happens when you call Thread.run() instead of Thread.start() in Java? Trick Interview Question

Hello guys, writing multi-threaded and concurrent programs is not easy, not even in Java.  Even senior developers, including myself, make mistakes while writing concurrent Java applications. This is also one of the trickiest areas of Java programming language, where misconceptions outnumber concepts. Considering the amount of misconception an average Java programmer has about multi-threading and concurrency, I thought to start a new series about common multi-threading mistakes done by Java programmers; what is a better way to learn from common real word mistakes.

How to Implement Thread in Java with Example

How to implement Thread in Java
In my opinion, Thread is one of the most important features of the Java programming language which helped it to become the most popular programming language. I remember, when I first started learning Java in one of the programming classes in India how important Thread was a portrait and how much emphasis is given on a clear understanding of multi-threading. It’s still popular and one of most sought after skills in Java programmer because writing concurrent and multi-threaded applications in Java is challenging, despite Java providing excellent support at language level using synchronized and volatile keyword.

Udemy vs Educative Review? Which is better Website for Beginners?

Hello guys, if you are wondering the difference between Udemy and Educative and whether you should take Udemy courses or join the Educative platform to learn new tech skills, you have come to the right place. Earlier, I have shared a comparison between Pluralsight and Udemy as well as CodeCademy vs Pluralsight in this article, I will compare Udemy with Educative, a new text-based, interactive learning platform. While I have often said that Udemy is my favorite platform because you can get high-quality and comprehensive courses from top instructors for just $9.9, which is phenomenal. 

Can You Learn Coding and Web Development in your 40s and 50s?

Yesterday, I was speaking to one of my friends who were not from a programming background but working as a teacher in a college of Engineering and Technology in the countryside of India. He just turned 40, and he is also the father of two wonderful kids. He has been teaching Maths to B.Tech students in a private engineer college for the last 15 years. He is earning Ok, but he always wanted to explore the world, and he now realizes that a Programming job can provide him that opportunity, so he contacted me to find out whether it's too late for a Programming career.

Monday, October 21, 2024

Review - Is Grokking the Machine Learning Interview on Educative Worth it in 2025?

Hello friends, we are here again today for another exciting topic to discuss. But, today we are not gonna discuss something which is related to Java or any other language or spring boot. Today we are gonna discuss something which is immensely practical and has the potential to land you very high-paying data science jobs.  Today we are gonna review a course that focuses on Machine Learning! Machine Learning is very important when we are considering data science interviews! So what's the wait? Let's start! On Educative.io, there is a great course called Grokking the Machine Learning Interview. It couldn't have come at a better moment, with machine learning expected to be a $3.6 billion business by 2025.

Sunday, October 20, 2024

5 Projects You can do to learn iOS App Development in 2025

Hello guys, if you are learning iOS App development and looking for some project ideas to better learn the concepts and apply your existing knowledge then you have come to the right place. Earlier, I have shared the best iOS and Swift courses, and today, I am going to talk about 5 cool projects you can do to learn iOS app development and master several key concepts like UI, Core ML, Speech to ext, and other APIs. Since it's very common for people to get stuck while doing projects, I have also included guide courses, both free and paid which you can join to learn how to do these projects step by step. 

Saturday, October 19, 2024

Coursera's Google IT Automation with Python Certification Review - Is it worth it in 2025?

Hello guys, if you are joining Google IT Automation with Python Professional Certification on Coursera and want to find out whether it's worth your time and money or not then you have come to the right place. Earlier, I have shared the best Coursera Certifications and a review of other popular Google courses on IT support and in this article, we'll review Google's most popular Python certification course in Coursera. Google's IT automation with Python is a professional certificate and more than 575,000 people have already joined this course it's from Google which is a great sign but you will find out more about this course in this review. 

Udemy's The Data Science Course: Complete Data Science Bootcamp 2025 Review - Is it worth it?

Hello guys, if you want to learn Data Science and looking for the best courses or want to join The Data Science Course 2025: Complete Data Science Bootcamp course on Udemy but are not sure whether this course is right for you then you have come to the right place. Earlier, I have shared the best Data Science courses and in this article, I am going to review this popular Udemy course to learn Data Science in 2025. This is one of the most popular Udemy courses when it comes to learning Data Science and with more than 560K students it's right there with the Data Science A-Z course by Kirill Eremenko, my favorite Udemy instructor for Data Science and Machine Learning. 

Friday, October 18, 2024

Top 25 Skills Java Developers Should Learn in 2025 [UPDATED]

Hello guys, recently I was doing some research on what skills Java developers should learn in 2025 to become a better developer and give their career a boost and I found some interesting skills like Kafka and  Elastic Search, apart from obvious ones like Spring Boot and Microservices. One of my favorite places for doing such research is examining Job listings on LinkedIn from different companies like Investment banks, Service-based companies, startups, and mid-tier companies where Java is used extensively. When I saw those skills, I can immediately tell that those are really useful and worth sharing with you guys, as I have often seen those skills playing important roles while hiring Java developers.

6 Tips to write Production Quality Code

We often hear the term "production quality code", some times in an interview where the interviewee asked to write production-quality code for a particular function, sometimes discussion between developers and programmers and sometimes during code review. I know most of you familiar with the term but for those who wonder what is production quality code in simple terms its code which can bear the test of time in a production environment. We all develop code in development, then test in QA and finally, it gets released in production.

Top 10 Multithreading and Concurrency Best Practices for Experienced Java Developers

Writing concurrent code is hard and testing correctness with concurrency is even harder. Though Java programming language provides lots of synchronization and concurrency support from language to API level, it eventually comes to an individual's diligence and expertise to write bug-free Java concurrency code. These Java concurrency and multi-threading best practices are a collection of some well-known tips, which help you to write better concurrency code in Java. Some of you may be familiar with these tips but it's often worth revising them time and time again. 

Wednesday, October 16, 2024

How to find Square root of integer in Java without using any Library? Interview Question

Problem : Given an integer i, find square root of it, without using Math.sqrt() method. Your method should return square root if given number is perfect square otherwise return floor(sqrt(x));

For example, 


Input i = 16

Output : 4


Input i = 17

Output : 4


This is very interesting problem and asked both freshers and experienced programmers. I have seen this question on many companies including ANZ, Barclays, and Citibank.

How to print Floyd's Triangle in Java? Example Tutorial

There are lots of programming exercises in Java, which involve printing a particular pattern in the console, one of them is printing the Floyd triangle in the console. In the Floyd triangle, there are n integers in the nth row and a total of (n(n+1))/2 integers in n rows. This is one of the most simple patterns to print but helpful in learning how to create other more complex patterns. The key to develop patterns is using nested loops and methods like System.out.print() and println() appropriately. Actually, pattern-based programming tasks are originally designed to master loops in programming.

How to Check if two Rectangles Overlap in Java? Collision Detection Solution and Example

Can you write a Java program to check if two rectangles are overlapping with each other or not? is one of the frequently asked coding questions on tech giants like Facebook, Amazon, Microsoft, and others. This is also a kind of problem where it's easy to find opposite or negative conditions like when rectangles are not overlapping and then inverting the result to prove that rectangles are colliding with each other. I first heard about this problem from one of my friends who were in the Android game development space. He was asked to write an algorithm to find if given rectangles are intersecting or not.

Tuesday, October 15, 2024

Linux Command to Find how Long a process is Running in UNIX - Example

Hello guys, today, I am going to share one of the useful tips to find out how long a particular process is running in Linux. This is very useful while you are troubleshooting an issue and want to know whether your process or service is restarted fine on a daily or weekly basis. So you checked your process is running in Linux operating system and it's running fine, by using ps command. But now you want to know, from how long process is running, what is the start date of that process etc. Unfortunately, PS command in Linux or any UNIX based operating system doesn't provide that information.

Difference between FileInputStream and FileReader in Java | InputStream vs Reader Example

Before going to explain specific difference between FileInputStream and FileReader in Java, I would like to state fundamental difference between an InputStream and a Reader in Java, and when to use InputStream and when to go for Reader. Actually, Both InputStream and Reader are abstractions to read data from source, which can be either file or socket, but main difference between them is, InputStream is used to read binary data, while Reader is used to read text data, precisely Unicode characters.

Monday, October 14, 2024

4 Ways to Convert String to long in Java? Example Tutorial

How to convert a string to long in Java is one of those frequently asked questions by a beginner who has started learning Java programming language and is not aware of how to convert from one data type to another. Converting String to long is similar to converting String to Integer in Java, in-fact if you know how to convert String to Integer then you can convert String to Long by following the same procedure. Though you need to remember few things while dealing with long and String first of all long is the primitive type which is wrapped by the Long wrapper class and String is an Object in Java backed by character array.

How to Count Negative Numbers in a Sorted Matrix? [Solved] (Amazon Coding Question)

Hello guys, earlier I shared a list of Google Coding Interview questions, and today, I am going to share with you an interesting coding problem which was asked on Amazon, how to count total negative numbers in a given matrix where rows and columns are sorted in increasing order. Again, I found this coding problem while surfing on the internet, It wasn't actually asked to me or my reader, so I can't vouch that it's actually an Amazon Interview question. Though, I really expect it to be because it's an interesting problem and the optimal solution is not so easy but with the internet, you never know.

Java Program to find factorial of number in Java - Example Tutorial

How to find the factorial of a number in Java in both recursive and iterative ways is a common Java interview question mostly asked at the fresher level. It’s not just popular in Java interviews but also in other programming languages like C or C++. It's also famous  In our last article we have seen how to check if a number is prime or not and in this Java programming tutorial, we will see a simple Java program to find the factorial of a number in Java by using recursion and iteration. The same program can also be used to print factorial of any number or print a range of factorial as well.

Thursday, October 10, 2024

How to check if array is a binary heap in Java? [Solved]

Problem : You have given an array of integer, check if the given array represents a binary max-heap data structure. In max heap every node is greater than all of its descendants. 

For example :

Input: array[] = {100, 25, 20, 17, 22, 12} 

Output: true

The given array represents below tree

100

/ \

25 20

/ \ /

17 22 12 

This binary tree follows max-heap property as every node is greater than all of its descendant. 

Saturday, October 5, 2024

10 Code Review Checklist and Best practices in Java

What to review while doing Code review
Code Review and Unit testing are some of the best development practices I always recommend, strive for, and enforce as much as possible. Even just by doing code review and Junit test case always offer positive results it can be improved a lot by constantly learning from our mistakes, others mistakes and by observing how others are doing it. I always try to get my code review done by someone with more technical and domain experience so that I can capture any domain-specific scenarios which have been missed during think through the process.

How to find the first element in Stream in Java 8? findFirst() Example

In Java 8, you can use the Stream.findFirst() method to get the first element of Stream in Java. This is a terminal operation and is often used after applying several intermediate operations e.g. filter, mapping, flattening, etc. For example, if you have a List of String and you want to find the first String whose length is greater than 10, you can use the findFirst() method along with stream() and filter() to get that String. The stream() method gets the Stream from a List, which then allows you to apply several useful methods defined in the java.util.Stream class like filter(), map(), flatMap() etc.

Friday, October 4, 2024

10 Examples of Optional in Java 8

Null is bad, it can crash your program. Even its creator called it a billion-dollar mistake hence you should always try to avoid using nulls whenever you can. For example, you should not return a null String when you can return an empty String, similarly never return null collections when you can return an empty collection. I have shared many such tips in my earlier article, 10 tips to avoid NullPointerException and my reader liked that a lot. But, I wrote that article a couple of years ago when Java 8 was not around and there was no Optional, a new way to avoid NullPointerException in Java, but, things have changed now.

Why use SLF4J over Log4J for logging in Java? Example

Every Java programmers know that logging is critical for any Java application, especially server-side application, and many of them are already familiar with various logging libraries e.g. java.util.logging, Apache log4j, logback, but if you don't know about SLF4J, Simple logging facade for Java,  then it's time to learn and use SLF4J in your project. In this Java article, we will learn why using SLF4J is better than using log4j or java.util.logging. It’s been a long time, since I wrote 10 logging tips for Java programmer,I don’t remember anything I have writing about logging.

Thursday, October 3, 2024

How to replace NULL with Empty String in SQL Server? ISNULL() vs COALESCE() Examples

We often need to replace NULL values with empty String or blank in SQL e.g. while concatenating String. In SQL Server, when you concatenate a NULL String with another non-null String the result is NULL, which means you lose the information you already have. To prevent this, you can replace NULL with empty String while concatenating. There are two ways to replace NULL with blank values in SQL Server, function ISNULL(), and COALESCE(). Both functions replace the value you provide when the argument is NULL like ISNULL(column, '') will return empty String if the column value is NULL.

Wednesday, October 2, 2024

5 Reasons to Use Composition over Inheritance in Java and OOP - Example

Favor composition over inheritance is one of the popular object-oriented design principles, which helps to create flexible and maintainable code in Java and other object-oriented languages. Many times I have seen people suggesting use composition instead of inheritance, in fact, my favorite books like Head First Design Patterns also advocate this design principle. The Head First books have their own way of explaining, why composition is better than inheritance, and though it's long it's quite interesting and informative. It was the first chapter of this book, which helped me a lot in understanding this key OOP concept. 

Difference between char, varchar, nchar and nvarchar data types in SQL Server? Example

What is the difference between char and varchar in SQL, followed by nchar and nvarchar, is one of the popular SQL interview questions, and surprisingly not every programmer knows this basic difference. If you go with the name, which you should, then you can figure out that char is a fixed-length data type while varchar should be a variable-length data type. Though all char, varchar, nchar, and nvarchar are used to store text or String data there are subtle differences between them. As I said char is fixed length, which means a variable or a column like Zipcode char(10) will take only 10 bytes to store data, including space.

Tuesday, October 1, 2024

Observer design Pattern in Java with Real world code Example

Observer design pattern in Java is a fundamental core Java pattern where Observe watches for any change in state or property of Subject. For Example, Company updates all its shareholders for any decision they make here Company is Subject and Shareholders are Observers, any change in the policy of company and the Company notifies all its Shareholders or Observer. This was a simple real-world explanation of the Observer pattern. 

Monday, September 30, 2024

What is Factory method Design Pattern in Java with Example - Tutorial

Factory design pattern in Java one of the core design pattern which is used heavily not only in JDK but also in various Open Source framework such as Spring, Struts and Apache along with decorator design pattern in Java. Factory Design pattern is based on Encapsulation object oriented concept. Factory method is used to create different object from factory often refereed as Item and it encapsulate the creation code. So instead of having object creation code on client side we encapsulate inside Factory method in Java. One of the best examples of factory pattern in Java is BorderFactory Class of Swing API.

Saturday, September 28, 2024

Builder Design pattern in Java - Example Tutorial

Builder design pattern in Java is a creational pattern i.e. used to create objects, similar to factory method design pattern which is also a creational design pattern. Before learning any design pattern I suggest find out the problem a particular design pattern solves. Its been well-said necessity is a mother of invention. learning design pattern without facing problems is not that effective, Instead, if you have already faced issues then it's much easier to understand design patterns and learn how they solve the issue

Thursday, September 26, 2024

How to Find Duplicate values in a Table? SQL GROUP BY and Having Example| Leetcode Solution

Hello guys, if you are wondering how to find duplicate values in a table then don't worry, there are many ways to find duplicate rows or values from a given table. For example, you can use the GROUP BY and HAVING clause in SQL with count function to find all the rows which has same values for a particular column and then filter out rows where count is just one, I mean unique values. This way you can find all the duplicate from a given table. Using group by you can create groups and if your group has more than 1 element it means it's kind of duplicate.

How to use EXISTS and NOT Exists in SQL? Example Query and Tutorial

Hello Guys, you might have heard about how useful the EXISTS clause is helpful in writing sophisticated queries. Still, at the same time, I have also seen that many programmers struggle to understand and use EXISTS and NOT EXISTS clauses while writing SQL queries.  If you are one of them, then you have come to the right place. Today you will learn how to use the EXISTS clause in SQL by picking up a real-world example and an excellent SQL exercise from the LeetCode. Suppose that a website contains two tables, the Customers table, and the Orders table. Can you write an SQL query to find all customers who have never ordered anything?

Tuesday, September 24, 2024

Top 10 SQL SELECT Query Examples for Beginners

The Select command in SQL is one of the most powerful and heavily used commands. This is I guess the first command anyone learns in SQL even before CREATE which is used to create a table in SQL. SELECT is used in SQL to fetch records from database tables and you can do a lot many things using Select. For example, you can select all records, you can select few records based on the condition specified in the WHERE clause, select all columns using the wild card (*) or only selecting a few columns by explicitly declaring them in a query.

Friday, September 20, 2024

5 Reasons Why Java's old Date and Calendar API was a Bad Design

If you have been programming in Java for a couple of years then you may know that how bad was Java's Date and Calendar API was, I mean the java.util.Date and java.utill.Calendar was badly designed. Though Java has corrected it's a mistake by introducing a brand new, shiny Date and Time API, not many Java developers are using it yet. In a bit to motivate you to use new Date and Time API from Java 8, I am going to list down a couple of reasons why Java's Date and Calendar class has been criticized so much in the past.  These points are also important to know from the Interview point of view because as an experienced Java programmer, it is expected from you to know the shortcomings of the existing API and how new API solves those problems.

Thursday, September 19, 2024

How to Remove CTRL-M characters From a File in UNIX and Linux? Example

I wanted to transfer some files from Windows to Unix using FileZilla, but the problem arises when these files are transferred (Ascii or Binary mode both) and opened using VI we get ^M characters, also known as CTRL-M characters. I searched about this but the solutions were to remove these ^M characters when files are transferred using utilities. Is there any way that these ^M characters do not appear in the first place? Well, my search continues but I will share the solution which worked for me for removing control M characters i.e. CTRL-M or ^M characters.

10 Example of find command in UNIX and Linux

The find command is one of the most versatile commands in UNIX and Linux, and I used it a lot in my day-to-day work. I believe having a good knowledge of find command in UNIX and understanding of its different options and usage will increase your productivity a lot in UNIX based operating systems, e.g. Redhat Linux or Solaris. If you are a QA, support personnel, and your works involve lots of searching text on Linux machine or if you are a Java or C++ programmer and your code resides in UNIX, find command can significantly help you to look for any word inside your source file in the absence of an IDE.

Wednesday, September 18, 2024

5 Examples to Compare two Dates in Java?

Comparing dates in Java is a common task for Java programmers, now and then we need to compare two dates to check whether two dates are equals, less than, or greater than each other, sometimes we also need to check if one date comes in between two dates. Java provides multiple ways to compare two Dates in Java which is capable of performing Date comparison and letting you know whether two dates are the same, one date comes before or after another date in Java. By the way, when you compare dates, make sure to consider timezones, day light saving time, and precision. 

How to get current Date Timestamps in Java on GMT or Local Timezone? Example Tutorial

Getting current data and timestamps in java is a requirement for most java enterprise applications. The formatting date in java or parsing date in Java is such a common functionality that you will need it now and then. Though most of the programmers look at Google for finding current date and timestamps code in Java, it's worth to have an idea how you can do that by using java.util.Date class. sometimes you might need formatted data string say "yyyy-MM--dd:HH:mm:ss".

Tuesday, September 17, 2024

How to convert java.sql.Date to java.util.Date in Java - JDBC Example

You often need to convert java.sql.Date to java.util.Date while interacting with databases from Java application. Since JDBC the Java API for database connectivity uses java.sql.Date to represent and most of the java code accepts java.util.Date, you have no choice but to convert SQL date to util date in Java. Though, there is some fundamental difference between them e.g. java.sql.Date only contains date part e.g. day, month, and year, it doesn't contain any time attributes, but java.util.Date contains both date and time attributes e.g. hour, minutes, seconds, and milliseconds. So, when you convert a java.sql.Date to java.util.Date, the resultant java.util.Date instance has the time part as zero i.e 00:00:00 to reflect midnight.

JDBC Batch INSERT and UPDATE example in Java with PreparedStatement

JDBC API in Java allows the program to batch insert and update data into the database, which tends to provide better performance by simple virtue of fact that it reduces a lot of database round-trip which eventually improves overall performance. In fact, it’s one of JDBC best practices to insert and update data in batches. For those who don’t know what is batch insert and update, Java provides several ways to execute SQL queries, one of them is JDBC batch insert and update, on which instead of executing SQL query one by one using either Statement or PreparedSatement, you execute a query in batch and send a batch of the query to the database for execution instead of a single query. 

Monday, September 16, 2024

ORA-00904: invalid identifier Error in Oracle 11g database - Solved

If you have worked in the Oracle database ever, you would definitely have seen ORA-00904: invalid identifier error. Doesn't matter which version you are working 10g, 11g or 12g, this is one of the most common error comes while doing CRUD (Create, Read, Update, and Delete) operations in Oracle. By the way, if you are a beginner, SELECT, INSERT, UPDATE and DELETE are used to perform CRUD operations in the Oracle database. What do you do if you get this error while running in SQL script? Like any error, you should first pay attention to error message, what is Oracle trying to say here. Invalid identifier means the column name entered is either missing or invalid, this is one of the most common causes of this error but not the only one.

Difference between LEFT and RIGHT OUTER Joins in SQL - MySQL Join example

There are two kinds of OUTER joins in SQL, LEFT OUTER join and RIGHT OUTER join. The main difference between RIGHT OUTER joins and LEFT OUTER join, as their name suggests, is the inclusion of non-matched rows. Sine INNER join only include matching rows, where the value of the joining column is the same, in the final result set, but OUTER join extends that functionality and also include unmatched rows in the final result. LEFT outer join includes unmatched rows from the table written on the left of the join predicate. 

How to Convert JSON array to String array in Java - GSon example

A JSON array is an ordered collection of values, which are enclosed within brackets e.g. [] and separated by a comma. In this Java tutorial, we will convert JSON Array to String array in Java and subsequently create JSON from Java String Array. This tutorial is similar to our last article in JSON about How to convert JSON object to Java object, instead of a JSON object, here we will convert JSON array to String array or List in Java. As I said earlier, there are lots of open-source libraries out there that can help to parse JSON data format and we have already seen Jackson library in our last example. In this tutorial, we will use GSON to parse the JSON data format and create a Java String array or List from JSON array representation.

How to convert JSON String to Java object - Jackson Example

JSON stands for JavaScript object notation, is a lightweight text or string representation of an object and quickly becoming a popular data exchange format. Though it's pretty early to say that JSON is going to replace XML as a popular data interchange format, It is certainly providing an alternative. JSON represents data in two formats either an object or an array. The JSON object is an unordered collection of keys and values, similar to the String representation of the hash table. On the other hand, JSON Array is an ordered collection of values.

Wednesday, September 11, 2024

Parsing Large JSON Files using Jackson Streaming API Example

In the last couple of JSON tutorials for Java programmers, we have learned how to parse JSON using JSON-Simple library, parsing JSON array to Java array using GSon, and in this tutorial, we will learn how to parse a large JSON file in Java using Jackson's Streaming API. Jackson is one of the most popular JSON processing frameworks and provides three main models to parse and process JSON data including Streaming API, data binding, and tree model. Out of these three, Streaming works at the lowest level and can be used to parse huge JSON responses up to even gigabytes of size. If you are familiar with XML parsing, then you know that how difficult it is to parse huge XML files with DOM parser because it fully loads the file in memory before you can process it.

Tuesday, September 10, 2024

How to Ignore Unknown Properties While Parsing JSON in Java? Example

One of the common problems while parsing JSON in Java using Jackson API is that it fails when your JSON contains unknown properties i.e. your Java class doesn't have all the fields corresponding to all JSON properties. For example, if you are consuming JSON from a REST Web Service and tomorrow they added a new field into JSON then your code will break because Jackson will throw UnrecognizedPropertyException and stop parsing JSON. This is troublesome and can cause problems in production if you are not aware. I  have faced this issue when a developer shipped the code to consume data from REST API without properly handling unknown fields.

Sunday, September 8, 2024

How to parse JSON with date field in Java - Jackson @JsonDeserialize Annotation Example

I have read many articles on parsing JSON in Java and most of them give examples where properties are either String or int, there are very few examples, where you will see the JSON string contains a date field and that's one important thing to learn. It's easy to parse JSON in Java using Jackson or Gson with just integer and string field but you need to do a little more work if your JSON contains a date field because everything in JSON is String but Java is a type-based programming language, where Date is a type.

Saturday, September 7, 2024

Top 5 JSON Library Java JEE Developers Should Know- Best of Lot

The JSON format is one of the most popular formats to transfer and exchange data on the web. Almost all RESTful web services take JSON input and provide JSON output but unfortunately, JDK doesn't have built-in support for one of the most common web standards like JSON. As a Java developer if you want to develop a RESTful web service and produce JSON data or if you are developing a client to existing RESTFul web services and want to consume JSON response, you don't need to be disappointed. Fortunately, there are so many open source libraries and APIs available for creating, parsing, and processing JSON response in Java, like Jackson, Google GSon, json-simple, etc.

Friday, September 6, 2024

10 Best Practices to Follow While Writing Code Comments

Comments are an important part of writing code not only in Java but whatever programming or scripting language you use. At the same time, this is one of the most abused things as well. Both writing no comment and writing too much comment is bad and this has been highlighted by many software gurus e.g. Robert C. Martin in his classic book Clean code. There is a whole chapter dedicated to How to write comments and finding the pros and cons of a comment. This article is my learning in the same direction, here I am going to share with you guys some 0f the rule and best practices I follow while writing comments.

6 JDBC Performance Tips for Java Developers

JDBC Performance tips are a collection of some tried and tested ways of coding and applying process which improves the performance of JDBC code. The performance of core Java application or J2EE web application is very important, especially if its user database in the back end which tends to slow down performance drastically. do you experience your java j2ee web application being very slow (taking few seconds to process simple requests which involve database access, paging, sorting, etc) then the below tips may improve the performance of your Java application? these tips are simple in nature and can be applied to other programming language application which uses the database as back-end. 

Dealing with Password in Java Application? 5 Best Practices You Should Follow

While working in core Java applications or enterprise web applications there is always a need of working with passwords in order to authenticate users. Passwords are very sensitive information like Social Security Number(SSN) and if you are working with real human data like in an online banking portal or online health portal it's important to follow best practices to deal with passwords or Social security numbers. here I will list down some of the points I learned and take care of while doing authentication and authorization or working with passwords. I recommend reading more on this topic and have a checklist of things based on your application requirement. Anyway here are few points which make sense to me:

Wednesday, September 4, 2024

How to create Immutable Class and Object in Java - Tutorial Example

Writing or creating immutable classes in Java is becoming popular day by day, because of the concurrency and multithreading advantage provided by immutable objects. Immutable objects offer several benefits over a conventional mutable object, especially while creating concurrent Java applications. Immutable object not only guarantees safe publication of object’s state but also can be shared among other threads without any external synchronization. In fact, JDK itself contains several immutable classes like String, Integer, and other wrapper classes.

Tuesday, September 3, 2024

Dealing with org.hibernate.LazyInitializationException: could not initialize proxy - no Session in Hibernate Java

If you are working in the Hibernate framework, then you know that one of the key features of Hibernate is "lazy initialization", which allows the framework to lazily initialize dependencies, relationships, or associations lazily from the database on a need basis. For example, if you are dealing with a User object, which has a relationship with a Permission object like one user can have multiple permissions, then Hibernate may choose not to initialize the collection which holds all permissions at the time it initialized User object and instead returns a proxy object.

How to fix org.hibernate.MappingException: Unknown entity Exception in Java? Solution

If you have used Hibernate with JPA and using annotation to declare your entity bean then you might have seen this confusing error called "org.hibernate.MappingException: Unknown entity". This error message is so misleading that you could easily lose anywhere between a few minutes to a few hours looking at the wrong places. I was using Spring 3 and Hibernate 3.6 when I got this error, which occurs when addEntity() method was executed. I checked everything, from Spring configuration file applicationContext.xml, Hibernate config file, my Entity class, and DAO class to see whether my Entity class is annotated or not, but I was still getting this error message.

Why JPA Entity or Hibernate Persistence Class Should Not be Final? Answer

One of the interesting hibernate interview questions is, why you should not make a Hibernate persistent class final? I'll try to answer this question in this short blog post. The use of proxies is the core feature of Hibernate (one of the most popular ORM frameworks for Java Projects) for implementing key performance features e.g. lazy loading and lazy associations fetching. In order to use a proxy in place of a real class, your hibernate persistence class must be either non-final or the implementation of an interface that declares all of the public methods. 

Monday, September 2, 2024

10 Difference between Hibernate and JDBC in Java

JDBC is the core technology to access database from Java application but it require lot of boiler plate coding. Hibernate on the other hand an ORM (Object Relational Mapping) framework, which automatically map Java object to tables and records in database. You don't need to execute query to populate objects, Hibernate will do that for you. It also provides several benefit as compared to JDBC e.g. performance improvement via Proxy, lazy loading of associations and Caching, that's why both enterprise Java application and web application uses Hibernate to implement the DAO layer of application.

Tuesday, August 27, 2024

10 Examples of Conditional Breakpoint Debugging in Java and Eclipse

Eclipse is a great tool for Java developers, it allows you to write code, execute them and debug them but many developers doesn't use Eclipse to their full potential. I focus a lot of debugging skills when I take interviews and when I ask about how they debug their Java application, many developer mention use of line breakpoint and only few mention about conditional breakpoint. To be honest, if you are debugging a real-world Java application which has lots of users, clients or data then line breakpoint will not be very helpful and it will take ages to find the most of the data related issues. 

For example, somewhere in your code you getting a NullPointerException and ArrayIndexOutOfBoundsException and you are not sure for which client, user or value this error came. 

Saturday, August 24, 2024

Top 5 Concurrent Collections Java Programmer Should Learn (with Examples)

Several new Collection classes are added in Java 5 and Java 6 especially concurrent alternatives of standard synchronized ArrayList, Hashtable and  synchronized HashMap collection classes. Many Java programmer still not familiar with these new collection classes from the java.util.concurrent package and misses a whole new set of functionality which can be utilized to build more scalable and high-performance Java application. In this Java tutorial, we will some of the useful collection classes like ConcurrentHashMap, BlockingQueue which provides some of the very useful functionalities to build concurrent Java applications.