page banner
avatar
'Get process list in Unix based systems in Java.' post illustration
Get process list in Unix based systems in Java.

In this article we’ll talk about how to get process list in Java by running standard Unix commands.

avatar
'API Enhancements in Java SE 7' post illustration
API Enhancements in Java SE 7

Recently released Java 7 has a lot of useful API enhancements such as the automatic resource management, multi-catch statements, switch statement with strings, binary literals and improved numeric literals. This post is a quick roundup of the new features, which should help you to get a full picture of Java 7 syntax in a short time.

avatar
'Authorize.Net CIM With Java SDK: How To Bill Your Customers' post illustration
Authorize.Net CIM With Java SDK: How To Bill Your Customers

Authorize.Net is a popular payment gateway service provider allowing merchants to accept credit card and electronic check payments.
Using such a gateway to issue a one-time transactions doesn't raise any great troubles, but serving returning customers or managing complex subscriptions requires you either to be compliant with the Payment Card Industry Data Security Standard (PCI DSS) or to ask your customer to re-enter his or her billing info every time. Neither is always what you want. Well, among other Authorize's features there is a Customer Information Manager (CIM), which targets that particular problem.

avatar
'Drawing charts in Grails.' post illustration
Drawing charts in Grails.

Recently, I faced the problem of using charts in Grails web-application. At first, I was thinking about using well-known java libraries, such as JFreeChart . JFreeChart has a nice look, nice written documentation, and pretty simple to use.

avatar
'Designing a log of database queries for MongoDB' post illustration
Designing a log of database queries for MongoDB

The database query log could be a crucial part of a database restoring process required after data corruption caused by either an illegal update operation or a damage of database files. The main task here is to find the right format for storing the queries.

avatar
'Simply about Spring' post illustration
Simply about Spring

This article is devoted to very popular framework Spring. It’s very necessary theme for beginners in Java, because Spring is widespread technology.
First of all let's consider wiring - dynamical assembling of separated beans, most important part of Spring framework technology. It's important to keep in mind, that a good understanding of fundamental things is a irreplaceable skill for really cool programmer.

avatar
'Speedup of JSON parsing in Grails' post illustration
Speedup of JSON parsing in Grails

Optimizing Web application request processing time is an important stage of quality product development. While doing this part of the work on one of our products we noticed that the huge bottleneck was buried inside built-in JSON support in Grails. The problem was that built-in JSON parser that comes with Grails is surprisingly slow. Thats why we considered switching to using Java-based JSON parser instead.

avatar
'MongoDB java driver. The custom builder for update operations.' post illustration
MongoDB java driver. The custom builder for update operations.

Java driver for MongoDB does not provide any utility classes that could help with building update queries. If you want to create a query to update or increment field values, you usually have to use BasicDBObjectBuilder. This is intuitive approach, but queries defined in such a way are quite hard to read and maintain.

avatar
'Lightweight fast persistent queue in Java using Berkley DB' post illustration
Lightweight fast persistent queue in Java using Berkley DB

Recently I had a task to develop the application which will have large work queue and which need to survive the restarts. The application need to be lightweight. After trying several different persistent engines for Java I''ve chosen to stick with Berkley DB Java edition. This persistent engine is pretty lightweight it is fast, optimized for multi-threaded usage and have no problems with reclaiming free space.

As I needed the fast persistent queue at a cost of possible data loss on system crash I've chosen non-transactional API for Berkley DB. With non-transactional API the great speed can be achieved for persistent queue at a price of loss of some data at system crash. The more data you allow to be lost the greater speed of the queue you will have. Though you can opt to sync to disk each operation on the queue and in that case your data loss will be minimal.