Performance

Episode 65. Oh my gosh, we missed CACHING! (what a cache miss!)

What a strange omission, of all the concepts, one that all of us should always have is Caching. We have used it (and most likely we have been burned by it). Come and take a listen on how to correctly (or at least not as incorrectly) think about caching, finding out your “game plan”, and using JSR-107, or Hazelcast, or Apache Ignite or Spring. LRU? Time-based? How much memory? Long distribution tails? cacheable keys? All concepts that you should ask before creating/using a cache!

Don’t forget to SUBSCRIBE to our cool new NewsCast!
Java Off Heap

Do you like the episodes? Want more? Help us out! Buy us a beer!

And Follow us! @fguime and @bobpaulin

Episode 57. Sometimes you want to buy local, ThreadLocal that is!

Threadlocal is great! It can help you get out of sticky situations, and give you a great boost of performance and/or isolation. But with great tools comes great responsibility. Threadlocal can also be misused, and create memory leaks, or object corruption, and unknown sharing. So if you ever had seen one and never quite got what it does, or even if you were consider using one. Take a listen! And steer the people in the right way for the use of Threadlocal.

Also, Thanks Michael for pointing the issue with episode 55 and rebasing!

Don’t forget to SUBSCRIBE to our cool new NewsCast!
Java Off Heap

 

Do you like the episodes? Want more? Help us out! Buy us a beer!

Episode 56. Let’s have a frank talk about Unsafe! and why you shouldn’t (or should) use it

So you heard about sun.misc.unsafe. Even if you are in certain circles you might have heard about that it was (almost) removed from Java 9. And if you were really paying attention you would’ve heard the cries of every major Java Framework to the news. While it didn’t happen (Unsafe is still in Java 9, and possibly in Java 10+), we should dive into why is it so attractive, and creates such a divided opinion (JVM implementers want it gone. Performance nuts want it in)

Don’t forget to SUBSCRIBE to our cool new NewsCast! Java Off Heap

Do you like the episodes? Want more? Help us out! Buy us a beer!

Episode 49. Don’t put Pressure on me! (About Generational Garbage, and Pressures)

We know how important it is to mind your p’s and q’s when it comes to garbage (and garbage collection). We go deep into how Generational Garbage Collectors work including reference types (strong, weak, soft, phantom), also how Garbage Collection Pressure (GC Pressure) happens, and how can we create code that is friendly to Generational GCs. In all is a collection of Garbage-related issues that all of us should know. Come and take a listen!

Follow us! @fguime , and @bobpaulin

Subscribe to our new Podcast, JavaPubHouse’s Off-Heap!
We cover the current tech news related to our famously popular language, and will give our two cents on what it means to us as Java Professionals. So come and subscribe!

Help us pay for bandwidth! (Or a beer!)

Questions, feedback or comments! (comments@javapubhouse.com)

Subscribe to our podcast!

Episode 38. Hyperthreading, L1/L2 caching, cache busting, thread trashing, and priority bumping!

So we hear about HyperThreading and how it is sooo cool, well, it is and it isn’t. If you are really trying to squeeze performance out of your application HyperThreading might not be what you’re looking for. There are so many other things that happens at the CPU level that have so weird names (like Thread Thrashing, ‘say whaaaat?’). If you are really serious on squeezing every worthy CPU cycle of your app (or if you’re interesting on what really really goes under the hood) take a listen! (ah! and treat me a beer, if you like what you hear!)

Follow
Me
on
Twitter! (@fguime) (thanks!)

Hey it’s ALMOST SUMMER! and I would love to get a beer 🙂

Tweet, Tweet! (https://twitter.com/#!/fguime)

 

Vote for us in iTunes (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Questions, feedback or comments! comments@javapubhouse.com

Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss)
ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Java 7 Recipes book! (http://www.amazon.com/gp/product/1430240563/ref=as_li_ss_il?ie=UTF8&tag=meq-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1430240563)
Hey! if you like what you hear, treat me a beer! (It’s the Java pub house after all 🙂 https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4

Episode 36. An Intro to Multithreading Programming

This is a presentation I did for the Chicago Java Users Group on the topic of multithreading. There are some solid foundations in here to start tackling multithreading programming. Some of it might’ve been already been seen in depth from our other episodes, but in all, it has good foundations for anyone that does multithreading programming.

Follow
Me
on
Twitter! (@fguime) (thanks!)

Hey it’s winter (and not too many reasons to be outside, so might as well stay home and drink a few!) If you like what you hear, treat me a beer ! 🙂 (It’s the Java pub house after all 🙂

Tweet, Tweet! (https://twitter.com/#!/fguime)

Vote for us in iTunes (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Questions, feedback or comments! comments@javapubhouse.com

Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss)
ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Java 7 Recipes book! (http://www.amazon.com/gp/product/1430240563/ref=as_li_ss_il?ie=UTF8&tag=meq-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1430240563)
Hey! if you like what you hear, treat me a beer! (It’s the Java pub house after all 🙂 https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4

 

Episode 22. Garbage man! An introduction on the finer details Garbage Collection

Garbage collections are like the engine of a car, we know it works, we know that it powers the car, but not much else, but once it breaks down, we usually don’t have a too much of a clue on how to fix it. In this episode we talk about how garbage collections happen, the things it looks for, and more importantly, how it changes your code (there are certain things that you can do to make your code garbage collector friendly). Having this knowledge will help you in the long road on troubleshooting any garbage collection issues (including tuning!), so take a listen to the garbage man!

There is a new band in town! Lambda Expression. Listen to me, and my one-man band in facebook (www.facebook.com/lambdaexpression). And LIKE! (doesn’t cost anything!)

Hey! if you like what you hear, treat me a beer! (It’s the Java pub house after all 🙂

 

Vote for us in iTunes (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Follow us in Twitter! https://twitter.com/#!/fguime

 

The holy grail of JVM Tuning http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
YourKit Java memory profiler http://www.yourkit.com/
Charlie Hunt Java performance book http://www.amazon.com/Java-Performance-Charlie-Hunt/dp/0137142528
Questions, feedback or comments! comments@javapubhouse.com
Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss)
ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Java 7 Recipes book! (http://www.amazon.com/gp/product/1430240563/ref=as_li_ss_il?ie=UTF8&tag=meq-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1430240563)

Episode 21. The JVM Crashed…Now what?!

So you’re programming along when suddenly support calls and says that the application just “disappeared”, or, the server process is not there anymore, both of them leaving you with a hprof.pid file. You have just witnessed the murder of a Java Virtual Machine, and now is your turn to figure out what happen, and what can we do to prevent such senseless crashes. We cover the main reasons for crashes (most likely not your fault), and best of all, ways around it! So put on your detective hat and let’s solve the mysteries surrounding JVM Crashes once and for all!
Hey! if you like what you hear, treat me a beer! (It’s the Java pub house after all 🙂 https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4
Vote for us in iTunes (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Follow us in Twitter! https://twitter.com/#!/fguime
Most JVM Options http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
Troubleshooting tips http://www.oracle.com/technetwork/java/javase/index-137495.html
-XX:+ShowMessageBoxOnError http://www.oracle.com/technetwork/java/javase/clopts-139448.html#gbmui
.hotspot_compiler to stop compilation of methods
More JVM Options (-Xint to disable JIT compiling)
Java 7 recipes book made it to the Java Magazine! http://www.oraclejavamagazine-digital.com/javamagazine/20120304?pg=3#pg10
Questions, feedback or comments! comments@javapubhouse.com
Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss)
ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Java 7 Recipes book! (http://www.amazon.com/gp/product/1430240563/ref=as_li_ss_il?ie=UTF8&tag=meq-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1430240563)
Hey! if you like what you hear, treat me a beer! (It’s the Java pub house after all 🙂 https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z8V2ZWV93UMW4

Episode 15. Java Swing and Performance. It’s not slow!

Taking the performance theme, we move into the dark corners of Java Swing and discover that it is not a lame horse at all! Swing is very fast (with support for directX and OpenGL!), but sometimes is hard to get it to perform right. In this podcast we talk about how to make sure of respecting the EDT, offloading from the EDT, we explain how the EventQueue works, and show THE technique for fast GUI performance. If you know what Swing is, tune in! We will dispell Swing’s performance myths!

Using Aspects to debug Swing Apps (http://weblogs.java.net/blog/alexfromsun/archive/2006/02/debugging_swing.html)
Java Flags for DirectX and OpenGL (http://docs.oracle.com/javase/1.5.0/docs/guide/2d/flags.html)
InvokeLater, InvokeAndWait (http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html)

Questions, feedback or comments!comments@javapubhouse.com

Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss)
ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Java 7 Recipes book! (http://www.amazon.com/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)

Episode 14. Optimizing for Performance – The tools

In the second part of optimization, we talk about the tools (or more properly algorithms) that you can use to optimize a piece of code. Ever wonder how to make a piece of code faster? or difference between caching and Divide-and-Conquer? then tune in! You’ll become the McGyver of code optimization.

Fork/Join Java 7 (http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html)
Guava (http://code.google.com/p/guava-libraries/)
Charlie Hunt’s book (http://www.amazon.com/Java-Performance-Charlie-Hunt/dp/0137142528)
OpenCL for Java (http://www.jocl.org/)
Aparapi (http://developer.amd.com/zones/java/aparapi/Pages/default.aspx)

Questions, feedback or comments!comments@javapubhouse.com

Subscribe to our podcast! (http://javapubhouse.libsyn.com/rss)
ITunes link (http://itunes.apple.com/us/podcast/java-pub-house/id467641329)
Java 7 Recipes book! (http://www.amazon.com/Java-7-Recipes-Problem-Solution-Approach/dp/1430240563)