We've Launched "The Suddenly Remote Playbook,"
A Comprehensive Guide for Working Remotely
The Suddenly Remote Playbook
Read Now

Java

Showing 28-36 of 66 results
EngineeringIcon ChevronMobile

Tips and Tools for Optimizing Android Apps

by Tibor Kaputa

The plethora of tutorials on building Android apps may have you thinking that making a mobile app is simple. In reality, however, performance issues can be very complicated, and because performance plays a key role in making sure that your app stays on your users' list of favorite apps for a long time, every little detail must be given full attention. In this article, Toptal Freelance Software Engineer Tibor Kaputa shares some tips on how you can optimize some common performance issues and identify some of the bottlenecks in your Android app.

21 minute readContinue Reading
EngineeringIcon ChevronBack-end

Scaling Scala: How to Dockerize Using Kubernetes

by Michele Sciabarra

Are you a Scala developer hoping to scale your application in the cloud? If so, meet Kubernetes, a cluster manager for Docker applications. Developed by Google, it's the latest in new open source tools making major waves. In this article, Toptal Freelance Software Engineer Michele Sciabarra guides us through a step-by-step tutorial on how to take a generic Scala application and implement Kubernetes and Docker to launch multiple instances of the application.

11 minute readContinue Reading
EngineeringIcon ChevronTechnology

Get Your Hands Dirty With Scala JVM Bytecode

by Sergey Reznick

The Scala language has continued to gain popularity over the last several years, thanks to its excellent combination of functional and object-oriented software development principles, and its implementation on top of the proven Java Virtual Machine (JVM). Creating a language that compiles to Java bytecode requires a deep understanding of the inner workings of the Java Virtual Machine. To appreciate what Scala's developers have accomplished, it is necessary to go under the hood, and explore how Scala's source code is interpreted by the compiler to produce efficient and effective JVM bytecode.

21 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

Clustering Algorithms: From Start To State Of The Art

by Lovro Iliassich

Clustering algorithms are very important to unsupervised learning and are key elements of machine learning in general. These algorithms give meaning to data that are not labelled and help find structure in chaos. But not all clustering algorithms are created equal; each has its own pros and cons. In this article, Toptal Freelance Software Engineer Lovro Iliassich explores a heap of clustering algorithms, from the well known K-Means algorithm to the elegant, state-of-the-art Affinity Propagation technique.

11 minute readContinue Reading
EngineeringIcon ChevronBack-end

Using Scala.js With NPM And Browserify

by Michele Sciabarra

Today, writing applications in languages that compile to JavaScript is a very common practice. Scala developers, for example, can use Scala.js and have the same language for both the server and the client. That said, Scala's compiler and standard dependency management tools are too limiting in the modern JavaScript world. In this article, Toptal Freelance Software Engineer Michele Sciabarra shows us how to integrate Scala.js with the plethora of JavaScript modules available on NPM, using tools like Browserify, and explains how to do this without even having to install Node.js.

11 minute readContinue Reading
EngineeringIcon ChevronBack-end

Introduction to Concurrent Programming: A Beginner's Guide

by Marko Dvečko

Concurrency allows programs to deal with a lot of tasks at once. But writing concurrent programs isn't a particularly easy feat. Dealing with constructs such as threads and locks and avoiding issues like race conditions and deadlocks can be quite cumbersome, making concurrent programs difficult to write. In this article, Toptal Freelance Software Engineer Marko Dvečko gives us an overview of some concurrent programming models. He explains how each of these models gives structure to the programs we write and shows how to avoid certain concurrency issues that can come with these models.

23 minute readContinue Reading
EngineeringIcon ChevronMobile

Android Developer’s Guide to Fragment Navigation Pattern

by Becze Szabolcs

Navigation in mobile applications, when done right, can have tremendous positive impact on overall user experience. Android offers application developers multiple ways of implementing navigation in their application. However, not all navigation patterns are created equal. In this article, Toptal engineer Becze Szabolcs shows us how to implement fragment-based navigation and how it stacks up against Android's traditional navigation philosophy.

8 minute readContinue Reading
EngineeringIcon ChevronBack-end

Caching in Spring with EhCache Annotations

by Cong Liu

EhCache is a widely used, pure Java cache that can be easily integrated with most popular Java frameworks, such as Spring and Hibernate. It is often considered to be the most convenient choice for Java applications since it can be integrated into projects easily. EhCache Spring Annotations allows seamless integration into any Spring application by simply adding annotations to cacheable methods without modifying the method implementations. This article focuses on boosting your Spring applications with EhCache Spring Annotations.

8 minute readContinue Reading
EngineeringIcon ChevronBack-end

Creating Usable JVM Languages: An Overview

by Federico Tomassetti

Java Virtual Machine (JVM), the powerful virtual machine behind programming languages like Java and Scala, provides a platform-independent environment for executing compiled bytecode. Programming languages built for the JVM can be used to write programs that can run on a wide range of platforms without modification and can even leverage all the libraries and frameworks that exist for the JVM. In this article, Toptal engineer Federico Tomassetti presents an overview of the strategy and various tools involved in creating our very own programming language for the JVM.

9 minute readContinue Reading

Join the Toptal® community.