Monday, November 30, 2020

Top 5 Websites to Learn Python Coding for FREE - Best of Lot

Believe it or not, but Python has inspired many people to learn to code, and it's continually inspiring them. I know a handful of people who are learning Python for different reasons, starting from web development to machine learning. I have seen new people learning Python to write web apps using Django, create a Machine learning Model using Python, and just to write some handy scripts to automate the boring stuff. Python is currently the world's #1 programming language and its popularity is growing every passing day, thanks to Data Science and Machine learning and awesome Python libraries like Pandas, PyTorch, NumPy, and TensorFlow.

Thursday, November 26, 2020

2 Best Deals for Educators and Online Course Creators - [Teachable & Thinkific Discounts]

Hello guys, I have been advocating for programmers and developers to create online courses to both learn and earn. In today's world, there is no better way to teach than creating courses and this pandemic has proved that e-learning is going to stay and increase in near future. But, creating a course is easier said than done, especially if you are a perfectionist. There are a lot of things involved like choosing a camera, mike, online course hosting platforms, tools, and buying other gear. If you want to invest in your online course creation tools and platforms then Black Friday is probably the best time to buy anything.

Grokking The Java Interview - My First Book After 10 Years as Java Blogger

Hello guys, I am very excited to announce the release of my first book after 10 years of writing Java articles and Java interview questions While I have been blogging for the last 10 years, I have never really sold anything, didn’t have any book, course, or any digital product. Finally, now I have my first book and it's going to help Java developer cracking interview — Grokking the Java interview. This was my long desire to have my content in a structured and organized way to provide more value and this book does that. It provides a structured way to prepare for Java interviews and learn essential core Java concepts.

Wednesday, November 25, 2020

Top 5 Black Friday and Cyber Monday Deals for Programmers

Hello guys, Black Friday is a special occasion and probably the best time to invest in your technical skills. This is the time when every company offers sweet deals on books, courses, tools, and things that matter most for programmers and developers. But, at the same time, it's not easy to find out great deals which are worth it for you. I have been receiving a lot of great offers from sites like Udemy, Pluralsight, Educative, CodeCademy, DataCamp, Coursera about their Black Friday deals and many of my readers were also asking me about that. 

Tuesday, November 24, 2020

Top 5 Courses to Crack Salesforce Administrator (CRT-101) Certification in 2021 - Best of Lot

Hello guys, if you are preparing for Salesforce Administrator (CRT - 101) certification and looking for the best online courses then you have come to the right place. Earlier, I have shared the best Salesforce developer and App Builder courses and in this article, I am going to share the best Salesforce Administrator courses you can join to crack this in-demand certification in 2021. If you follow Cloud Computing trends then there is a good chance that you might have heard about popular Salesforce certifications like the Salesforce Certified Administrator program (CRT-101). There is a great demand for certified Salesforce administrator due to the immense popularity of Salesforce in cloud-based CRM.

How to write Thread-Safe Code in Java

thread-safety or thread-safe code in Java refers to code which can safely be used or shared in concurrent or multi-threading environment and they will behave as expected. any code, class, or object which can behave differently from its contract on the concurrent environment is not thread-safe. thread-safety is one of the risks introduced by using threads in Java and I have seen java programmers and developers struggling to write thread-safe code or just understanding what is thread-safe code and what is not?

Monday, November 23, 2020

Top 5 Courses to Learn Microsoft Power BI in 2021 - Best of Lot

Hello guys, if you are learning Microsoft Power BI or keen to learn Microsoft Power BI and looking for the best Power BI online courses then you have come to the right place. In the past, I have shared the best tableau course and online courses to learn QlikView/Qliksense, and today I am going to share the best courses to learn Microsoft Power BI in 2021. This is the world of Data and any organization which has the right set of data has a competitive advantage over others, but data alone is of no use unless you can analyze and visualize it to find useful insights to grow the business. 

Difference between a Thread and an Executor in Java

Even though both Thread and Executor, both are used to execute some code in parallel, there are some key differences between them. The main difference between a Thread and an Executor in Java is that it later provides a thread pool in Java. Along with several concurrency utilities like CountDownLatch, CyclicBarrier, Semaphore, FutureTask, Callable interface, and Conditions, JDK 5 also introduced a built-in thread pool, which provides a set of working threads to run your code in parallel. Since creating, starting, and running a thread is a time-consuming and expensive operation, many Java applications create a spool of thread at start-up and leverage that for executing the task in parallel until Java introduced the built-in thread pool.

Sunday, November 22, 2020

Can You Make an Array or ArrayList Volatile in Java?

This is one of the many interesting multi-threading questions I have shared in my post 50 multi-threading interview questions. Yes, you can make an array volatile in Java, there is no problem with that, neither compiler will flag any error not JVM will throw any exception but the tricky part is why you want to make an array volatile and what is the effect of making an array volatile in Java? In order to answer this question, you must be familiar with both volatile modifier and Java memory model, otherwise, it would be difficult to answer, and that's why it's also one of the trick questions from Java interviews.

Saturday, November 21, 2020

Difference between Executor Framework and Fork Join Pool in Java?

Java 5 added Executor Framework to provide an out-of-box thread pool to Java programmers and Java 7 added ForkJoinPool an implementation of ExecutorService which specifically designed to execute ForkJoinTask. The Executor Framework provides several classes e.g. Executor, ExecutorService, and Executors for execution and creating thread pools. It also provides several built-in, ready to use thread pools like a pool of fixed threads, cached thread pool which can expand itself, spawn new threads if required due to heavy load.

Top 5 Courses to learn Design Thinking in 2021 - Best of Lot

Hello guys, if you are interested in creative ideas and solutions then you may have heard about the Design Thinking technique. Design thinking is the process of making good products that suit users, and also it is a method for problem-solving by focusing on the people's needs and discovering the best creative solutions that meet these needs. If you are keen to learn about the Design Thinking process and looking for resources to learn Design thinking then you have come to the right place.

Wednesday, November 18, 2020

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's 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.

Tuesday, November 17, 2020

How to Join Multiple Threads in Java? [Thread.join() Example]

Join method from the Thread class is an important method and used to impose order on the execution of multiple Threads. The concept of joining multiple threads is very popular in a multithreading interview question. Here is one such question, “You have three threads T1, T2, and T3, How do you ensure that they finish in order T1, T2, T3 ?. This question illustrates the power of the join method on multithreaded programming. Unlike classical thread questions like the difference between the wait and sleep method or solving the producer-consumer problem in Java, This one is a bit tricky.

Monday, November 16, 2020

Top 5 Courses & Practice Tests to Crack CompTIA Security+ Certification (SY0–501) in 2021 - Best of Lot

Hello guys, the CompTIA Security+ certification is aimed to be for people who are a beginner in security but at least have some fundamentals in IT in general and you will learn some fundamentals in  Cyber Security such as SQL injection, malware, zero-day vulnerabilities, and much more. If you are preparing for CompTIA Security + Certification and looking for the best online training course to boost your preparation then you have come to the right place. In the past, I have shared the best Cyber Security courses, CompTIA A+ Courses, Cloud+ Courses, and today, I will share the best online courses to crack the CompTIA Security+ certification. These courses have been prepared by experts and trusted by thousands of candidates preparing for this prestigious exam.

Top 5 Difference Between Callable and Runnable Interface in Java

The difference between Callable and Runnable is one of the most frequently asked multi-threading and concurrency interview questions in the Java world. I remember it was 2007 when I first heard about the Callable interface and that too on a telephonic interview. Till then, I was happy using Runnable to implement threads and just started paying attention to Java 1.5, as most of the applications by then using Java 1.4. That one interview question encouraged me to learn more about several other useful features introduced in Java 5 concurrency library like CountDownLatch, CyclicBarrier, Semaphore, Atomic variables, and Thread pool. This is one of the reasons I always encourage Java developers to give/take regular interviews, just to update your knowledge.

Sunday, November 15, 2020

Difference between Executor, ExecutorService and Executers class in Java

All three classes Executor, ExecutorService, and Executors are part of Java's Executor framework which provides thread pool facilities to Java applications. Since the creation and management of Threads are expensive and the operating system also imposes restrictions on how many Threads an application can spawn, it's a good idea is to use a pool of threads to execute tasks in parallel, instead of creating a new thread every time a request comes in. This not only improves the response time of the application but also prevent resource exhaustion errors like "java.lang.OutOfMemoryError: unable to create new native thread".

Friday, November 13, 2020

What is CyclicBarrier Example in Java 5 – Concurrency Tutorial

What is CyclicBarrier in Java
CyclicBarrier in Java is a synchronizer introduced in JDK 5 on java.util.Concurrent package along with other concurrent utility like Counting Semaphore, BlockingQueue, ConcurrentHashMap, etc. CyclicBarrier is similar to CountDownLatch which we have seen in the last article  What is CountDownLatch in Java and allows multiple threads to wait for each other (barrier) before proceeding. The difference between CountDownLatch and CyclicBarrier is also a very popular multi-threading interview question in Java. CyclicBarrier is a natural requirement for a concurrent program because it can be used to perform the final part of the task once individual tasks are completed.

Wednesday, November 11, 2020

How to use Exchanger for sharing Object between Threads in Java [Example]

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.

Tuesday, November 10, 2020

Difference between atomic, volatile and synchronized in Java?

Hello guys, a lot of people are asking me about the volatile, synchronized, and volatile variables in Java concurrency. After answering them individually on Facebook and LinkedIn, I thought to write this article. In this Java multi-threading tutorial, we will learn about the difference between atomic, volatile, and synchronized variables in Java. Though there are a lot of articles, posts, books, courses, and tutorials already exist on Java concurrency and synchronization, where different people have tried to explain concurrency concepts, but unfortunately, multi-threading and concurrency concepts are still hard to grasp, especially the volatile variables.

Monday, November 9, 2020

Maven Eclipse plugin M2Eclipse issues after updating passwords

Most Java programmers use Maven in Eclipse via the M2EClipse plug-in, which gives one capability to build, run, and test Java application using Maven. I also use the M2Eclipse plugin for integrating Maven with Eclipse, but more often there are issues dealing with them like Maven not able to find certain archetypes, or maven not able to download Jar files from remote maven repository. Since I need to change the password often for security reasons like every 3 months, I do see a lot of maven issues in Eclipse related to building projects. Most of the time these are compilation errors that are caused because maven is not able to connect to remote maven central repository, even though you have updated password in settings.xml in the maven installation folder like C:\apache-maven-2.2.1\conf\settings.xml

Sunday, November 8, 2020

Difference between notify and notifyAll in Java - When and How to use

notify vs notifyAll in Java
What is the difference between notify and notifyAll method is one of the tricky Java questions, which is easy to answer but once the Interviewer asks follow-up questions, you either got confused or not able to provide clear-cut and to the point answers? The main difference between notify and notifyAll is that the notify method will only notify one Thread and the notifyAll method will notify all Threads which are waiting on that monitor or lock. By the way, this is something you have been reading all over places and to be frank,  this statement despite being correct is not complete, and it's very difficult to understand the difference between notify vs notifyAll by just reading this statement.

Saturday, November 7, 2020

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

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 Cousrea Certifications and 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 175,000 people have already joined this course and it's from Google which is a great sign but you will find out more about this course in this review. 

Friday, November 6, 2020

Maven vs Gradle for Beginner Java Developers

Hello guys, if you are looking for a quick introduction to Maven and Gradle then you have come to the right place. Earlier, I have shared the best Maven course and best courses to learn Gradle, if you haven't checked them, I suggest you can also look at them if you want to learn these tools in depth. Maven and Gradle are the two most popular build tools for Java applications. They manage dependencies and create artifacts.  How do they do that? They have a repository like a maven has Maven repository where the store every single Java library and depending upon which library you add to your project, they download that library + all the transitive dependency for those libraries automatically. 

Thursday, November 5, 2020

Top 10 Microsoft Azure Cloud Certifications You can Aim in 2021 - Best of Lot

Hello guys, if you are aiming to become an Azure certified professional and looking for top 10 Azure certification then you have come to the right place. Earlier, I have shared many best AWS certifications and many free courses to learn AWS, GCP, and today I am going to share the top 10 Azure certification you can aim for in 2021. Cloud computing technology is growing almost faster than any other industry and in fact, the growth has increased by 17% in 2021 compared to the last year, and that because of many facts like the tremendous increase in Saas companies as well as the power you get compared to what you paid for made a lot of people thinking to use the cloud to store their websites and running their businesses.

Wednesday, November 4, 2020

Top 5 Courses for CompTIA Network+ certification (with Practice Tests) in 2021 - Best of Lot

Hello guys, CompTIA Network+ certification is a good certification to aim for if you are planning to have any kind of job position that needs networking such as computer networking analyst, computer support, and so on. The certification is aimed at anyone beginner or advanced level of networking knowledge and it is good also if you are considering a career in the network industry. If you already preparing for CompTIA Network+ certification and looking for the best online training courses and practice tests to get ready for the exam then you have come to the right place.

Tuesday, November 3, 2020

ThreadLocal in Java - Example Program and Tutorial

ThreadLocal in Java is another way to achieve thread-safety apart from writing immutable classes. If you have been writing multi-threaded or concurrent code in Java then you must be familiar with the cost of synchronization or locking which can greatly affect the Scalability of application, but there is no choice other than synchronizing if you are sharing objects between multiple threads. ThreadLocal in Java is a different way to achieve thread-safety, it doesn't address synchronization requirement, instead, it eliminates sharing by providing an explicit copy of Object to each thread. Since Object is no more shared there is no requirement of Synchronization which can improve scalability and performance of the application.

Monday, November 2, 2020

Inter Thread Communication in Java using Wait Notify Example

Wait and notify methods in Java are used for inter-thread communication i.e. if one thread wants to tell something to another thread, it uses notify() and notifyAll() method of java.lang.Object. A classical example of the wait and notify method is a Producer-Consumer design pattern, where One thread produces and put something on the shared bucket, and then tell the other thread that there is an item for your interest in a shared object, consumer thread than pick than item and do his job, without the wait() and notify(), consumer thread needs to be busy checking, even if there is no change in the state of the shared object.