Hardcore Java /JVM tasks

Hardcore Java /JVM tasks Performance problems from the Contour already were , it's our turn: we present hardcore tasks from the Java conference JBreak 201? aka " hell from Excelsior ".
The tasks are given in original formulations, in each problem there can be several correct answers, and for each problem a solution is given under the spoiler.
Problem 1
Your colleague read the Java Language Specification and wrote the following:
void playWithRef () {
Object obj = new Object ();
WeakReference ref = new WeakReference <>(obj);
System.out.println (ref.get ()! = Null);
System.gc ();
System.out.println ...

Parsing performance tasks with JBreak (Part 2)

Only the passions with subsided. the first part of analysis, published last week, as a public continuation: today we will talk about the second task.
The second task code is
String format (String user, String grade, String company, String message) {
return String.format (
"He,% s, came up with such% s tasks. I'll come to the booth% s and tell him% s",
user, grade, company, message);
String format (String user, String grade, String company, String message) {
return "He," + user
+ ", came up with such" + grade
+ "tasks .I will come to the stand" + company
+ "and tell him" + message;
String ...

Release of Apache Ignite 2.4 - Distributed Database and Caching Platform

On March 1? 201? 4 months after the last version, Apache Ignite 2.4 was released. This release is notable for a number of innovations: support for Java ? multiple optimization and SQL improvements, support for a neural network platform, a new approach to building a topology when working with a disk, and much more.
Apache Ignite Database and Caching Platform Is a platform for distributed data storage (optimized for active use of RAM), as well as for distributed computing in near real time.
Ignite is used where it is necessary to process very quickly large data streams that are too tough ...

Alexey Ragozin about Java Mission Control on jug.msk.ru

March 1? 2018 was the first in this season meeting of the Moscow community of Java developers jug.msk.ru . Alexey Ragozin conducted a master class on the use of Java Mission Control . How was the meeting, what exactly was told on it, how the participants took the report - about all this further.
Alexey Ragozin about Java Mission Control on jug.msk.ru


About the speaker

Alexey performed at jug.msk.ru for the fourth time. On the impressions of his previous performances, you can read ...[/h]

Platform CUBA: Roadmap 2018

As I promised in the last post , I am pleased to present the plan for the development of the Platform for this year. This is a strategic plan, in which we have included only major changes, but there will certainly be hundreds of minor improvements.
Disclaimer: This plan is not a dogma, and we will certainly implement something beyond it, but something we will postpone. However, in general, we are going to adhere to this plan, and we suggest that the development community on the CUBA Platform also focus on it.
Teaser: CUBA Studio will be built into IntelliJ IDEA!
So, let's go!
Platform CUBA: Roadmap 2018 ...

Google leanback is the care of the big brother

Good afternoon, readers of the Habr. I would like to share my experience developing an application for Android TV on the example of DetailsFragment.
Google leanback is the care of the big brother
There are official examples of here and official documentation here . What motivated me to express my opinion? This is that official examples do not meet modern requirements for development, for example, modularity and extensibility. Sometimes a kind of ambiguity is created when using this or that mechanism. Let's consider in more detail DetailsFragment.
In order to start developing your application for the android platform, in my opinion...

Performance and runtime at the conference JPoint 2018

Performance and runtime at the conference JPoint 2018We all have some expectations from the conferences. Usually we go to a very specific group of reports, quite specific subjects. The set of topics differs from platform to platform. That's what javists are interested in:
Virtual machines and 3 r3r3153 runtime features.  
JDK 9/10 /
Large data and machine learning
JVM languages ​​(including Kotlin)
Various small topics
The program of the conference is drawn up so that for each of the topics one tries to select at least one good report. JPoint is held for two ...

Java and Project Reactor

Java and Project Reactor
Hello! My name is Lyokha, and I work as a backend developer in FunCorp. Today we will talk about reactive programming, the Reactor library and a little about the web.
Reactive programming is often "exposed", but if you (like the author of the article) still do not know what it is - sit back, try to figure it out together.
these are your manifestos with details of , but worth it.
And here is the web?
There are rumors that if you build your system reactively, according to all the canons of Reactive Manifesto, starting with the HTTP server and ending with the database driver, you can call the second ...

"I'll have to write it myself. They sat down and wrote ": the life of the developers of the laboratory cluster of supermassives in Sbertech

There is a myth that banks are very rigid structures, in which there is no place for experiment. To disprove this myth, we conducted a short interview with Valery Vybornov, head of the department for the development of a laboratory cluster of supermassives in Sberbank-Technologies. In their team, they are not afraid to use the full power of Scala, Akka, Hadoop, Spark, and even write prototypes for Rust.
"I'll have to write it myself. They sat down and wrote ": the life of the developers of the laboratory cluster of supermassives in Sbertech
The main questions:
Discussion of an example of a pilot project (working with a social graph) with technical details;
Used languages ​​and technologies (Scala, Akka, Hadoop, Spark, Rust, etc.);
Can ...

Binary-ternary bit magic

There is a classical problem for interviews, often formulated as follows:
There is an array of natural numbers. Each of the numbers is present in the array exactly twice, and only one of the numbers does not have a pair. It is necessary to propose an algorithm that, for the minimum number of passes through the array, determines a number that does not have a pair.
I suppose no one will be offended if I immediately bring up the solution of the problem: the unique element will coincide with
Binary-ternary bit magic
-sum of all elements of the array, calculated in linear time.
I propose to think about another variation of this problem...