diff options
Diffstat (limited to 'content/digarden/pages/20210423140620-java.org')
-rw-r--r-- | content/digarden/pages/20210423140620-java.org | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/content/digarden/pages/20210423140620-java.org b/content/digarden/pages/20210423140620-java.org new file mode 100644 index 0000000..25ab171 --- /dev/null +++ b/content/digarden/pages/20210423140620-java.org @@ -0,0 +1,68 @@ +:PROPERTIES: +:ID: cf9a0dd5-561b-4330-bdfd-07689db2dc44 +:END: +#+title: Java + +* Java +** Документация +- [[https://docs.oracle.com/javase/8/docs/api/java/lang/package-tree.html][Иерархия пакетов в Java]] +*** Самая первая версия +http://web.mit.edu/java_v1.0.2/ +** Преимущества +- Статическая типизация. Чуть больше надежности по сравнению с PHP или + Python +- Много библиотек и много работы. +- OpenJDK свободное ПО. +** Недостатки +- Бесполезные геттеры и сеттеры, которые просто сетают поле или просто + тянут поле с тем же именем +- Нет именованных аргументов +- Нет трейтов +- Для рефлексии надо использовать отдельный флаг после Java +- Переусложненный код во многих библиотеках +- Корпоративное влияние на язык скорее всего довольно серьёзное +** Сертификация +*** Подготовка +- https://dev.to/javinpaul/how-to-become-a-certified-java-developer-professionals-1jfb +- https://dev.to/javinpaul/how-to-become-a-certified-spring-developer-professional-in-2022-5f31 + +Высокоуровневый язык программирования со статической строгой типизацией. Имеет +огромную реализацию и стандартную библиотеку. Работает на множестве систем в +частности Windows. Требует предустановки рантайма. + +[[https://docs.oracle.com/javase/tutorial/][Официальная документация]] + +[[https://www.oracle.com/java/technologies/introduction-to-java.html#318][Java Language Envrironment]] +** Видео +- [[https://habr.com/ru/company/golovachcourses/blog/215275/][1000+ часов видео по Java на русском]] +- [[https://github.com/qqqlll/Java-Thread/wiki/Tutorials][Туториалы Java]] +- [[https://www.youtube.com/watch?v=GoXwIVyNvX0][Intro to Java Programming - Course for Absolute Beginners]] +- [[https://www.youtube.com/watch?v=xk4_1vDrzzo][12 часов туториала Java]] +** Преимущества +- 0 не равно False, [] не равно False и т.д. Хорошая логика и практика. +- Настоящее "Явное лучше чем неявное" в отличии от питона +- Традиционное ООП, которое работает на всей уровни системы в отличии от PHP +- Довольно безопасный язык относительно скриптовых и C(++) +** Недостатки +- Пакеты распространяются собранными (почти проприетарщина) +- Сложный процесс бутстрапа + (https://github.com/oriansj/talk-notes/blob/master/ghm-2017/bootstrappable.org) +- Сложный компилятор сам по себе +- Система типов не такая мощная как у ML +- Система типов unsound (https://dl.acm.org/doi/pdf/10.1145/3022671.2984004) +** Сниппеты +*** foreach +#+begin_src java + List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); + + for (int number : numbers) { + number ... + } +#+end_src +** Тулинг +- [[https://en.wikipedia.org/wiki/JDK_Flight_Recorder][Java Flight Recorder]] +** Библиотеки +- [[id:5ade66ca-3d2a-4207-9b8e-50065ce2e77e][Spring]] +- [[https://javaee.github.io/tutorial/toc.html][JavaEE]] +** Книги +- [[https://vk.com/doc26879026_509770285][Философия Java]]
\ No newline at end of file |