I hereby claim:
- I am nicolaiparlog on github.
- I am nipa (https://keybase.io/nipa) on keybase.
- I have a public key whose fingerprint is 0781 2183 AB52 C901 733B 4D0E CA3B AD2E 9CCC D509
To claim this, I am signing this object:
public class Address { | |
private final String addressLine; // never null | |
private final String city; // never null | |
private final String postcode; // optional, thus may be null | |
// constructor ensures non-null fields really are non-null | |
// optional field can just be stored directly, as null means optional | |
public Address(String addressLine, String city, String postcode) { | |
this.addressLine = Preconditions.chckNotNull(addressLine); |
public class Address { | |
// look ma, no comments required | |
private final String addressLine; | |
private final String city; | |
private Optional<String> postcode; | |
// nobody has to look at these constructors to check which parameters are | |
// allowed to be null because of course none are! |
public class Address { | |
// look ma, no comments required | |
private final String addressLine; | |
private final String city; | |
private final Optional<String> postcode; | |
// nobody has to look at this constructor to check which parameters are | |
// allowed to be null because of course none are! |
package org.codefx.lab.stream; | |
import java.util.Collection; | |
import java.util.Objects; | |
import java.util.Optional; | |
import java.util.function.BinaryOperator; | |
import java.util.function.Supplier; | |
/** | |
* Finds a certain customer in a collection of customers. |
package org.codefx.lab.optional; | |
import java.text.MessageFormat; | |
import java.util.HashMap; | |
import java.util.Map; | |
import java.util.Optional; | |
public class MapGet { | |
private final MapWithGetAsOptional<Integer, String> map = new HashMapWithGetAsOptional<>(); |
Verifying that +nipa is my blockchain ID. https://onename.com/nipa |
I hereby claim:
To claim this, I am signing this object:
public class CallingDifferentSuperMethods { | |
private interface DefaultImplementing { | |
default boolean implemented() { | |
return true; | |
} | |
default boolean overridden() { | |
return true; | |
} | |
default boolean reabstracted() { |
Mit Project Jigsaw und Java 9 wird die Plattform modular. Das soll Sicherheit, Performance und Skalierbarkeit verbessern.
Aber nicht nur das JDK selbst, sondern auch Bibliotheken und Anwendungen steht der Weg in die Modularisierung offen. Mit dem Verlassen des fragilen Class Path soll der JAR Hell entkommen und die Wartbarkeit großer Anwendungen deutlich verbessert werden.
Die Vorträge zeigen die wichtigsten Features von Project Jigsaw anhand des Beispiels der Modularisierung einer bestehenden Anwendung:
package org.codefx.lab.aliquot; | |
import com.google.common.collect.ImmutableSetMultimap; | |
import org.junit.Test; | |
import java.util.Collection; | |
import java.util.List; | |
import java.util.stream.IntStream; | |
import static java.lang.Math.sqrt; |