twisted java -...
TRANSCRIPT
![Page 1: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/1.jpg)
TwistedJava
![Page 2: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/2.jpg)
TheCodersBreakfast.net
github.com/OlivierCroisier
@OlivierCroisier
Olivier Croisier
Freelance
Moka Technologieshttp://mokatech.net
Expert Java certifié & FormateurSpeaker, Blogger
SPEAKER
![Page 3: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/3.jpg)
long foo = 32l;long bar = 123;
long foobar = foo + bar;System.out.println(foobar);
HUH ?
// 155
![Page 4: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/4.jpg)
● Valeurs littérales entières → int flottantes → double
● Suffixe L → typage en long D → typage en double
● Toujours utiliser un suffixe en majuscules
HUH ?
![Page 5: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/5.jpg)
![Page 6: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/6.jpg)
HUH ?
public void businessMethod() {
See : http://jira.company.com/bug-1234 fixForBug1234();
}
![Page 7: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/7.jpg)
HUH ?
● 2 labels + 1 commentaire
● Label = nom + ":"Permet de sortir des boucles
See: http: //jira.company.com/bug-1234
outerLoop: for (…) { for (…) { if (…) break outerLoop; }}
![Page 8: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/8.jpg)
![Page 9: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/9.jpg)
HUH ?
public final static Singleton ĽINSTANCE = new Singleton();
![Page 10: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/10.jpg)
HUH ?
● Caractère Unicode : Ľ● U+013D : "LATIN CAPITAL LETTER L WITH CARON"
public final static Singleton ĽINSTANCE = new Singleton();
![Page 11: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/11.jpg)
![Page 12: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/12.jpg)
WAT ?!
<X> X X(X X) {return X;}
![Page 13: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/13.jpg)
● Namespaces– Variable de type– Utilisation des types– Nom de méthode
<X> X X (X X) {return X(X);}
WAT ?!
![Page 14: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/14.jpg)
![Page 15: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/15.jpg)
(o) -> o <- (o)
WAT ?!
![Page 16: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/16.jpg)
● Predicate<Integer> foo = o → o < -o;
(o) -> o <- (o)
WAT ?!
![Page 17: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/17.jpg)
![Page 18: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/18.jpg)
WAT ?!
int foo = $(this::foo);
![Page 19: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/19.jpg)
WAT ?!
int foo = $(this::foo); // foo = 42
private int foo() { return 42;}
private int $(Supplier<Integer> s) { return s.get();}
![Page 20: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/20.jpg)
![Page 21: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/21.jpg)
public class Pojo {
void foo(Pojo this, String that) { }
void bar(String that) { foo(that); }
}
FUUU !!!
![Page 22: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/22.jpg)
● "Receiver type"– Premier paramètre– Type de la classe– Nommé this
● Support d'annotations● Analyse statique
FUUU !!!
![Page 23: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/23.jpg)
![Page 24: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/24.jpg)
FUUU !!!
/**/@/** * IMPORTANT ! * Computes the Answer * Warning : might be long. * * @param args Important data * @returns The Answer */parallel int compute(int... args) { return 42;}
![Page 25: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/25.jpg)
● Annotation● @ séparable de son nom
private static @interface parallel {}
FUUU !!!
![Page 26: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/26.jpg)
![Page 27: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/27.jpg)
CONCLUSION
![Page 28: Twisted Java - thecodersbreakfast.netthecodersbreakfast.net/public/2017-04-14_Twisted_Java/Twisted_Java.pdfExpert Java certifié & Formateur Speaker, ... ... private static @interface](https://reader031.vdocuments.mx/reader031/viewer/2022022600/5b3f23c37f8b9a4b3f8bc8a2/html5/thumbnails/28.jpg)
TheCodersBreakfast.net
github.com/OlivierCroisier
@OlivierCroisier
Olivier Croisier
Freelance
Moka Technologieshttp://mokatech.net
Expert Java certifié & FormateurSpeaker, Blogger
CONCLUSION