Sunday, 16 June 2013

A tree explorer plugin for navigating the filesystem for vi editor

The NERD tree allows you to explore your filesystem and to open files and directories. It presents the filesystem to you in the form of a tree which you manipulate with the keyboard and/or mouse. It also allows you to perform simple filesystem operations.

More info how to install it you can find here:
http://www.vim.org/scripts/script.php?script_id=1658

Library for cloning java objects

If you need to clone whole objects (f.e. map of maps) here is a library to do it in just one line:

The objects don't have to implement the Cloneable interface. Effectively, this library can clone ANY Java object. It can be used i.e. in cache implementations if you don't want the cached object to be modified or whenever you want to create a deep copy of objects.

Read more here:
https://code.google.com/p/cloning/

Saturday, 15 June 2013

bintray

It is a public free repository in the internet: https://bintray.com/
If you want to share artifacts from your github project it could be the easiest way.

  • Easiest way to share your software with the world
  • Get credit and appreciation for YOUR packages
  • Manage your release notes or import them from GitHub
  • Automate your distribution using REST API
  • Easy integration with Maven, Gradle, Yum and Apt
  • Your binaries are easy to find using metadata & text indexing
  • Near real-time stats
  • Interact and get feedback from users
  • Ask to include your software in other repositories
  • Your binaries are available through a fast CDN

Friday, 14 June 2013

Benchmarks of the web frameworks

Here is the site where you can see comparison of plenty of web frameworks:
http://www.techempower.com/benchmarks/

GVM - the Groovy enVironment Manager

GVM is a tool for managing groovy, grails and other groovy based systems on your computer. With it you can switch with just one command between its versions. It is working on Unix and Mac.

To install it just run in the terminal:

curl -s get.gvmtool.net | bash

f.e. to install grovy and grails run in the terminal following commands:

gvm install groovy

gvm install grails

To list installed applications run:

gvm list

For help:

gvm help

To read more about gvm go to the following page: http://gvmtool.net/

Saturday, 1 June 2013

Diagnosing Java Application tools

Console tools:

jps -v - lists java processes

jcmd - runs command on the jvm
Some examples:

  • jcmd 31435 VM.version - shows information of the virtual machine of the process with pid 31435
  • jcmd 31435 help - shows possible commands for the process with pid 31435
  • jcmd 31435 Thread.print - prints ThreadDump (same as jstack pid)
  • jcmd 31435 GC.class_histogram - prints statistics of classes in the Heap
  • jcmd 31435 GC.heap_dump file - Dump Heap to the given file
  • jcmd 31435 GC.run - runs Garbage Collection
  • jcmd 31435 VM.uptime - time that process work
  • jcmd 31435 VM.flags - flags of the VM for this process
  • jcmd 31435 VM.system_properties -m properties what process was run with
  • jcmd 31435 VM.command_line - java command that started process
  • jcmd 31435 VM.version - the virtual machine version process was run with

jstat - prints jvm statistics

  • jstat -options - lista all options
  • jstat -gc 3773 1s - prints Garbage Collection info every second for process with pid 3773
  • jstat -class 3773 1s - class loaded stats

jvisualvm - graphical tool monitoring jvm processes. We can see CPU, Thread, Heap usage. It allows comparing Heap Dumps, inspecting all objects and references to them. We can use Sampler and Profiler to check where most of the time is spent and where object are mostly allocated.

jstack -F pid - suspends process in unknown state