This course teaches you the hands-on, nitty gritty details of the JVM and Clojure/Java interop that you would pick up after many years of programming Java. It combines videos with reference sheets to give you easy access to the accumulated skills of years of experience. With this course, you won’t have to worry about stack traces, JVM options, or the standard library again.
Screencasts, Whiteboards, and Slides produced to help you learn
People know about the immutable data structures and the STM. But there’s something going on at a much deeper level that is really hard to get right in Java. It has to do with the optimizations the JIT will run on your code.
Clojure startup times suck. Let’s just be honest. How do Clojure programmers live with that? Maybe that’s the wrong way to think about it.
When you’re working at a company, you usually inherit their deployment system. And that’s great because then you just do what they do. But what if you are on your own? What are the options for deploying a Clojure server?
The JVM JIT is a highly optimized compiler. I present some resources for learning what it does.
Clojure error messages and stacktraces are the number one most complained-about feature of Clojure. We look at some tips and resources for dealing with them.
Curated selections of courses on a specific topic
Clojure can be an excellent language to learn programming. The following courses should set you on a good path for getting up to speed in Clojure. Be sure to click those checkmarks to track your progress. Start with the best introduction to Clojure out there. It gently guides you through the language with fun exercises. […]
If you’re coming to Clojure from an Object-Oriented Programming background, this page is for you. Be sure to click those checkmarks to track your progress. Start with the best introduction to Clojure out there. It gently guides you through the language with fun exercises. You’ll learn the syntax and the thought processes behind Clojure programming. […]
If you’re looking to watch absolutely all of the courses on this site, I’ve put together a suggested order. Start at the beginning and just watch everything straight through. Be sure to click those checkmarks to track your progress.
Parts of courses on specific topics
Learn how to manage Clojure dependencies using Boot.
Oracle has recently changed their licensing terms. Before, we recommended using Oracle’s JDK build. It was free for commercial purposes. But it’s no longer free. Now we recommend using AdoptOpenJDK.
Java has a good story for reflection: just ask the object for its class and ask the class for a list of methods. Voilà! You know what methods you can call. This lesson demonstrates reflection with some examples.
The Clojure compiler has a few options that can speed up the execution of generated code at the expense of dynamism.
If you’re running a system in production, you’ll want to keep an eye on it 24 hours per day. There are now cloud monitoring options that collect information from your JVM all the time and will send alerts.
Have you ever wanted to solve a problem with your Java app by using Clojure? Have you ever wanted to “sneak in” a dependency on the Clojure JAR but didn’t know what to do with it once it was there? This lesson shows you how to create a Clojure library that you can use from Java.