Java Pub House podcast

Episode 98. It's HERE, FINALLY HERE! Java 17 LTS Release

0:00
1:44:51
Recuar 15 segundos
Avançar 15 segundos

So is time to celebrate! We got a new box of toys with the new release of Java! This is also a Long-Term-Support release which means that's usually a "good one" to jump into! Switch Expressions! Helpful Nullpointers, Sealed Classes... there is a TON that's new

And we got the best Doctor in town to walk us through all of them. We're of course talking about Stuart Marks! (AKA Dr. Deprecator). We cover most of the important features from 11 to 17 (there's a ton that was left out, so keep following the links to know more!)


http://www.javapubhouse.com/datadog
We thank DataDogHQ for sponsoring this podcast episode

Don't forget to SUBSCRIBE to our cool NewsCast OffHeap!
http://www.javaoffheap.com/


Language Features

Pattern Matching for instanceof
https://docs.oracle.com/en/java/javase/16/language/pattern-matching-instanceof-operator.html

Switch Expressions
https://docs.oracle.com/en/java/javase/13/language/switch-expressions.html

Sealed Classes
https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html

Text Blocks
https://docs.oracle.com/en/java/javase/13/text_blocks/index.html

Debugging Features

Helpful NullPointerExceptions
https://www.baeldung.com/java-14-nullpointerexception

Performance Features

New Garbage Collectors (Shenandoah, ZGC)
https://blogs.oracle.com/javamagazine/post/understanding-the-jdks-new-superfast-garbage-collectors

Unix-Domain Socket Channels
https://openjdk.java.net/jeps/380


Deprecation & Platform evolution

Remove the Nashorn JavaScript Engine (Plug Graal!)
https://openjdk.java.net/jeps/372

Deprecate the Security Manager for Removal and Applets
https://openjdk.java.net/jeps/411

Strongly Encapsulate JDK Internals
https://openjdk.java.net/jeps/403

Warnings for Value-Based Classes
https://openjdk.java.net/jeps/390


Do you like the episodes? Want more? Help us out! Buy us a beer!
https://www.javapubhouse.com/beer

And Follow us!
https://www.twitter.com/javapubhouse

 

Mais episódios de "Java Pub House"

  • Java Pub House podcast

    Episode 98. It's HERE, FINALLY HERE! Java 17 LTS Release

    1:44:51

    So is time to celebrate! We got a new box of toys with the new release of Java! This is also a Long-Term-Support release which means that's usually a "good one" to jump into! Switch Expressions! Helpful Nullpointers, Sealed Classes... there is a TON that's new And we got the best Doctor in town to walk us through all of them. We're of course talking about Stuart Marks! (AKA Dr. Deprecator). We cover most of the important features from 11 to 17 (there's a ton that was left out, so keep following the links to know more!) http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/ Language Features Pattern Matching for instanceof https://docs.oracle.com/en/java/javase/16/language/pattern-matching-instanceof-operator.html Switch Expressions https://docs.oracle.com/en/java/javase/13/language/switch-expressions.html Sealed Classes https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html Text Blocks https://docs.oracle.com/en/java/javase/13/text_blocks/index.html Debugging Features Helpful NullPointerExceptions https://www.baeldung.com/java-14-nullpointerexception Performance Features New Garbage Collectors (Shenandoah, ZGC) https://blogs.oracle.com/javamagazine/post/understanding-the-jdks-new-superfast-garbage-collectors Unix-Domain Socket Channels https://openjdk.java.net/jeps/380 Deprecation & Platform evolution Remove the Nashorn JavaScript Engine (Plug Graal!) https://openjdk.java.net/jeps/372 Deprecate the Security Manager for Removal and Applets https://openjdk.java.net/jeps/411 Strongly Encapsulate JDK Internals https://openjdk.java.net/jeps/403 Warnings for Value-Based Classes https://openjdk.java.net/jeps/390 Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer And Follow us! https://www.twitter.com/javapubhouse  
  • Java Pub House podcast

    Episode 97. Hey there Scala 3! Looking good with those new Features!

    1:00:56

    So while Java is the "main" language of the JVM, it is by no means the "only" language. And one of the purely functional programming languages is getting a new facelift! Scala has been going through a revamp on the syntax and the features, and if you ever run into a scala user you know how passionate they are about their language! (hint: they love it!) So while we might be working in Java projects most of our time, it is a good time to revisit that developer toolbox and learn when and where to use it. And if anything else, having a dip into a fully functional programming language teaches any budding developer how to see things differently! So maybe Scala is "not" the language you want to program all your new projects, but understanding its strengs, its thinking (and with Scala 3) and its purpose, it makes it for a very sharp tool to have at the ready when you really need to tackle that Data Sciency / Functional Programming problem. In addition, we bring one of the biggest names in the Scala Community to walk us through it all @DeanWampler (https://twitter.com/deanwampler) has been working with Scala since the early days and has just published his new O'Reilly book Programming Scala (https://deanwampler.github.io/books/programmingscala.html). So what are you waiting for, add a new tool to your toolbox with Scala 3.0! http://www.javapubhouse.com/datadog We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/ Programming Scala (Dean Wampler) https://deanwampler.github.io/books/programmingscala.html New In Scala 3 https://docs.scala-lang.org/scala3/new-in-scala3.html Scala 3 Features https://docs.scala-lang.org/scala3/book/scala-features.html A look at inline https://medium.com/scala-3/scala-3-a-look-at-inline-and-programming-scala-is-now-published-9690ca43c23a Safer Pattern Matching with Matchable https://medium.com/scala-3/scala-3-safer-pattern-matching-with-matchable-f0396430ded6 Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer And Follow us! https://www.twitter.com/javapubhouse  
  • Java Pub House podcast

    Não percas um episódio de Java Pub House e subscrevê-lo na aplicação GetPodcast.

    iOS buttonAndroid button
  • Java Pub House podcast

    Episode 96. Watching Metrics w/Micrometer and Statsd

    1:09:10

    You'll run it everywhere there's a production system. Some kind of Metrics collector like Statsd or InfluxDB. They work like magic, reporting on the health of your application. but how does it really happen? We dive in on how these Application Performance Management tools work and how do they really "see into" your application. We demistify all this magic, and actually describe how to add "new" metrics and how to publish it! If you ever worked in a production application, and were wondering how do these metrics get graphed and collected, well, wonder-no-more! We go deep into Micrometer (the SLF4J of Metrics) and how it all works! http://www.javaoffheap.com/datadog We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/ Micrometer https://micrometer.io/ Creating Meters https://micrometer.io/docs/concepts#_meters Spring Boot and Micrometer https://spring.io/blog/2018/03/16/micrometer-spring-boot-2-s-new-application-metrics-collector Statsd https://github.com/statsd/statsd Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer And Follow us! https://www.twitter.com/javapubhouse  
  • Java Pub House podcast

    Episode 95. Ludicruos speed! Practical GraalVM

    1:08:08

    So we had a previous episode where we show a party trick with GraalVM, where we saw how to create a Native Image. It was really the "hello world" of Native image creation, so Bob decided that's not good enough! In this epidose we dive a little deeper on how to actually run your Restful Web service (or other app) natively, going through the exercise of debugging GraalVM builds including adding Maven plugins, finding out how to quelch the different reflection errors and how to deal with resources (and those pesky JNI / so libs). In all, this is more of actually a practical use of GraalVM, not just a "it can do it", but more, how is it done. So want ludicruos startup speed and performance? then press play and listen! http://www.javaoffheap.com/datadog We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/ GraalVM Native Image Options https://www.graalvm.org/reference-manual/native-image/Options/ Maven GraalVM Native Image Plugin https://www.graalvm.org/reference-manual/native-image/NativeImageMavenPlugin/ Apache HttpComponents http://hc.apache.org/ https://www.graalvm.org/docs/getting-started/linux/ GraalVM Resources https://www.graalvm.org/reference-manual/native-image/Resources/ Build Configuration https://www.graalvm.org/reference-manual/native-image/BuildConfiguration/ GraalVM Example Code https://github.com/bobpaulin/javapubhouse-graal-episode/ https://github.com/bobpaulin/opencv-1/tree/feature/add-native-image GraalVM Native Image InvalidAlgorithmParameterException https://github.com/oracle/graal/issues/768   Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer And Follow us! https://www.twitter.com/javapubhouse    
  • Java Pub House podcast

    Episode 94. Oh, put on your hat Dr. Watson, we are sleuthing this Heap Dump

    1:05:55

    So it happens. Sometimes a Java program just "dies" with the dreaded Out-of-memory Exception. Sometimes, it leaves behind a "heap dump", or a copy of what the Java program had in memory when just before it throw the Out-of-memory exception. For some devs, a heap dump is stressful, because they think is a black box with only mysteries, but we are here to calm your fears! In this episode we show how Heap dumps are your friends! If you happen to have one, then is almost assured that you can find what caused the out-of-memory, and/or you can "see" what the real values of configuration were. For troubleshooting a production incident, a heap dump becomes invaluable since "nothing" hides from it. Doesn't matter where the code came from, a heap dump will have exactly what each variable was holding and who might be responsible for a memory leak! "Memory leak you say? I thought java didn't have memory leaks!". Well, that's the other part of this episode where we discuss while Java has way less worries than (say c++) on allocating and deallocating memory, you can still create Memory leaks by having strong referenced objects that are never removed (and if that sounded like mumbo jumbo, even a better excuse to listen to this episode) So, we survived 2020. Take a listen to this end-of-the-year episode, and be even more ready for whatever 2021 throws at us! http://www.javaoffheap.com/datadog We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast OffHeap! http://www.javaoffheap.com/   How to capture a Heap Dump https://www.baeldung.com/java-heap-dump-capture Eclipse Memory Analyzer https://www.eclipse.org/mat/ VisualVM https://visualvm.github.io/     Do you like the episodes? Want more? Help us out! Buy us a beer! https://www.javapubhouse.com/beer And Follow us! https://www.twitter.com/javapubhouse    
  • Java Pub House podcast

    Episode 93. Not your Grandpa's Serialization Part DEUX!

    1:10:27

    We're back! and now we move to the new-fangled serialization and deserialization frameworks, starting with Protobufs! Google's contribution to the serialization space, Protobuf V3 makes it easy to create a very efficient on-the-wire serialized representation of objects, and then some. With the ability to have both backwards and forward compatible changes, protobufs is a great choice for transmitting information across services. But not to be outdone, @BobPaulin goes in and covers Thrift, which goes a step beyond than just serializing messages, but also takes care of the "Transport layer", adding the ability of doing Remote-procedure-calls! Imagine if instead of saying "I need to send a message to that service, and then the service can process it and send info back", you just said. "I want to call a method on that service with this parameters and get the results". Thrift exposes that functionality by letting you have an interface that you can just call in your client service, and it "magically" coordinates all the gnarly stuff to encode, transmit, execute, decode, and present your call. You don't even have to think (too deeply) about how it all happens. As long as you define your thrift objects, thrift methods, and Thrift transport, the framework will let you just think of methods to call! that's it! So in all, a very fun episode where we discover what the new types of serialization frameworks are up to. If you ever had to create a message, or ever had to annotate an object as Serializable, then do take a listen to this episode! FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!   We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast! Java Off Heap Google Protobuf Apache Thrift Protobuf Java Example Thrift Example JVM Serializers performance Do you like the episodes? Want more? Help us out! Buy us a beer! And Follow us! @javapubhouse and @fguime and @bobpaulin
  • Java Pub House podcast

    Episode 92. Not your Grandpa's Serialization!

    1:29:37

    Ah, Serialization... the bane of every Java Developer! If you are still using ObjectOutputStream, and Serializable, then you do want to listen to this episode! We move past the objectoutputstreams to what most people are running into these days! (Starting with 2001 and JaxB... and then moving forward from there to Json, and in Part 2...protobuf and thrift!). But oh, no all serialization is equal, and there are tradeoffs are we go through the different serialization / deserialization libraries (Convenience, Speed, Rigor? all these are things that one need to take into account when choosing a serialization strategy). So take a listen (and watch the video if you want to follow along) as we explore the interesting and great world of Java serialization frameworks! FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!   We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast! Java Off Heap Towards Better Serialization (or...why we should skip Java's Native Serialization) Introduction to JaxB Guide to JaxB Jackson Serialization Jackson tutorial Do you like the episodes? Want more? Help us out! Buy us a beer! And Follow us! @javapubhouse and @fguime and @bobpaulin
  • Java Pub House podcast

    Episode 91. OracleJDK? OpenJDK?, Zulu? Corretto? So many!

    56:22

    So just in case you didn't know, but being a Java developer is as fun as ever! The ecosystem has been changing from the past year, and today, we have "tons" of Java Developer Kits to choose from. Want to know what happened? And want to know how different they are? (or what do they bring to the table), then tune in! In this episode we cover the history of OpenJDK, and uncover the reason of why there are many JDKs out there. We dive in some of the licensing terms (hint. If you are using Oracle JDK 8, make sure you are getting security updates on with a support plan!). Then Bob dives into some very fun differences between OpenJDK, Azul, and OpenJ9... and the tool to "keep sane" with all these installations, SDKMan! So if you do Java development for a living (and even if you are a hobbyist) this episode explains all the different Java versions you can play with! FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!   We thank DataDogHQ for sponsoring this podcast episode Don't forget to SUBSCRIBE to our cool NewsCast! Java Off Heap AdoptOpenJDK - Binary builds of OpenJDK Red Hat OpenJDK Azul OpenJDK (Zulu) IBM OpenJ9 Oracle OpenJDK Oracle COMMERCIAL JDK Oracle JDK License SDK Man SDKMan for Java Java is STILL Free! Do you like the episodes? Want more? Help us out! Buy us a beer! And Follow us! @javapubhouse and @fguime and @bobpaulin
  • Java Pub House podcast

    Episode 89. Kubernetes! (Oh container orchestration)

    1:07:33

    You heard it going around, everybody is talking about Kubernetes, and Minikube, when using Docker, and CLI. It's like a foreign language! While we know Java very well, with the advent of Devops, we are supposed to be Deployers, and Scalability Experts. Well, once you start going down this episode you'll become the DevOps Hero your company was waiting for! Kubernetes is interesting because is a technology that matured almost in tandem with Docker. But Kubernetes is not Docker...Instead Kubernetes manages Docker Containers (among other things). So if you've been wondering what exactly it is? and were afraid (or just didn't know where to start), well, fear no more! We'll unveil all the Kubernetes mysteries FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials! We thank DataDogHQ for sponsoring this podcast episode and providing our Guest Speaker! Don't forget to SUBSCRIBE to our cool NewsCast! Java Off Heap Kubernetes Installing Minikube Kubernetes Concepts Cloud Native Computer Foundation Do you like the episodes? Want more? Help us out! Buy us a beer! And Follow us! @javapubhouse and @fguime and @bobpaulin
  • Java Pub House podcast

    Episode 88. Logging! (An Interview w/Renaud from DataDog)

    1:13:41

    One of the first things that you learn to appreciate when you transition programming from hobby to a way of life is to find a good way to troubleshoot problems. Most of the time this means logging and monitoring, so for this episode we decided to interview Renaud Boutet who is DataDog's VP of Product Manager, and don't worry, he's really a developer that went to the "Management" (i.e. dark) side, so he knows what he's talking about! Diving into topics from Logging Frameworks, to MDC, to a discussion of the three pillars of observability (Metrics, Traces, and Logs), this episode have good advice for everyone. From your first System.out.println ("I'm here") to your slf4j with MDC setup, you'll sure learn new tips and tricks! FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials! We thank DataDogHQ for sponsoring this podcast episode and providing our Guest Speaker! Don't forget to SUBSCRIBE to our cool NewsCast! Java Off Heap Three Pillars of Observability Slf4J Logback Mapped Diagnostic Context Priority Inversion Do you like the episodes? Want more? Help us out! Buy us a beer! And Follow us! @javapubhouse and @fguime and @bobpaulin

Descobre o mundo dos podcasts com a app gratuita GetPodcast.

Subscreve os teus podcasts preferidos, ouve episódios offline e obtém recomendações fantásticas.

iOS buttonAndroid button