Pull to refresh
229.6

Java *

General-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible

Show first
Rating limit
Level of difficulty

Spring Cloud Gateway: The Single Point of Entry or Failure – a Path to Non-Blocking API Gateway

Level of difficultyHard
Reading time20 min
Views3K

Hello Habr! My name is Nikita Letov. I am a tech lead of backend development in remote banking services for individuals (or retail department) of Rosbank. In this article I will describe what a point of entry to an app is, when it becomes vital, and how API Gateway can help you. We'll review a traditional blocking pattern based on Netflix Zuul 1.x gateway with all its problems of using, then reactive Spring Cloud Gateway and difficulties of moving to it. Finally, we'll compare these two approaches.

Read more
Total votes 2: ↑2 and ↓0+2
Comments0

How to Use Throw and Throws in Java

Level of difficultyEasy
Reading time2 min
Views1.9K

Exception handling in Java is the most effective way to handle runtime errors occurring in the application. This is used to protect the abnormal flow of the execution of the application and continue the application in normal flow. This is the process of handling runtime errors such as ClassNotFoundException, IOException, etc. The throw and throws keywords are used to handle exceptions in Java.
In this topic, we will learn how to use throw and throws keywords in Java with examples.

Read more
Total votes 3: ↑3 and ↓0+3
Comments0

Spring Boot Mapping

Level of difficultyEasy
Reading time1 min
Views2K

The platform is designed for those who want to enhance their knowledge with simplicity. Programming tutorials and examples written in simple, understandable language for beginners and experienced. Spring Java tutorials provides well contents to learn java, spring framework and also the architecture of spring technology for professionals.

Read more
Rating0
Comments0

List in Java | Interface, Methods, Example

Level of difficultyEasy
Reading time4 min
Views2.1K

In this topic, we will learn about what is a List in Java. How to create a List in Java? What are the methods of List in Java? The List is an interface in Java. It is extending the Collection interface in Java. This List interface is present in the java.util package in Java. A list represents a group of individual objects as a single entity where duplicates are allowed and insertion order is preserved.

Read more
Rating0
Comments1

Create a native Kotlin application with Spring Boot Native, Gradle, and GraalVM without Docker for MacOS and Windows

Level of difficultyMedium
Reading time11 min
Views2.3K

In this tutorial, I want to talk about the practical experience of native compilation of a production application written in Kotlin with Spring Boot and Gradle using GraalVM. I’ll start right away with the pros and cons of the native compilation feature itself and where it can be useful, and then I’ll move directly to the build process for MacOS and Windows.

At the end of the article, in the afterword block, I will talk in more detail about the project and why such a need arose, given quite a few limitations and pitfalls of supporting native compilation both from Spring Boot and from GraalVM.

Read more →
Total votes 3: ↑3 and ↓0+3
Comments0

Best distributed task scheduling framework — Openjob 1.0.7 released

Reading time5 min
Views1.6K

Openjob is a new  distributed task scheduling framework based on Akka architecture. Supports multiple cronjob, delay task, workflow, lightweight distributed computing, unlimited horizontal scaling, with high scalability and fault tolerance. Also has complete management, powerful alarm monitoring, and support multiple languages

Read more
Total votes 3: ↑3 and ↓0+3
Comments0

Making Java 8 aware of Let's Encrypt root certificate

Level of difficultyEasy
Reading time3 min
Views2.3K

When using older version of Java with not updated truststore, you may face an error while connecting to web hosts, that Java is unable to find a valid certification path to the requested target.

This happens because JRE truststore is unaware of the new root certificate that is being used by Let's Encrypt nowadays. Below I tried to clarify detail behind this issue and how to solve it. I hope newcomers might find this material helpful.

Read more
Rating0
Comments5

More powerful and intelligent task scheduling framework — Openjob 1.0.6 published

Reading time3 min
Views1.2K

Openjob is a new  distributed task scheduling framework based on Akka architecture. Supports multiple cronjob, delay task, workflow, lightweight distributed computing, unlimited horizontal scaling, with high scalability and fault tolerance. Also has complete management, powerful alarm monitoring, and support multiple languages

If you are looking for a high-performance distributed task scheduling framework that supports cronjob, delay task, lightweight computing, workflow, and supports multiple programming languages, then Openjob is definitely the way to go.

Read more
Rating0
Comments1

How Java works with fonts

Level of difficultyEasy
Reading time3 min
Views3.6K

Hello!

In this article, I will try to briefly describe how Java Virtual Machine works with fonts. Once I needed to change the font used by the JVM and, surprisingly, found only pieces of legacy information about this. I spent a little time investigating the problem and now want to share this information with anybody who could find it useful. Feel free to leave any comments :)

Read more
Rating0
Comments1

On the difference between regular functions and Lambdas

Level of difficultyMedium
Reading time11 min
Views3.1K

The point of this article is to explore Lambda functions, their dirrerences from regular functions and how they are implemented, based on C++, Python and Java programming languages.

Throughout this article I will be using godbolt.org to compile code and see machine code or byte code.

Read more
Total votes 2: ↑2 and ↓0+2
Comments2

«Divide and Conquer» for OpenStreetMap world inside PostgreSQL

Level of difficultyMedium
Reading time28 min
Views1.7K

I will continue the story "How to put the whole world into a regular laptop: PostgreSQL and OpenStreetMap" with secrets about OpenStreetMap geodata, on which many companies have built their business, but not everyone shares the details... Well, today we will open crucial details.

The OSM database in PosgreSQL after loading from the dump takes up more than 587 GB. This is already a large database by the standards of a DBMS, and one huge table for each type of object will not work. For manageability, such data must be partitioned, it's good that PostgreSQL supports declarative data partitioning. It remains only to figure out how to split geographical data. After searching and comparing, the H3 hierarchical hexagonal geospatial indexing system came to rescue. All this was implemented in my openstreetmap_h3 project for fast processing and loading of the world dump into the PostGIS database.

I considered following options from geopartitioning systems...

Read more
Rating0
Comments0

How to put the whole world into a regular laptop: PostgreSQL and OpenStreetMap

Level of difficultyEasy
Reading time12 min
Views2.9K

When a person used to say that he controls the whole world, he was usually placed in the next room with Napoleon Bonaparte. I hope that these times are in the past and everyone can analyze the geodata of the entire Earth and get answers to their global questions in minutes and seconds. I published Openstreetmap_h3 - my project, which allows you to perform geoanalytics on data from OpenStreetMap in PostGIS or in any query engine that can work with Apache Arrow / Parquet.

First of all, I say hello to the haters and skeptics. What I developed is really unique and solves the problem of transforming and analyzing geodata using the usual and familiar tools available to every analyst and data science specialist without bigdata, GPGPU, FPGA. What looks easy to use and code now is my personal project where I have invested my vacations, weekends, sleepless nights and a lot of personal time over the past 3 years. Maybe I will share the background of the project and the rake that I went through, but first I will still describe the end result.

Read more
Total votes 8: ↑8 and ↓0+8
Comments0

From Zero to Hero: LeetCode

Level of difficultyMedium
Reading time8 min
Views26K

This is a translation of my article in Russian

In this article, I want to write about my experience of interacting with the LeetCode platform, and describe my preparation for an interview in FAANG similar companies by breaking it down into levels.

The whole article is written based on my experience, the numbers are very rough, I do not pretend to be objective, perhaps there are best practices on how to solve LeetCode problems, it would be cool if you share your experience in the comments.

Read more
Total votes 3: ↑3 and ↓0+3
Comments0

Message broker selection cheat sheet: Kafka vs RabbitMQ vs Amazon SQS

Level of difficultyMedium
Reading time6 min
Views10K

This is a series of articles dedicated to the optimal choice between different systems on a real project or an architectural interview.

At work or at a System Design interview, you often have to choose the best message broker. I plunged into this issue and will tell you what and why. What is better in each case, what are the advantages and disadvantages of these systems, and which one to choose, I will show with several examples.

Read more
Total votes 4: ↑3 and ↓1+4
Comments0

Authors' contribution