З чого складається java stack overflow російською

Будь ласка, допоможіть розібратися зі структурою java бачив ось такий поділ:

З чого складається java stack overflow російською
Виникли наступні питання:

1) Правильно я зрозумів, що Java Core і Java SE це не одне і теж? Завжди вважав що це одне і теж.

2) Як тоді відрізнити, що входить в Java Core, а що в Java SE? Наприклад, виключення куди віднести? BigInteger, BigDecimal? Ну це конкретні приклади, а хотілося б для будь-якого прикладу навчитися відрізняти

3) Здивувало що JavaFX виділена окремо. Все-таки більш традиційно розділяти на Java Se, Java EE, Java ME. Куди при такому поділі відноситься Java FX?

4) Як відрізнити, коли моя програма відповідає Java Se, а коли стає Java EE? Я для себе це розумію так: в Java EE можуть бути присутніми всі що є в Java Core і в Java SE, але коли з'являються технології такі як JSP, JSF, Hibernate і т.д. то стає Java EE.

5) Куди віднести такі речі як Tomcat, Spring? У списку технологій Java EE я їх не знайшов, але і на Java SE це явно не схоже.

6) Яке місце серед цього всього займає, і як взагалі сюди вплітається Java Android?

заданий 12 Лютого '16 о 19:32

А навіщо вам це взагалі відрізняти?) Ну, власне, см.п.1.

Про Java SE написав вище. Java ME - застаріла платформа для мобільних пристроїв. Пам'ятайте іграшки на nokia і siemens? Java EE - це, в першу чергу, набір специфікацій по розробці великих додатків (грубо кажучи, web), а не конкретні класи. Наприклад, Enterprise JavaBeans або вебсокети. Java FX - standalone-додатки з графічним інтерфейсом (swing в FX не входить)

Знову ж, написав вище. Java EE додатки розгортаються в контейнері сервлетів (tomcat) або сервері додатка (glassfish, jboss). Java SE запускаються просто на локальній машині.

Tomcat-контейнер сервлетів. Spring - фреймворк, що пропонує деяку альтернативу java ee. Тобто якщо відповідно до специфікації java ee якесь завдання можна вирішити за допомогою EJB. то spring надає свій власний підхід. А розробник має право сам вирішити що йому більше підходить.

Android. ймовірно, можна виділити так само окремо, як і EE. ME. SE. Тобто для розробки під андроїд є свої специфікації, підходи і платформи.

1-2) Java core це судячи з усього вже застаріла назва того що на цій схемі називається як Lang and Util Base Libraries і Other Base Packages. Якщо подивитися документацію Java Se 6 вона відсилає до списку Base Libraries. тобто можна вважати що Java core == Base Libraries. Але за великим рахунком це знання має мало користі.

3) Цікаве питання, дивіться за цією схемою Java Fx не входить в частину Java SE API, але входить в JDK і в цілому все-таки частина Jave SE Platform.

4) Дивіться Java EE це в основному набір інтерфейсів, які реалізують інші провайдери. Java EE не входить в JDK і потрібно додавати ці класи окремо. Насправді, головний критерій не те Java EE додатки розгортаються в контейнері сервлетів або сервері додатка, а використання Java EE інтерфейсів. Втім все це сильно розмито, так як JPA інтерфейси (на яких заснований Hibernate) або Dependency Injection не використовує тільки зовсім лінивий або в Hello world додатках. По хорошому, чистих Java SE додатків майже не залишилося, з іншого боку справжні Java EE це величезні монстри на weblogic'e або websphere. Для простоти поки у вас невеликий додаток злегка використовує Java EE (на кшталт Hibernate), можете вважати що у вас Java SE c невеликим кол-вом EE, як тільки воно перетворюється в Enterprise монстра - чисте ЇЇ.

5) Тут складне питання з одного боку Spring підтримує EE інтерфейси і інтегрований з багатьма EE рішеннями: JSP, Dependency injection стандарт, JPA, Hibernate і багато іншого. Більш того на сайті проекту сказано "Let's build a better Enterprise.", Тобто в першу чергу це Enterprise рішення. З іншого боку, ніхто не заважає використовувати Spring без зв'язок з EE технологіями або мінімум таких технологій. Більш того можна розглядати Spring як конкурента Java EE, можна як симбіоз з Java EE або частина Java EE рішень, все залежить від кожного окремого випадку. Так що можна сказати що Spring це і EE і SE рішення, як молоток, який можна використовувати щоб побудувати хмарочос, а можна щоб полагодити сарай.

6) Хмм, Java Android взагалі окреме місце, гугл взяв специфікацію Java мови і зробив свою JVM і свою мову, він в цілому сумісний з іншою Java, але не повністю. Оракл давно намагається засудити гугл за використання Java. Так що Android це зовсім інший світ не дуже-то пов'язаний з Java SE або EE.

відповідь даний 12 Лютого '16 о 22:15

Схожі статті