State Pattern is for the scenario which contains different states. Let's consider the state of Amazon orders. When you want buy goods from Amazon the logic flow is: create order -> pay -> send goods -> receive goods -> evaluate. The status of order is changed after every operation and the action of order is changed correspondingly. The example code is like following.
There are two ways to find nth Fibonacci number: recursion and loop. Recursion is easy to write but is inefficient. Loop is not easy to write but efficient.
If you can not make sure the execution order of block, static-block and constructor. This blog will write a demo to help you understand the order of initializing fields.
This series of blog describes common algorithms.
In this page I will show you how to reverse single linked list in loop. Before starting write logic we need defined Node class.
Sometimes Java process used 100% or 200% CPU. It depends on the core number of your CPU. If your CPU has 8 cores that means the highest usage of a process is 800%. When Java process consuming most CPU you can use the following steps to find which Java threads is consuming the most CPU.
locate command can help you to find the location of file in Linux. Before using locate you need use updatedb command to update the database. locate command searchs file name in database , find command searchs file in real time. locate is quicker than find.
In this page I will show you how to post a form programmatically. Before testing HttpClient we need to write a API by Spring Boot(or use SpringMVC). The code is here.
As we all known yum install can help you install the program easily. If the program doesn't exist in yum list you can download them and install locally.
linked list is one the most common data structure. You can find the next node by current node, but you can not find the previous node by current(for single linked list). The question is how to find n'th node from the end of linked list.
"Binary Search" is used for finding the target number in an ordered array. There are two ways to find the index of target number, recursion and looping. The example code is here.
ThreadLocalRandom is less contention and better performance than Random. If you need to use random number in multi-thread environment. The example code is here.
join() method of Thread class will wait the sub thread to finish then to continue the current thread. "join" looks like the sub-thread join the main thread. If you want to know the result of sub-thread, join can help you blocked the main thread until sub-thread finish(dead).
wait, notify and notifyAll are all method of Object. It means that every object in java can be a lock monitor. When you use synchronized you get the lock of object. Use synchronized on the method current thread will get the lock of instance. If you add synchronized on a static method that means current thread will get the lock of this Class. These 3 methods can not be used without synchronized (you can release the lock without geting it).
When you send GET request to server, you need to encode the data which contained in the url.In this way can make sure the data you send could be received by server correctly. Certainly, serve has to decode the data before using them. The example is like following.