Archive | java RSS feed for this section

Metrics – a Java library which gives insight into what your code does

Developed by Yammer to instrument their JVM-based backend services, Metrics provides a powerful toolkit of ways to measure the behavior of critical components in your production environment.

With modules for common libraries like Guice, Jetty, Log4j, Apache HttpClient, Ehcache, Logback, Spring and reporting backends like Ganglia and Graphite, Metrics provides you with full-stack visibility.

(Full Story: http://metrics.codahale.com/ )

Jodd | Jerry

Jerry is a jQuery in Java. Jerry is a fast and concise Java Library that simplifies HTML document parsing, traversing and manipulating. Jerry is designed to change the way that you parse HTML content.

(Full Story: Jodd | Jerry)

Understanding JVM Internals | Java SE 7 Edition

This article explains how the JVM works, its structure, how it executes Java bytecode, the order of execution, examples of common mistakes and their solutions, as well as the new features in Java SE 7 Edition.

(Full Story: Understanding JVM Internals | Java SE 7 Edition)

j2objc – A Java to iOS Objective-C translation tool and runtime. – Google Project Hosting

J2ObjC is an open-source command-line tool from Google that translates Java code to Objective-C for the iOS (iPhone/iPad) platform. This tool enables Java code to be part of an iOS application’s build, as no editing of the generated files is necessary. The goal is to write an app’s non-UI code (such as data access, or application logic) in Java, which is then shared by web apps (using GWT), Android apps, and iOS apps.

(Full Story: j2objc – A Java to iOS Objective-C translation tool and runtime. – Google Project Hosting)

Take your Java application to the Mac App Store

In this guide I’ll go through all the steps required to port your Java Swing application to OpenJDK with the goal of preparing it for the submission into the App Store. Although the App Store guidelines explicitly forbids applications to rely on deprecated or optionally installed technologies (Apple no longer bundles their JDK port so applications can’t rely on the user to have it installed), you can still distribute your Java application on the App Store by embedding the OpenJDK 7 OSX port in a native OSX application.

(Full Story: Take your Java application to the Mac App Store)

BigCache – An Off-Heap Caching Solution For Java Platforms

Most Java caching solutions rely on maps and other in-heap structures to make your data accessible as fast as possible. While this is usually a good idea for reasonably sized caches, when the volume of the cached objects grows outside the usual few gigabytes and goes into tens (or hundreds) of gigabytes, you will find the heap increasing to sizes where the garbage collector starts to become a hindrance.

This problem is usually mitigated by flushing cache storage to disk or using external platforms like memcached and its modern NoSQL cousins. Either of these solutions however add complexity to the stack and the deployment, not to mention they are not able to deliver data as fast as any in-memory cache.

BigCache addresses this problem by persisting the cached data in memory within the same JVM process, but outside the JVM heap. This prevents the Garbage Collector from interacting with the cache’s memory zone, allowing the JVM heap size to be scaled based on processing needs only. While

(Full Story: BigCache – An Off-Heap Caching Solution For Java Platforms)

Simple Tools To Analyze JVM Thread Dumps

A simple way you can get a thread dump is via the “jstack” utility that ships with the JDK. Once you know the pid of your Java JVM process (to get this information, you can use the standard “ps” utility or you can use “jps”, which is another JDK utility), you simply tell “jstack” to output a thread dump associated with that process which you redirect to a file

(Full Story: Simple Tools To Analyze JVM Thread Dumps)

Luntbuild – automate and manage your builds

Luntbuild is a powerful build automation and management tool. Continuous Integration or nightly builds can be easily set using a clean web interface. Executed builds are well managed using functions such as search, categorization, promotion, patching, deletion, etc. It also acts as a central build artifacts repository and download area for your whole team.

(Full Story: Luntbuild – automate and manage your builds)

Introduction to BTrace for Java applications – Java Code Geeks

BTrace helps us to pinpoint complicated code problems in the application. The problems that can be solved using BTrace include code bugs, unpredictable flows, concurrency problems and performance problems that happen under specific and usually hard to reproduce circumstances.

(Full Story: Introduction to BTrace for Java applications – Java Code Geeks)

Design Patterns in Java | Nettuts+

One of the unchanging facts of life is that change is the undying constant in every software lifecycle – one that you cannot run away from. The challenge is to adapt to this change with minimum latency and maximum flexibility.
The good news is that someone has probably already solved your design problems and their solutions have evolved into best practices; these agreed-upon best practices are referred to as “Design Patterns”.

The Adapter Design Pattern
The Singleton Design Pattern
Design Patterns are Language Agnostic

(Full Story: Design Patterns in Java | Nettuts+)

Follow

Get every new post delivered to your Inbox.