Sometimes we need to split a long comma-separated String in a Stored
procedure e.g. Sybase or SQL Server
stored procedures. It's quite common to pass comma
delimited or delimiter separated String as an input parameter to Stored
procedure and then later split comma separated String into multiple values
inside stored proc. This is not just the case of the input parameter but you can also
have a comma-separated string in any table data. Unfortunately, there is no split() function
in Sybase or SQL Server 2005 or 2008 which can directly split a string based on
delimiter just like in the Java
string split method.
Disclosure: This article may contain affiliate links. When you purchase, we may earn a small commission.
How to Count Number of Leaf Nodes in a Binary Tree in Java ? [ Iterative and Recursive Solution]
Hello guys, today I am going to talk about an interesting binary tree-based coding problem from Programming Job interviews. If you have attended a couple of technical interviews then there is a good chance that you already have seen this question about counting the number of leaf nodes in a binary tree. If you know how to solve this problem then it's well and good but if you haven't don't worry, you will learn in this article. If you follow this blog then you might know that I have discussed a lot of data structure and algorithms problems here, including array, linked list, hash table, binary tree, and binary search tree.
Labels:
binary tree
,
data structure and algorithm
How to Load Resources from Classpath in Java with Example
Classpath in Java is not only used to load .class files, but also can be used to load resources e.g. properties files, images, icons, thumbnails, or any binary content. Java provides API to read these resources as InputStream or URL. Suppose, you have a properties file inside the config folder of your project, and you want to load that properties file, how do you do that? Similarly, you have icons and thumbnails for your web applications on the icons directory of your project, how do you load them? The answer is by using java.lang.Class' getResource() and getResourceAsStream() method. These methods accept the path of resource as String and return URL and InputStream respectively.
Labels:
core java
,
java tips
,
programming
How to update an entity using Spring Data JPA ? Example Tutorial
Hello Java programmers and Spring Boto developers, if you are wondering how to
update an entity using Spring Data JPA and looking for a tutorial or example
then you have come to the right place. Earlier, I have shared the
best Spring Data JPA Courses
and in this article, I will show you how you can update any entry using Spring
Data JPA. How to update an entity using spring-data-JPA is also a
must-know topic when it comes to spring application development. Query methods
are supported by Spring for updating operations. Entities are typically modified
with
Hibernate
by retrieving them from the database, changing specific fields, and persisting
the entities.
Labels:
spring
,
spring data jpa
6 ways to declare and initialize a two-dimensional (2D) String and Integer Array in Java - Example Tutorial
Declaring a two-dimensional array is very interesting in Java as the Java programming language provides many ways to declare a 2D array and each one of them has some special things to learn about. For example, It's possible to create a two-dimensional array in Java without specifying the second dimension, sounds crazy right? but it's possible because a two-dimensional array in Java is nothing but an array of array. You can even create a two-dimensional array where each subarray has a different length or different type, also known as a heterogeneous array in Java. This means it's possible to create a two-dimensional array with variable column length in Java.
Labels:
Array
,
core java
,
data structure and algorithm
How to Calculate Difference between two Dates in Java (In Days) - Example Tutorial
If you are not running on Java 8, then there are two ways to calculate the difference between two dates in Java in days, either by using standard JDK classes e.g. java.util.Date and java.util.Calendar or by using the joda-time library. Unfortunately, Java's old Date and Calendar API is buggy and not intuitive, so many of us by default use Joda for all date and time arithmetic. In this example, you will learn how to find the number of days between today and any date entered by a user using Joda, as well as without using any third-party library. When I first time face this problem, I thought what's a big deal about finding the difference between dates? If you can convert Date to milliseconds then finding a number of days, months or years are just a matter of simple arithmetic, but I was WRONG. I was not thinking about the real-world date and time nuisance like leap seconds, leap years, and daylight saving time.
Labels:
core java
,
date and time tutorial
How to create Thread Pool in Java using Executor Framework - Example Tutorial
Java 1.5 introduced a Thread pool in Java in the form of an Executor framework, which allows Java programmers to decouple submission of a task to the execution of the task. If you are doing server-side programming in Java then the Thread pool is an important concept to maintain scalability, robustness, and stability of the system. For those, who are not familiar with thread pool in Java or the concept of thread pool here is a one-liner, Thread pool in Java is a pool of worker threads, which is ready to perform any task given to them, mostly in the form of implementation of Runnable or Callable interface.
How to use Callable and Future in Java? Example Tutorial
A callable interface was added in Java 5 to complement the existing Runnable interface, which is used to wrap a task and pass it to a Thread or thread pool for asynchronous execution. Callable actually represents an asynchronous computation, whose value is available via a Future object. All the code which needs to be executed asynchronously goes into the call() method. Callable is also a single abstract method type (SAM type), so it can be used along with lambda expression on Java 8. Both Callable and Future are parametric types and can be used to wrap classes like Integer, String, or anything else.
Labels:
Java multithreading Tutorials
How to use wait, notify and notifyAll in Java - Producer Consumer Example
You can use wait, notify, and notifyAll methods to communicate between threads in Java. For example, if you have two threads running in your programs like Producer and Consumer then the producer thread can communicate to the consumer that it can start consuming now because there are items to consume in the queue. Similarly, a consumer thread can tell the producer that it can also start putting items now because there is some space in the queue, which is created as a result of consumption. A thread can use the wait() method to pause and do nothing depending upon some condition. For example, in the producer-consumer problem, the producer thread should wait if the queue is full and the consumer thread should wait if the queue is empty.
Labels:
Java multithreading Tutorials
,
wait notify
How to implement Bucket Sort in Java? [Solved] - Example Tutorial
In recent years, one of the questions I have increasingly seen in programming job interviews is about constant time sorting algorithms like do you know any O(n) sorting algorithm? how do they work? When I first encountered this question, I had no idea whether we can sort in constant time because even some of the fastest sorting algorithms like QuickSort or MergeSort take O(N log N) time for sorting on their average case. After some research, mainly by going through the classic CLRS book and this DS and Algorithms course by Tim Buchalka and Goran Lochert on Udemy, I come to know that there indeed are some constant time or linear time sorting algorithms like bucket sort, counting sort, and radix sort, which can sort an array in O(n) time but they work with only a special set of input.
2 Best Open source Java Libraries to Create PDF documents - iText vs Apache FOP
PDF format is a popular format for sending receipts, email confirmation, and other documentation and we often have a requirement to create PDF documents using Java, mostly in JSP pages. Since most of the official documentation uses PDF format nowadays, it becomes imperative to support PDF files. Recently I received a couple of questions regarding the suggestion of open-source Java PDF libraries, like which is the best open source PDF library in Java or should I use iText or Apache FOP in my Java application for PDF processing. These questions motivates me to write this post. In this article, I will share a couple of Java based open source PDF libraries, both FREE and with some licensing fees, which you can use to generate PDF documents in Java projects.
Labels:
J2EE
,
Java PDF tutorial
What is difference between ArrayList and ArrayList<?> in Java?- Raw Type vs Wildcard Example Tutorial
One of my readers asked me about the difference between ArrayList vs ArrayList< in Java?>, which was actually asked to him in a recent Java development interview. The key difference between them is that ArrayList is not using Generics while ArrayList is a generic ArrayList but they look very similar. If a method accepts ArrayList or ArrayList<?> as a parameter then it can accept any type of ArrayList like ArrayList of String, Integer, Date, or Object, but if you look closely you will find that one is raw type while the other is using an unbounded wildcard. What difference that could make? Well, that makes a significant difference because ArrayList with raw type is not type-safe but ArrayList<?> with the unbounded wildcard is type-safe.
Difference between Abstraction and Encapsulation in Java? OOP Question Answer
Both Abstraction and Encapsulation are two of the four basic OOP concepts which allow you to model real-world things into objects so that you can implement them in your program and code. Many beginners get confused between Abstraction and Encapsulation because they both look very similar. If you ask someone what is Abstraction, he will tell that it's an OOP concept which focuses on relevant information by hiding unnecessary detail, and when you ask about Encapsulation, many will tell that it's another OOP concept which hides data from the outside world. The definitions are not wrong as both Abstraction and Encapsulation do hide something, but the key difference is on intent.
Recursive Binary Search Algorithm in Java - Example Tutorial
The binary search algorithm is one of the most famous search algorithms in computer science. It allows you to search a value in logarithmic time i.e. O(logN), which makes it ideal to search a number on a huge list. For example, in order to search a number in a list of 1 million numbers will take around 210 comparisons compared to 1 million comparisons required by the linear search algorithm. The only thing is that the list must be sorted before you can use a binary search algorithm and it must support index-based search. That's why binary search is often implemented using an array because doing a binary search with a linked list will not be fast because it doesn't provide index-based access i.e. O(1) access. You have to traverse to that element to read its value in the linked list which is O(n), effectively reducing the performance of binary search to a sequential search algorithm.
Labels:
Array
,
core java
,
data structure and algorithm
3 Ways to Prevent Method Overriding in Java - Private, Static and Final Method Example Tutorial
Every Java programmer knows that final modifier can be used to prevent method overriding in Java because there is no way someone can override final methods; but, apart from final modifier, is there any other way to prevent method overriding in Java? This was the exact question, asked to one of my friend in a recent Java interview at one of the leading Investment bank. I guess, he was lucky to get this question because he already knows those tricks and was able to answer it quickly. When he told me about his experience, I didn't understand why someone ask this question? What is the purpose? What they were trying to find out? I can understand if they have asked what's the best way to prevent method overriding in Java, or what is the risk of overriding?
Labels:
core java interview question
Top 5 Websites to Learn SQL Online for FREE - Best of Lot
SQL is one of the most important skills for any programmer be it a Java, C++, Python, JavaScript, or Ruby developer. Almost 95% of the Java applications use a relational database in their back-end and almost all web applications use the database. In recent years, one of the most common ways to learn any programming skill is online, at your comfort of the office or home and SQL is no different. Learning SQL online has another advantage of a quick head start because you don't need to install a database and create tables to write some SELECT queries. The installation and setup are definitely a tough part for beginners and I have gone through that pain every time I have to learn a new database.
Labels:
best of javarevisited
,
database
,
online resources
,
SQL
Java 8 Date Time - 20 Examples of LocalDate, LocalTime, LocalDateTime
Along with lambda expressions, streams, and several minor goodies, Java 8 has also introduced brand new Date and Time API, and in this tutorial, we will learn how to use Java 8 Date Time API with simple how-to-do task examples. Java's handling of Date, Calendar, and Time is long been criticized by the community, which is not helped by Java's decision of making java.util.Date mutable and SimpleDateFormat not thread-safe. It seems, Java has realized a need for better Date and time support, which is good for a community which already used to of Joda Date and Time API.
Labels:
date and time tutorial
,
Java 8
Difference between Stack and Queue Data Structure in Java? Example
Stack and Queue are two of the important data structures in the programming world and have a variety of usage. As opposed to the array and linked list, which are considered primary data structures, they are secondary data structures that can build using an array or linked list. You can use Stack to solve recursive problems and Queue can be used for ordered processing. The difference between Stack and Queue Data structure is also one of the common questions not only in Java interviews but also in C, C++, and other programming job interviews.
10 Examples of Converting a List to Map in Java 8
Hello guys, suppose you have a list of objects, List and you want to convert that to a Map, where a key is obtained from the object and value is the object itself, how do you do it by using Java 8 stream and lambda expression? Prior to Java 8, you can do this by iterating through the List and populating the map by keys and values. Since it's an iterative approach and if you are looking for a functional solution then you need to use the stream and lambda expression, along with some utility classes like Collectors, which provides several useful methods to convert Stream to List, Set, or Map.
Labels:
core java
,
Java 8
,
Stream API examples
130+ Java Interview Questions Answers for 2 to 7 Year Experienced Programmers
Time is changing and so is Java interviews. Gone are the days, when knowing the difference between String and StringBuffer can help you to go through the second round of interview, questions are becoming more advanced and interviewers are asking more deep questions. When I started my career, questions like Vector vs Array and HashMap vs Hashtable were the most popular ones and just memorizing them gives you a good chance to do well in interviews, but not anymore. Nowadays, you will get questions from the areas where not many Java programmer looks e.g. NIO, patterns, sophisticated unit testing or those which are hard to master e.g. concurrency, algorithms, data structures and coding.
How to Remove all Unused imports in a Java file - Eclipse Shortcut Example
How to remove all unused imports in Eclipse
Eclipse IDE gives a warning "The import XXX is never used" whenever it detects unused import in a Java source file and shows a yellow underline. Though unused import in Java file does not create any harm, it's unnecessary to increase the length and size of Java source file and if you have too many unused imports in your Java source file, those yellow underline and Eclipse warning affect readability and working. In my last post on Eclipse, we have seen some Java debugging tips on Eclipse and in this post, we will see Eclipse shortcut to remove all unused imports in Eclipse.
Labels:
coding
,
core java
,
Eclipse
,
programming
Review - Is Coursera's TensorFlow: Advanced Techniques Specialization Worth it?
The market size of the artificial intelligence industry is expected to reach more than $299 billion in the year 2026. Companies are trying to involve this technology in their systems, like the recommendation system on amazon that will recommend products related to your history purchases, which will generate more revenue or self-driving cars that will take the wheel for you, and the examples are endless.
Labels:
course review
,
coursera
,
deep learning
,
machine learning
,
Tensorflow
2 Ways to check If String is Palindrome in Java? Recursion and Loop Example Tutorial
A String is said to be Palindrome if it is equal to itself in reverse order. You can use this logic to check if String is Palindrome or not. There are two common ways to find if a given String is Palindrome or not in Java, first by using for loop, also known as an iterative algorithm, and second by using recursion, also known as a recursive algorithm. The crux of this problem lies in how do you reverse String in Java? because once you have the String in reverse order, the problem is reduced to just comparing itself with the reversed String. If both are equal then the given String is Palindrome otherwise it's not. Also whether your solution is iterative or recursive will also determine by implementing this logic.
Labels:
Coding Interview Question
,
Coding problems
,
core java
Difference between @RequestMapping and @GetMapping in Spring MVC? Example
Hello Java programmers, if you are wondering what is the difference between
@RequestMapping and @GetMapping annotation in Spring MVC and when and how to use
them then you have come to the right place. Earlier, I have shared the
best Spring MVC courses
and
books, and In this tutorial, we are going to discuss spring and spring boot web
services. In there, most of the interviewers asked about the difference between
@RequestMapping and
@GetMapping annotations in spring
applications. Before going to discuss the difference between these annotations,
first, understand what is
@RequestMapping?, How do we use the
@RequestMapping?, What is a request? and types of them.
Labels:
spring
,
spring interview questions
,
spring mvc
How to Convert Fahrenheit to Celsius in Java with Example
In this Java tutorial, you will learn how to write a program to convert Fahrenheit to Celsius in Java. Fahrenheit is a thermodynamic temperature scale, where the freezing point of water is 32 degrees Fahrenheit (°F) and the boiling point of water is 212°F (at standard atmospheric pressure). This puts the boiling and freezing points of water exactly 180 degrees apart. Therefore, a degree on the Fahrenheit scale is 1/180 of the interval between the freezing point and the boiling point of water. Absolute zero is defined as -459.67°F. If you know, in the Celsius scale, the freezing point of water is at 0ºC and the boiling point of water is at 100ºC. By using these facts, you can easily deduce a formula to convert Fahrenheit temperature into Celsius.
Labels:
Coding Interview Question
,
core java
,
programming
How to get just DATE or TIME from GETDATE() in SQL Sever - Example Tutorial
The GETDATE is one of the most popular built-in methods of Microsoft SQL Server, but unlike its name suggests, it doesn't return just date, instead, it returns date with time information e.g. 2015-07-31 15:42:54.470, quite similar to our own java.util.Date from Java world. If you want just a date like 2015-07-31, or just a time like 15:42:54.470 then you need to either CAST or CONVERT output of GETDATE function into DATE or TIME data type. From SQL Server 2008 onward, apart from DATETIME, which is used to store both date and time, You also have a DATE data type to store data without time e.g. 2015-07-31, and a TIME data type to store time without any date information like 15:42:54.470.
Labels:
Microsoft SQL Server
,
SQL
How to use Lock and Condition variable in Java? Producer Consumer Example Tutorial
You can also solve the producer-consumer problem by using a new lock interface and condition variable instead of using the synchronized keyword and wait and notify methods. The lock provides an alternate way to achieve mutual exclusion and synchronization in Java. The advantage of a Lock over a synchronized keyword is well known, explicit locking is much more granular and powerful than a synchronized keyword, for example, the scope of a lock can range from one method to another but the scope of a synchronized keyword cannot go beyond one method. Condition variables are instance of java.util.concurrent.locks.Condition class, which provides inter-thread communication methods similar to wait, notify and notifyAll e.g. await(), signal(), and signalAll().
Labels:
Java multithreading Tutorials
5 ways to Convert Java 8 Stream to List - Example, Tutorial
One of the common problems while working with Stream API in Java 8 is how to convert a Stream to List in Java because there is no toList() method present in the Stream class. When you are processing a List using Stream's map and filter method, you ideally want your result in some collection so that you can pass it to other parts of the program. Though java.util.stream.Stream class has toArray() method to convert Stream to Array, but there is no similar method to convert Stream to List or Set. Java has a design philosophy of providing conversion methods between new and old API classes e.g. when they introduced Path class in JDK 7, which is similar to java.io.File, they provided a toPath() method to File class.
Labels:
Java 8
,
Stream API examples
How to distinguish logging per Client or Request in Java? Use MDC or Mapped Diagnostic Context in Log4j Example
The MDC or Mapped Diagnostic Context is a concept or feature of the Log4j logging library which can be used to group related log messages together. For example, by using MDC you can stamp a unique identification String like clientId or orderId on each log message, and then by using grep command in Linux, you can extract all log messages for a particular client or order to understand exactly what happened to a particular order. This is especially very useful in multi-threaded, concurrent Java applications where multiple threads are simultaneously processing multiple orders from multiple clients. In such applications, searching for relevant log messages in a big log file where log messages for multiple orders or clients are overlapping is a big task.
How to find all Checked checkboxes in jQuery? Example Tutorial
Hello guys, suppose you have multiple checkboxes in your HTML page and you want to retrieve all checkboxes which are checked? How will you do that in jQuery? Well, you can use the pseudo selector like :checked to get all checked checkboxes. This selector checks for the checked property of the checkbox and returns only those checkboxes which have this property. For example, the following jQuery selector will return all the checkboxes which are checked:
$('input[type=checkbox]:checked')
In this, we are first selecting all input elements where type is a checkbox and then adding: checked to filter only those which are checked.
$('input[type=checkbox]:checked')
In this, we are first selecting all input elements where type is a checkbox and then adding: checked to filter only those which are checked.
Labels:
HTML and JavaScript
,
JQuery
,
web development
What is Default, Defender or Extension Method of Java 8 with Example
Java 8 now allows you to add non-abstract method implementations to interfaces by utilizing the default and static keywords. Methods with default keywords are known as default methods or defender methods in Java. Before Java 8, it was virtually impossible to change an interface once published. Any change like the addition of a new method would have broken all clients. That's why when Java 8 decided to switch to internal iterator implementation using the forEach() method, they face the daunting challenge of breaking all implementation of the Iterable interface. Since backward compatibility is a top priority for Java engineers, and it wasn't practical to break all clients, they came up with the idea of the default method.
Labels:
core java
,
Java 8
,
programming
,
Tutorials and examples
How to convert float to long or int data type in Java? Example
Yesterday one of the new joiner Java Trainee Engineers from our team came to me and asked about how do you convert a float variable into a long or int data type? He was storing some values coming from another system in the database and only wanted to store values before the decimal point e.g. he was getting "3.144" and he wants to convert it to "3" to store into the database. The good thing was that API was returning a float primitive value and you don't need to convert a String to float etc. I asked him whether he needs routing or not, which he wasn't sure but it turns out that he didn't need that. I explained to him how to do that and that's what you will find in this article as well. In short, there are 3 ways to convert a float value into long or int in Java, but we will only focus on the long data type part.
Labels:
core java
,
Java basics
Subscribe to:
Posts
(
Atom
)