Content by Josh Cummings
![](/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp)
Blog Post
The fastest way to generate random numbers in Java (safely!)
Nov 25, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp)
Blog Post
What Happens When I Call a Java Method?
Nov 8, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp)
Blog Post
How do Java collections work? A data structures quick guide
Nov 7, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp)
Blog Post
How to handle (and avoid) NullPointerExceptions in Java
Sep 30, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp)
Blog Post
When should I pick Java? Here are 10 factors to consider
Sep 5, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/ai-cube-robot-hands.png)
Blog Post
GitHub Copilot review: Do AI coding tools boost dev productivity?
Aug 27, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp)
Blog Post
How to initialize an array in Java
Jul 31, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/SummerCampaign_Blog.png)
Blog Post
How to become a software developer (with no prior experience)
Jul 29, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/Java.webp)
Blog Post
How to handle the 10 most common exceptions in Java
Jul 18, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/SpringFramework.webp)
Blog Post
Producing a Prototype REST API with Spring
May 21, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/SpringFramework.webp)
Blog Post
How to use GraphQL in Spring: An easy step-by-step tutorial
May 2, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/SpringFramework.webp)
Blog Post
How to build a REST API in Spring: An easy step-by-step tutorial
May 2, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/DevLearnToCode.webp)
Blog Post
How to optimize Java startup and runtime performance
Apr 18, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/job-security-header.png)
Blog Post
Spring Security: How to get started
Apr 15, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/virus-made-by-robots.png)
Blog Post
ChatGPT: Write me a virus
Apr 15, 2024
![](/content/dam/ps/images/resource-center/blog/header-hero-images/chatgpt%20plugin%20robot%20blog%20header.png)
Blog Post
What is Spring AI, and how to use it: A beginner's guide
Feb 20, 2024
![](/content/dam/ps/images/resource-center/blog/legacy-header-images/JavaLearning.jpg)
Blog Post
How to read Java Bytecode for fun and profit
Jan 31, 2024
![](/content/dam/ps/images/resource-center/blog/legacy-header-images/Java-exception-handling.jpg)
Blog Post
How to throw an exception in Java
Dec 6, 2023
![](/content/dam/ps/images/resource-center/blog/legacy-header-images/JavaLearning.jpg)
Blog Post
Top Java trends of 2023: Project Loom, Spring, new features
Sep 19, 2023
![](/content/dam/ps/images/resource-center/blog/header-hero-images/knight-ai-header.png)
Blog Post
How to defend your organization against GenAI-enabled threats
Sep 11, 2023