📜 ⬆️ ⬇️

The digest of interesting events from the world of Java, and around it # 4 (06.06.2016 - 19.06.2016)

image

In this issue


- Do not have time: Java 9 deadlines shift again
- Saving Java EE : Larry Ellison's Petition
- Microsoft buys LinkedIn
- Why disable C2 compilation?
- Holivar: use assert or not?
… and much more

1. News


1.1. Java 9: ​​timeline floats

Link: http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-June/004443.html

Java Chief Architect Mark Reinhold recalled that the planned “feature complete” Milestone dates had already passed, but a number of Java 9 features were still not ready. It's about 15 JEPs. The letter proposes not to raise a panic, but to systematically complete the work, because the main thing is actual readiness, and quality, and not formal deadlines.
')
image

Reasonable approach. However, it is worth recalling that this is not the first shoal with terms. We all know how difficult it is to keep deadlines when developing. But Java is a public product, followed by millions of developers. The mass user will not understand what the Oraklovsky mailstone is , and that, they say, it is loosely tied to dates. This is Oracle's internal kitchen. We were told "it will be to such a number," we stock up on popcorn, and wait. If the promise does not happen, we get upset, and begin to wash the bones. Considering the ongoing deadlines, Oracle makes sense to put pressure on developer relations to minimize reputational costs.

1.2. Saving Java EE: Larry Ellison's Petition

Link: https://www.change.org/p/larry-ellison-tell-oracle-to-move-forward-java-ee-as-a-critical-part-of-the-global-it-industry

Passions continue to boil around Java EE . A group of people who call themselves Java EE Guardians filed a petition to Oracle CEO Larry Ellison , hoping to attract the attention of the company's top management to freeze the development of Java EE.

Personally, I also do not quite understand the Oracle policy about Java EE. It would be very interesting to listen to their comments. If you met them somewhere, please share a link.

1.3. Microsoft buys LinkedIn

Link: http://www.cnbc.com/2016/06/13/microsoft-to-buy-linkedin.html

The amount of the transaction, as is usual in the IT world, is rather modest - some 26.2 billion dollars. Now the brainchild of Bill Geyts will gain control over a huge number of internal Java projects created on LinkedIn over the years. It is possible that some of these developments migrate to new Microsoft projects.

The deal also gave many people the opportunity to flaunt a sense of humor:

image

2. Read


2.1. The collection of materials on the insides of HotSpot

Link : https://wiki.openjdk.java.net/display/HotSpot/Presentations

JVM architect John Rose began collecting materials on the inside of the JVM. So far there are literally a few links, but I hope that this list will grow in the future. So add a link to the "Favorites".

2.2. OpenJDK static analyzer

Link : https://medium.com/@Coder_HarryLee/openjdk-check-by-pvs-studio-f25a2187b8a0#.obyfqnjbs

The guys went to the PVS Studio static analyzers from the OpenJDK sources, and found a decent amount of problems there. Curves checks in if-else expressions, forgotten parentheses, copy-paste, missing checks on NULL, etc ... You can be skeptical about code analyzers, but these soulless machines don't eat their bread for nothing.

2.3. (Do not) use assert!

Link : http://www.yegor256.com/2016/06/17/dont-use-java-assertions.html

Yegor Bugayenko with a sweeping jack sped around the European conferences, making a lot of noise with his radical views on the PLO. Has got to all - and Hiberneytu, and annotations, and much more. The sad fate befell the assertions too. In his latest post, Egor calls for abandoning their use and relying solely on exceptions .

Developer and assert relationships have never been easy. For some, this is “active” documentation and free additional “tests”. For others, this is a deliberate disguise of bugs. Personally, I like assert , and in our project there are a lot of them . There are two simple rules: do not check user input with them, and do not replace tests with them. Follow these rules, and assert will become your reliable assistant.

What do you think about this? Do you use assert in your projects?

2.4. Reduce java memory footrpint

Link : https://blog.buoyant.io/2016/06/17/small-memory-jvm-techniques-for-microservice-sidecars/

The guys from buoyant.io, one of the products starts auxiliary Java-processes. And they really wanted these processes to consume as little memory as possible. In the end, they achieved the desired results by:
- Using 32-bit mode
- C2 power off

The second approach raises questions, but if C1 gives them sufficient performance, then why not?

3. Wisdom


3.1. API design

Throw an exception or return an error code? Give the user a collection or an iterator? Stream processing or model in memory? There are many questions, more solutions. Creating a good API is incredibly hard work.

3.2. External dependencies in the project

A thought that can be salutary for some projects, and destructive for others.

3.3. How to help open source project?

Approval is valid for any project, not just open source. Everyone understands how important good documentation is. But we usually find time to write it with great difficulty.

3.4. About functional programming


4. Humor


4.1. Perhaps the best explanation for map-reduce


4.2. Microservices against monoliths

Hadi Hariri from JetBrains quite clearly explains the key differences between these two architectural approaches: image

4.3. If you are going to clean up your project ...

... then remember that maybe someone already did it before you.
image
Source: https://twitter.com/swardley

Issues: Previous - Next

Source: https://habr.com/ru/post/303604/


All Articles