background preloader

Mechanical Sympathy

Mechanical Sympathy
Serial, Parallel, Concurrent, CMS, G1, Young Gen, New Gen, Old Gen, Perm Gen, Eden, Tenured, Survivor Spaces, Safepoints, and the hundreds of JVM startup flags. Does this all baffle you when trying to tune the garbage collector while trying to get the required throughput and latency from your Java application? If it does then do not worry, you are not alone. Documentation describing garbage collection feels like man pages for an aircraft. Every knob and dial is detailed and explained but nowhere can you find a guide on how to fly. This article will attempt to explain the tradeoffs when choosing and tuning garbage collection algorithms for a particular workload.

Related:  Java LibrariesJava

Disruptor by LMAX-Exchange Download here... Discussion, Blogs & Other Useful Links Presentations Introduction to the Disruptor Programmer Level II Exam (The Java™ Tutorials > Bonus > Preparation for Java Programmer Language Certification) This page maps sections in the Java Tutorials to topics covered in the Java SE 7 Programmer II exam. This exam is associated with the "Oracle Certified Professional, Java SE 7 Programmer" certificate. The topics covered in this exam are: Section 1: Java Class Design Item 1: Use access modifiers: private, protected, public.

Distributed Systems and the End of the API This is a written (expanded) narrative of the content from a talk I first gave at PhillyETE on April 23rd, 2014. It mostly follows the flow of the presentation given then, but with a level of detail that I hope enhances clarity of the ideas therein. The talk’s original slides are available, though the key illustrations and bullet points contained therein are replicated (and somewhat enhanced) below. When audio/video of the talk is published, I will update this page to link to it. Nailgun: Insanely Fast Java Last Updated November 25, 2012 Thinnest. Client. Ever? Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. ByteBuffer java.nio.ByteBuffer is the cornerstone of the nio new I/O package. It is also used for high performance conversions of byte[] to char[] and back. What ByteBuffer is Not

Multitasking Management in the Operating System Kernel / Open Source / Kukuruku / Technology Hub As tasks share time on one processor kernel, I had to deal with multitasking management. Or rather pseudo-multitasking as tasks share time at one processor kernel. At first I’ll try to tell about the types of multitasking (cooperative and preemptive). Then I’ll move on to scheduling principles for the preemptive multitasking. The article is optimized for first-readers who want to understand how multitasking operates at the kernel level. guava-libraries - Guava: Google Core Libraries for Java 1.6+ The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. The latest release is 16.0.1, released February 4, 2014. Start using Guava

Integration Testing a Spring Boot Application Spring Boot brings about some welcome defaults configurations that significantly decreases the development time of Spring projects. It also has some useful additions when it comes to simplified integration testing. Traditionally, one would use the build script to fire up an embedded container such as Jetty, Tomcat or Cargo, but since a Spring Boot web application already comprises an embedded servlet container some convenient utilities have been created so it can be reused for integration testing.

Don't Settle for Eventual Consistency Wyatt Lloyd, Facebook; Michael J. Freedman, Princeton University; Michael Kaminsky, Intel Labs; David G. Andersen, Carnegie Mellon University Geo-replicated storage provides copies of the same data at multiple, geographically distinct locations. Facebook, for example, geo-replicates its data (profiles, friends lists, likes, etc.) to data centers on the east and west coasts of the United States, and in Europe.