Ad-hock diagnostic tools for JVM

There are bunch of graphical tools helping you to look inside of running JVM (VisualVm and JConsole are extremely helpful). Unfortunately, some times (almost always in my case), you may find yourself in SSH console on headless server side by side with your JVM (more...)

TechTalk: Java GC – Theory and Practice

I'm glad to announce upcoming tech talk in our user group at Moscow - "Java GC — Theory and Practice"

Event will be held on 16 May at Moscow, online translation will be available (tech talk language - russian)

Registration is open at http://aragozin.timepad.ru/event/60137/

В программе:

Теория:

Алгоритмы (more...)

Slides from JavaOne Russia

Below are slidedecks (in russian) from two my presentation on JavaOne Russia this year.

Борьба с GС паузами в JVM. Теория и практика

http://www.slideshare.net/aragozin/g-19935502

Распределённый кэш или хранилище данных. Что выбрать?

http://www.slideshare.net/aragozin/ss-19934802

Tech Talk "Magic of VMs"

Today, I was one of speaker at "Magic of VMs" tech talk in Moscow. Meet up was held under roof of Rambler, a lot thanks to them for helping us in this event.

Topic of meetup was low level implementation details of  various runtimes for popular platforms.

Below are (more...)

ChTest is out

Writing automated tests for Coherence based application is quite challenging. Definitely, you can start single node cluster in your test JVM without too much hassle. Unfortunately, single node cluster will not allow you to replicate some important aspects of cluster (a thus, test wont be able to catch a number (more...)

Coherence user meet up in Moscow

First meet up of Oracle Coherence users in Moscow was held on 14 Mar.

Many thanks to Gene Gleyzer (Oracle), who was key speaker on this event (joining us remotely).

Below are slides from event:

Upcomming tech meetups in Moscow



Here is announcing of upcoming tech meetups (more...)

How to simulate Coherence node failure in JUnit test

Recently, I was working on renewed version of Coherence data loss listener. New version provides simple utility to attach partition loader to any cache. Such partition loader is guaranteed to be called for every partition of newly created cache or after partition has been lost. Unlike CacheStore, partition loader (more...)

Remote code execution in Java made trivial

SSH offers a very convenient way to execute shell scripts remotely. Code like

ssh myserver.acme.com << EOC
cd $APP_HOME
./start_my_stuff.sh
EOC

are fairly easy to write and read.

But while remote execution itself is easy, writing actual distributed code is total mess.

I’m a Java guy. I (more...)

Coherence 101, Beware of cache listeners

Cache events facility is a quite useful feature of Oracle Coherence. For example, continuous queries and near cache features are build on top of cache event system.
Unfortunately it could be also abused easily. In particular, they are noticeably bad at scale unless you are very careful.
Please note. This (more...)

Safepoints in HotSpot JVM

Term Stop-the-World pause is usually associated with garbage collection. Indeed GC is a major contributor to STW pauses, but not the only one.

Safepoints

In HotSpot JVM Stop-the-World pause mechanism is called safepoint. During safepoint all threads running java code are suspended. Threads running native code may continue to run (more...)

Back to school, tech meet-ups in Moscow this September

I’m regularly hosting meeting of technology enthusiasts in Moscow, and it is time to announce couple of events for this month. But wait, we are in Moscow so let me speak Russian.
Сегодня, я хочу сделать анонс очередных двух круглых столов IT энтузиастов в Москве.

Вячеслав Воробьёв расскажет (more...)

Story of relentless CMS

Recently, a comment on other article of this blog has led me to noteworthy issue with CMS (Concurrent Mark Sweep) garbage collector.
Problem has appeared after minor release of application. JVM was configured to use CMS and it was working fine, but after a change its behavior has changed. Normally (more...)

Tech talk at London Coherence SIG: Database Backed Cache, Tips, Tricks and Patterns

Today I was speaking at London Coherence SIG. Below you can find slides from my presentation.
London Coherence SIGs are never boring, but this one was especially interesting.

We had two presentations from Randy Stafford (Oracle), Groovy presentation from Jonathan "Gridman" Knight, yet another Coherence (more...)

Four flavours of "Out of Memory" in HotSpot JVM

If you are working with Java, I bet you are well (more...)

Tech talk at DUMP IT (Ekaterinburg), Garbage collection in JVM

Today I was speaking at Ekaterinburg at DUMP-IT.
Below are slides from presentation (in russian).


Tech meet up, distributeted caching and data grid, Moscow 17 May

I would like to announce tech meet up devoted to topic of caching in distributed systems and data grid technology. Event will be held at Moscow on May 17.

Slides from event:


Main talk by Max Alexejev
Bonus presentation by me

Asymmetric read/write path – a trend for scalable architecture

A few years ago I was blogging about architecture using composition of different storage technologies for queering and persistence of data. Rationale behind this was further explained in other my post.

Below is a sketch of such composition:


Unlike classical Von Neumann's memory hierarchy, this composition is asymmetric in (more...)

Using HotSpot Attach API for fun and profit

JConsole and its successor JVisualVM are awesome tools, but most of information used by these tools is available via JMX for any JMX capable tool (though JVisualVM extensively use other APIs too). JMX and especially set of standard JVM MBeans are awesome too. You can get a lot diagnostic from (more...)

Coherence 101, few things about read through you may want to know

Read-through is a technique which allows cache to automatically populate entry for external data source up on cache miss. Oracle Coherence supports this technique via read-write-backing-map and application provided cache loaders (you can read more in Coherence documentation).

CacheLoader/CacheStore vs. BinaryEntryStore

You cache loader/store plug-in may either (more...)