Learn about relatively new Java optimization: string concatenation with invokedynamic
Also find me here:
Baeldung Author
Ali Dehghani
Has a BSc in Chemical Engineering and MSc in Information Technology. Except for the major change, nothing else has changed, still, a computer geek who is passionate about all aspects of software engineering looks for elegant and possibly new solutions, eager to learn and hopefully help fellow software geeks to do so.
Here's what I've written (so far):
Baeldung on Java
- All
- JVM (15)
- Java (5)
- Java Concurrency (3)
- Testing (1)
- Spring Persistence (1)
- Spring Boot (1)
- Spring (1)
- Java String (1)
- Java Array (1)
- DevOps (1)
- Artificial Intelligence (1)
- Algorithms (1)
Super Type Tokens in Java Generics
Filed under Java
Learn how to preserve the generic type information at runtime using super type tokens.
An Introduction to Invoke Dynamic in the JVM
Filed under JVM
Learn about invokedynamic and see how it can help library and language designers to implement many forms of dynamicity.
Executors newCachedThreadPool() vs newFixedThreadPool()
Filed under Java Concurrency
Compare the newCachedThreadPool() and newFixedThreadPool() implementations and their use-cases
Guide to RejectedExecutionHandler
Filed under Java Concurrency
Learn about what happens when a thread pool can’t accept any more tasks and how to control this by applying saturation policies
A Guide to Spring’s Open Session in View
Filed under Spring
Learn about Spring’s Open Session In View pattern
Programmatic Transaction Management in Spring
Filed under Spring Persistence
Learn to manage transactions programmatically in Spring and why this approach is sometimes better than simply using the declarative Transactional annotation.
Counting Sort in Java
Filed under Algorithms, Java
Learn about the counting sort and then implement it in Java.
The K-Means Clustering Algorithm in Java
Filed under Artificial Intelligence
Learn about the K-Means clustering algorithm using a real-world dataset from Last.fm
Baeldung on Linux
- All
- Processes (1)
How Long a Linux Process Has Been Running
Filed under Processes
Learn about the ps command-line utility to find out how long a particular process is running.
Baeldung on Kotlin
- All
- Kotlin Strings (8)
- Kotlin Collections (8)
- Kotlin Basics (7)
- Kotlin Classes and Objects (6)
- Kotlin-Java Interop (3)
- Kotlin Functions (3)
- Kotlin Arrays (3)
- Functional Programming (3)
- Kotlin IO (2)
- Kotlin Concurrency (1)
- Kotlin (1)
Why Kotlin lateinit Can’t Be Used With Primitive Types
Filed under Kotlin Basics
Learn why we can’t use late-initialized properties and variables for primitive types in Kotlin
The Difference Between init Block and Constructor in Kotlin
Filed under Kotlin Classes and Objects
Learn the difference between init blocks and constructors in Kotlin along with a peek at the generated bytecode for each case
Returning Multiple Values From Kotlin Functions
Filed under Kotlin Functions
Learn how to use built-in types such Pair and Triple, collection types and arrays, and finally, data classes, to return multiple values.
Writing InputStream to File in Kotlin
Filed under Kotlin IO
Learn a few approaches to copy the contents of an InputStream to a file in Kotlin.
A Guide to @Throws in Kotlin
Filed under Kotlin-Java Interop
Learn how the @Throws annotation facilitates calling Kotlin methods and functions from Java
Removing Duplicate Elements From Collections in Kotlin
Filed under Kotlin Collections
Learn two approaches to remove duplicate elements from a collection or array
Copying a List in Kotlin
Filed under Kotlin Collections
Learn a couple of ways to copy the contents of a List to another one in Kotlin
Removing All Non-Alphanumeric Characters in Kotlin
Filed under Kotlin Strings
Learn a few ways to remove all non-alphanumeric characters from a string in Kotlin
Copy a Map in Kotlin
Filed under Kotlin Collections
Learn a couple of ways to copy the contents of a Map to another one in Kotlin