fastjson JSONPath example

We can use fastjson to serialize and deserialize json. When the json structure is complicated, it will be more troublesome to handle. The json is like following.

Linux quickly create a big file

Use the following command to quickly create a large file. You can also specify the size of the file.

Java8 CompletableFuture runAsync allof example

In the previous blog Java8 CompletableFuture concurrence example we have learned how to use the method allof and supplyAsync of CompletableFuture to achieve concurrency. The problem is that the code is less readable when there are multiple CompletableFuture.

Java could not find or load main class

Error: Could not find or load main class For this problem, not only beginners of Java will encounter it. When developers with many years of work experience leave the IDE and want to run java manually, they may also be troubled by this problem. If you add package in your class then you need put it in the same directory.

Java stack trace disappear

I recently found a lot of exceptions without stack information when I looked at the logs. There is only one exception name in the log, and there is no complete stack information. I know the reason after google. To improve efficiency, the JVM hides duplicate stack information. More information can be found here

Java get local address example

I recently need to get a local ip when doing a feature. The following code perfectly implements this function. It’s very simple, just a few lines of code.

vim recording and execution macro

Using macros to perform repetitive operations is a very efficient way. In this page I will show you how to use it.

Spring Boot filter WebFilter annotation example

There is an embedded tomcat in Spring Boot. We can not edit web.xml to add a filter. In this page I will show you how to add filter in Spring Boot without web.xml. I use WebFilter annotation to add filter. After adding this annotation you have to add ServletComponentScan annotation to make Spring Boot find this filter.

git change remote url

Use following command to change the push url of repository.

vim use register

If you want copy content and paste multiple times, "register" is good way to do this. After select the content you want to copy press "ay. This command save the content to the register named a. Use following command to paste this content to the place you want.

vim delete specified line

In Vim we can use j and k to move the cursor to specified line and press D or dd to delete current. You can also use next command to delete specified line.

git sync remote tag to local

I want sync remote tags to local. After google I got some commends. Unfortunately, those commands sometimes work and sometimes don't work. I think this may be related to the environment and the version of git. Eventually I finally found a universal solution.

Get file md5 example

When we download file from remote server. We need to check the integrity of the file. In general, the website will provide the md5 value of the downloaded file. In this page I will show you how to use apache-commons-codec to get the md5 of file.

okhttp post json example

okhttp is one of best network framework. In this page I will show your how to use it post json to remote server. The code is here.

Java understand IncompatibleClassChangeError

When I use thrift generate classes I got IncompatibleClassChangeError. This error means the class you depends has changed. Let's say your project depend on ClassA.class. When ClassA.class upgrades to new version (add some new methods or fields). It's name doesn't change. You project can use both old and new version of this class. This is "Binary Compatibility". But when the new version change one static field to no-static. IncompatibleClassChangeError will be thrown.