Tools

Episode 86. Move Over Slow Startup times, GraalVM…IS…HERE. (and cross-language support, and less memory footprint…)

Oh my! This episode is going to be one of our favorites. There are times where the Java ecosystem delivers something incredibly interesting (InvokeDynamic, Lambdas, Streams, Kotlin), and this episode is one of those! You may have heard it mentioned around the interwebs or conferences (this new GraalVM thing)… well, it’s here to stay and is propelling JVM languages to a whole new level of interoperatibility and performance!

So GraalVM at the very high-level view is a “Java Virtual Machine” (in reality there’s much more to it, but we can at least start there). It provides tons of interesting features, like the ability to not only compile Java/JVM languages, but also Javascript, LLVM Languages (like C++), Python, R (and is expanding to others), and more importantly, interoperatibility between all these languages.

But the bee’s knees (or the most interesting fact) is that GraalVM also have the “Native Image”, which allows you to completely bake in a Linux (more platforms coming) binary straight up from your source code. The Native Image doesn’t require Java to be installed, and you can start your application as you would any other Linux executable. The most impressive part? Startup times are incredibly fast!

So we have usually addressed tons of misinformed myths of the Java language like “It’s slow:” (No, not really), or “You can code more performant code in C++” (possibly, but you have to be an expert to squeeze more performance than the JVM’s JIT compiler). But one area that the claim has held true is that “Java has slow startup times”. And (it used to be) true! Because of the dynamic classloading that Java supports, it’s very hard for the JVM to startup fast. For long running applications this is usually not a problem, even so, for the new Cloud folks (and Lambdas, and AutoScaling Groups), fast startup time is a “thing”. And so, with GraalVM (with some caveats) we are conquering one of the last arguments against the JVM languages.

In all, THIS is the episode to listen this year. It’s exciting, new technology that we could really spin up and use. Let’s have fun programming again with GraalVM.

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

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



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


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 85. Monitor the World with JMX!

There are technologies that sometimes are forgotten in a lonely corner, but that actually are quite sturdy. One of these is the All-Powerful Java Management Extensions (also known as JMX). With JMX you can actually expose a lot of metrics of your application and TONS of libraries use it “out of the box”. Libraries like Tomcat, JVM, ActiveMQ, Spring (and ton others) exposes their metrics through JMX. And you can too!

In this episode we go over how to both consume JMX metrics (through JConsole, or statsD, or other Performance Monitoring Tools), and how to produce them as well (By creating your own MBeans), not only that, but we also go with how to be able to “invoke” these on a live application. Have you ever wanted to say “Oh my, I wish I could call this method while the program is running in production ‘At will'”. Well, with MBeans, you can make that happen! Not only that, but if you really want to you can also expose your MBeans through a Rest Endpoint with Jolokia.

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!



We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo

We also thank OverOps for sponsoring this podcast episode

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



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


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 80. Ah, Maven Archetypes… it’s gonna get META

Nothing like a cold chilly day to stay inside and program some more. Before you start that new project from scratch, let’s go over a pretty cool feature of Maven. Maven Archetypes! Learn how to create “project templates” for your new maven project… or better yet, use one of the predefined maven archetypes already out there.

We go over how easy is to create your own, and over the flexibility on the things you can do! Are you trying to get all your development teams to start with the same libraries, support, or template? Are you using maven? Then the answer is easy. Create an archetype for them! Come and take a listen as we use Maven to create Maven Template for new Maven projects.

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!

We also have been revamping our site so go there, take a look, listen to old episodes, or search them!



We thank DataDogHQ for sponsoring this podcast episode




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



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


And Follow us! @javapubhouse and @fguime and @bobpaulin

Episode 60. All your Containers Are Belong to Us (An intro to Docker)

So you have heard about it, and probably ran into it already. Docker is a super cool tech that let us create / manage and deploy applications (It is really what would come out if Devs and Ops decided to have a kid). Come hear how you can too master the art of Docker, and more importantly why is it so “accepted” and revered.

A Big Thanks to LaunchDarkly for sponsoring our podcast! Feature flagging is easy, feature flag management is hard. What LaunchDarkly has done is essentially take a system like Google or Facebook has made in-house and bring this to the masses. With features like percentage rollouts, audit logging, and flag statuses, teams have complete control over features at scale. When you effectively separate business logic from code, you can build better software, faster without the risk

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 48. Let’s get Groovy with GRADLE in JAVA!

Strike 1, Strike 2, and STRIKE 3! We cover the last of the build tools, GRADLE. It’s hip, it’s cool, it wears a cool leather jacket and rides around on a great motorcycle. The last of the build tools, it has learned from prior mistakes and has combined the best of Ant and Maven into one groovy package. Learn about the last of the build tools, and when to really use it!

 

We thank Codeship for being a Sponsor of the show! Need Continuous Delivery made simple? Check Codeship.com! And use code JAVAPUB20 for a 20% discount!

 

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

It’s now cold, oh, how I wish for a beer? (Have any?)
beer…beer…beeeeeer…..:)

Episode 47. Stop. Maven Time!

So moving to a more recent build tool we cover probably one of the more popular one. Maven is now incredibly robust, and helps fixing what is known as Jar Hell. Have you ever used two libraries that depended on different versions of a logging framework? Well, Maven makes using tons of libraries incredibly easy. Come and take a listen!

We thank Codeship for being a Sponsor of the show! Need Continuous Delivery made simple? Check Codeship.com! And use code JAVAPUB20 for a 20% discount!

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

It’s now cold, oh, how I wish for a beer? (Have any?)
beer…beer…beeeeeer…..:)

Episode 46. I’ve got ANTs in my build!

It’s old, but as build tools go you will find apache Ant everywhere. Here we talk on how ant works and explore the build file. While it looks weird, there is nothing to fear! By the end of the episode you will be on your way to tackle any ANT build that have ever been thrown at you!


We thank Codeship for being a Sponsor of the show! Need Continuous Delivery made simple? Check Codeship.com!

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

It’s now cold, oh, how I wish for a beer? (Have any?)
beer…beer…beeeeeer…..:)

Episode 39. Do I really have to database it?

It happens all the time, you are working and suddenly you need to database an object. And maybe you have a fancy O/R Mapper or something like that, but we seldom ask ‘do we really need this in a relational format?’. There are actual alternatives (from byte serialization to xml, to, oh, my, NoSql databases). Here we explore the reasons why you may want to skip the Object Relational mapping and concentrate more on ease of development!

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

Hey it’s Freaking HOT outside! beer…beer…beeeeeer…..:)

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 34. New Year’s (2013) Resolution! Less bugs and more coverage!

Episode 34. New Year’s (2013) Resolution! Less bugs and more coverage!

Ok, so we all celebrated (but may not remember) the end of the old year and the beginning of a new year! This is a time for starting new things, and trying to be a little better. How about starting by looking at our code and squish some bugs! By using findbugs we can easily test for the ‘duh’ (and some not so duh) bugs quickly by looking and automatically analyzing our code. After adding Findbugs, we can then add Emma, which will look and measure our unit test code coverage (if you are into such a thing). These two tools are like the Richard Simmons that let us lose the unwanted bug weight in this new year!
If you just joined us, remember to follow me on Twitter! (@fguime)

 

Beer of the Episode: Anchor Brewing’s Liberty Ale
|~|P |~|P |~|P |~|P |~|P |~|P |~|P Anchor Brewing's Liberty Ale
|_|  |_|  |_|  |_|  |_|  |_|  |_|

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 🙂

|~|P |~|P |~|P |~|P |~|P |~|P |~|P Anchor Brewing's Liberty Ale
|_|  |_|  |_|  |_|  |_|  |_|  |_|

Tweet, Tweet! (https://twitter.com/#!/fguime)
Findbugs
Findbugs Ant (check out the excludeFilter attribute to include/exclude stuff
Emma
Emma User’s Guide (2.3 is what we discussed in the podcast!)

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)