
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.htmlJava 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.
')

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-industryPassions 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.htmlThe 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:

2. Read
2.1. The collection of materials on the insides of HotSpot
Link :
https://wiki.openjdk.java.net/display/HotSpot/PresentationsJVM 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#.obyfqnjbsThe 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.htmlYegor 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:

4.3. If you are going to clean up your project ...
... then remember that maybe someone already did it before you.

Source:
https://twitter.com/swardley