Что можно написать на Java?
Java — популярнейший язык программирования. Найти информацию о том, по каким причинам Java сегодня так известен и востребован, совсем несложно. Но лучше всего доказать эту востребованность на примерах конкретных приложений, которые можно написать на данном языке.
Cерый кардинал промышленной разработки
Многое из того, что сегодня видит рядовой пользователь вокруг себя, «лежит на поверхности» и написано на других языках. Для разработки сайтов используют HTML, CSS, JavaScript, PHP, Python, Ruby. Для создания игр прекрасно подходит C++. Для разработки операционных систем, драйверов, компьютерного «железа» нередко используют C, который без плюсов. В результате некоторые думают, что Java не так уж и незаменим, как принято думать. На деле ситуация обстоит совершенно иначе.
Java невидим для большинства рядовых пользователей, однако приложения, написанные с его помощью, спокойно выполняют свою работу, которая порой бывает весьма сложна. Например: 1. Отслеживание движения самолётов и систем жизнеобеспечения, регулировка, отсылка предупреждений и всё то, что в конечном итоге видит на своём мониторе диспетчер авиаслужбы, выполняется с помощью Java. 2. Распределение покупки билетов, работа банковских систем, через которые проходят миллиарды, электронная коммерция — и здесь без Java не обходится. 3. Управление бизнесом и людьми в компаниях и корпорациях, CRM, ERP — всё это тоже не может функционировать без сложных, а порой и гигантских программ, написанных на Java.
Собственно говоря, везде, где присутствует средний и крупный бизнес, есть «Джава».
Таким образом, приложений на «Ява» пишут очень много, и большинство из них отвечают за эффективную работу предприятий. Можно сказать, что программы, написанные на этом языке, приносят максимальный доход. И именно в этом-то и заключается одна из важнейших причин высоких заработных плат Java-разработчиков.
Но, как известно, крупный бизнес не всегда охотно показывает свою внутреннюю кухню, поэтому непосвящённому человеку может показаться, что Java непублична и используется недостаточно широко. Однако по утверждениям некоторых специалистов «Джава» является ни чем иным, как серым кардиналом программирования, особенно когда речь идёт о промышленной разработке. И сейчас мы это докажем на примерах.
Крупные игроки IT-рынка выбирают Java
За привлекательным фасадом какого-либо сайта может находиться огромное приложение, которое требует тысячи человеко-часов на разработку и техническую поддержку. И самые сложные программы принято писать именно на Java. Связано это с тем, что крупные проекты редко бывают монолитами и используют лишь одну технологию для бэкенда (
На сегодняшний день на Java написано очень много. Вот лишь некоторые из известных проектов, где велика доля Java-кода:
• Ebay. Крупнейший интернет-аукцион, в основе архитектуры которого именно Java;
• Amazon. Международный интернет-магазин и площадка для других магазинов, использующий возможности Java для создания архитектуры и масштабирования;
•
Игры и мобильные приложения
Вот тут действительно много чего написано на Java, ведь, если где и можно разгуляться, так это в разработке программ под ОС
Как многие знают, Android-разработчик на Java уже давно является отдельной профессией, да и что там греха таить — сама операционная система неплохо простимулировала развитие языка в целом.
В итоге сегодня у начинающих Java-программистов есть неплохой выбор: изучив Java Core, вы можете углубиться либо в промышленную (Java Enterprise), либо в мобильную разработку (Android API).
Остаётся добавить, что значительная часть самой ОС Android тоже ведь написана на Java.
А как обстоят дела с крупными играми?
Известных и больших 3D-игр класса «А» на Java написано не очень много. Но это не потому, что возможности языка не позволяют это сделать. Да, некоторые проблемы с геймдевом присутствуют, но они вполне решаемы. Основная причина в другом: исторически сложилось, что наиболее мощные игровые движки написаны для применения с C++.
Но есть у Java и то, чем можно гордиться — Minecraft. Это любимая игра, тех, кто родился в конце 90-х, начале 2000-х. Нельзя не вспомнить и другую MMORPG, попавшую в Книгу рекордов Гиннеса по причине зашкаливающего количества игроков — RuneScape. Между прочим, эта игра жива и по сей день.
От нашего двора вашему
Говоря о том, что же пишут на Java, мы забыли поговорить о приложениях
Но и это ещё не всё
Вот ещё пару примеров приложений, где без «Джавы» не обошлось: 1. OpenOffice — кроссплатформенный и универсальный офисный пакет. 2. BookSmart — бесплатное программа для создания книг, фотоальбомов. 3. MATLAB — платформа и среда разработки для научных вычислений. Java + C. 4. UltraMixer — популярный софт для диджеев. 5. ImageJ — программа с открытым исходным кодом, анализирующая и обрабатывающая изображения. 6. Processing — подъязык программирования, который основан на Java. Даёт возможность легко писать мультимедийные программы, подключается в качестве библиотеки Java. 7. LWJGL — библиотека для работы с OpenGL. Рассчитана на тех, кто хочет писать игры под Java. 8. NetBeans Platform — Java-фреймворк, на котором написано множество «тяжелых» Enterprise-приложений: Nato MICE Console, Boeing Mass Properties Toolkit.
Что же, выучив этот язык программирования, вы точно не останетесь без работы. Так что записывайтесь на наши курсы!
Java: что нужно знать
Может показаться, что Java — абсолютный лидер и у неё нет соперников, но на самом деле всё совсем наоборот. Её часто сравнивают с С# и Python, и это только главные «противники». Давайте посмотрим на них внимательнее.
Java и Python соревнуются не первый год: в рейтингах они раз за разом занимают места рядом друг с другом (вот рейтинг 2019 года). Сравнивают их не просто так, у них действительно есть общие черты: оба языка очень популярные, объектно-ориентированные и работают вне зависимости от платформы.
Давайте посмотрим, что у них различается.
У Java статическая типизация: вы должны прописывать тип данных, когда вводите новую переменную.
У Python динамическая типизация: это значит, что типы данных не надо прописывать, они определяются автоматически. Ещё одно отличие типизации: в Python разные типы переменных можно смешивать. Но и тут есть свои границы: например, вы можете сделать массив со строками и числами, но прибавить строку к числу уже нельзя.
Python даст вам больше гибкости и лёгкости в написании, зато Java предупредит ошибки.
Этот пункт связан с предыдущим, потому что то же указание типов влияет на конечный вид кода. Хотя у Java достаточно простой синтаксис по сравнению с другими языками, здесь Python выигрывает. Гораздо лучше слов эту разницу покажет пример.
Вот так может выглядеть код в Python:
То же самое, написанное в Java:
В целом у синтаксиса в Python простая ясная структура, он хорошо читается, его можно даже назвать интуитивным. Он хорошо подойдёт новичкам.
В Java код более комплексный, со множеством слов и знаков: на английском такой синтаксис называют словом «verbose», то есть «говорливый» код, многословный. Он хуже читается и может быть сложноват для новичков, хотя многие разработчики чувствуют себя комфортнее со строгим синтаксисом.
Здесь уже Java явный победитель. По сравнению с С и С++ она, может, и не самая быстрая, но Python явно отстаёт от Java по скорости и производительности. В обоих языках приложения переводятся в байт-код (это позволяет им быть кроссплатформенными), но разница кроется в том, когда это происходит: Java компилирует заранее, с помощью JIT-компиляции (динамической компиляции), а Python — во время выполнения программы. В итоге Java значительно быстрее.
Пишем код на Java и Go в текстовом редакторе | GeekBrains
Как обойтись без интегрированных сред разработки (IDE) в несложных задачах
https://d2xzmw6cctk25h.cloudfront.net/post/2146/og_image/4dac0fbf4224be47f571866beed8a2a3.png
Перед нами промышленная хлеборезка итальянской компании Brevetti Gasparin srl, модель 1700. Её производительность — от 16 до 60 булок в минуту:
.
А вот обычный нож для хлеба:
Чем мы воспользуемся, если захотим сделать пару бутербродов? Ответ очевиден. Инструмент должен соответствовать задаче.
Отдавая должное интегрированным средам разработки (IDE), таким как IntelliJ IDEA, Eclipse или NetBeans, стоит отметить, что в ряде случаев текстовый редактор будет более удачным выбором. Например, если мы только начинаем изучать тот или иной язык программирования, и хотим сосредоточиться именно на нём, а не на освоении IDE. Или когда нужно быстро написать что-то простое и небольшого объёма. Применение IDE тут будет явно
Поэтому сейчас мы рассмотрим три текстовых редактора, которые можно использовать для написания и запуска кода на языках Java и Go.
Редакторы выбирались по следующим критериям:
- Открытая лицензия, возможность бесплатного использования.
- Настраиваемая подсветка кода.
- Наличие системы плагинов или пакетов, позволяющих автоматизировать компиляцию и запуск написанных в редакторе программ.
- Кроссплатформенность — возможность использовать редакторы в трёх основных операционных системах: Windows, Linux, Mac. Небольшая оговорка: третий рассмотренный редактор, Notepad++ единственный не до конца соответствует этому требованию, однако полностью соответствует первым трём.
Atom
- Официальный сайт: www.atom.io
- Разработчик: GitHub
- Лицензия: MIT, открытая
Atom – современный кроссплатформенный текстовый редактор с открытым исходным кодом для Linux, macOS и Windows, с поддержкой плагинов, написанных на Node.js и встраиваемых под управлением Git. Впервые был опубликован в 2014 году. Описывается как “A hackable text editor for the 21st Century” (Текстовый редактор с хаками для 21-го века). Обладает развитой системой пакетов для расширения функциональности.
Достаточно полную инструкцию на русском языке по установке и настройке можно найти в блоге Harrix. Мы же рассмотрим минимальный набор действий — то, что необходимо для комфортного написания и запуска кода, сразу после установки редактора.
Начнём с изменения размера табуляции. Пройдём от главного меню: File → Settings → Editor, пролистываем вниз до пункта Tab Length и вместо цифры 2 указываем 4.
Для компиляции и запуска Java и Go файлов нам потребуется дополнительный пакет Script. Устанавливаем, пройдя от главного меню File → Settings → Install. В окошке Search packages вводим название пакета Script и нажимаем кнопку Packages. У найденного таким образом пакета нажимаем кнопку Install.
Ожидаем окончания загрузки и установки – когда у пакета появятся кнопки Settings, Uninstall, Disable.
Нажимаем кнопку Settings и для параметра Default Working Directory (CWD) Behavior выбираем значение Directory of the script.
Теперь мы можем запускать компиляцию и выполнение кода на Java и Go нажимая сочетание клавиш Ctrl+Shift+B.
Добавим небольшой косметический штрих. Найдите в своей папке пользователя папку с именем .atom, зайдите туда и откройте в редакторе (в том же Atom) файл styles.less. Добавьте в его конец приведённый ниже фрагмент. Размер шрифта в консоли Script станет больше.
// style Script console .script-view .line { font-size: 14px; }
Ещё один совет. Чтобы Atom сохранял вкладки с файлами, начните работу с выбора папки проекта File → Open Folder…, указав папку с файлами, которые собираетесь редактировать.
Geany
- Официальный сайт: www.geany.org
- Разработчик: Geany e.V.
- Лицензия: GNU GPL, открытая
Geany – стабильный и лёгкий кроссплатформенный текстовый редактор с открытым исходным кодом для Linux, Windows, MacOS, BSD и Solaris. Первая версия вышла в 2005 году.
Простой интерфейс, основанный на GTK+, выглядит не так современно и элегантно, как у Atom. Зато для работы с Java и Go этот редактор готов сразу после установки и не нуждается ни в каких дополнительных настройках.
Для компиляции файла на Java достаточно нажать на панели кнопку Compile или клавишу F8. Для выполнения откомпилированного байт-кода нажимаем кнопку Execute или F5. Консоль с результатами выполнения открывается в отдельном окне.
Для запуска кода на Go достаточно одной кнопки Compile или клавиши F8.
Notepad++
- Официальный сайт: www.notepad-plus-plus.org
- Разработчик: Don Ho
- Лицензия: GNU GPL, открытая
Notepad++ – лёгкий и быстрый текстовый редактор с открытым исходным кодом. К сожалению, он не кроссплатформенный и доступен только для Windows.
Достаточно подробную инструкцию по его настройке можно найти в нашем блоге, здесь мы рассмотрим основные моменты.
После установки в меню Settings → Style Configurator…, выделив в списках пункты Global Styles и Default Style, можно настроить семейство и размер шрифта редактора. Там же есть возможность сменить тему целиком: “Select theme”.
Устанавливаем табуляцию 4 пробела, согласно Java Code Conventions: Settings → Preferences…, выделяем пункты Language и Java и включаем чекбокс Replace by space.
Для автоматизации компиляции и запуска кода скачиваем и настраиваем плагин NppExec. По ссылке представлены несколько версий, у меня установлен v0.5.9.9 dev. Разрядность плагина (x64 или x86) выбираем согласно разрядности установленного Notepad++. Скачав zip-архив, достаём из него файл NppExec.dll и копируем в папку плагинов. В моём случае полный путь к этой папке выглядит так – C:\Program Files\Notepad++\plugins\NppExec\. После этого запускаем (или перезапускаем) Notepad++.
Настраиваем плагин, пройдя Plugins → NppExec:
В меню плагина включаем пункты:
- No internal messages
- Save all files on execute
- Follow $(CURRENT_DIRECTORY)
Затем добавляем команды компиляции, сначала для Java. Нажимаем Plugins → NppExec → Execute или просто нажмём F6. Наберём в окне Command(s) следующие команды (скрипт):
javac $(FILE_NAME) if $(EXITCODE) !=0 goto exit java $(NAME_PART) :exit
Как видим, первая строка вызывает компилятор для редактируемого файла. Вторая строка обеспечивает «обход» команды вызова виртуальной машины (в третьей строке) в случае компиляции с ошибками.
Нажав на кнопку Save…, введём в поле Script name название нашего скрипта – «java». Теперь, при редактировании, достаточно нажать сочетание клавиш Ctrl+F6 чтобы вызвать этот скрипт.
Теперь можно попробовать добавить другой скрипт, например, для Go. Нажимаем F6, вводим предложенную ниже строку и сохраняем этот скрипт под именем “go”.
Ещё одно «к сожалению»: в редакторе отсутствует подсветка синтаксиса языка Go по умолчанию. Однако это легко преодолеть, воспользовавшись советами со stackoverflow.com.
Резюме
Рассмотрев три простых текстовых редактора, мы убедились, что процесс их настройки для написания кода на Java и Go занимает считанные минуты. Так что добро пожаловать в мир лёгких и доступных инструментов для программистов. Пробуйте и получайте удовольствие.
Меня можно найти в Telegram под ником @biblelamp или на сайте GeekBrains. Буду рад любым замечаниям, пожеланиям и дополнениям.
Для тех, кто только начинает свой путь в Java и Go, у нас в блоге есть ещё кое-что интересное:
Если же вы хотите получить полноценное системное образование, ждём вас на факультетах Java и Go в Geek University!
Самоизоляция закончилась, а значит — самое время освоить новую профессию, чтобы уверенно смотреть в будущее при любых обстоятельствах! Мы хотим помочь вам и с 1 по 31 августа 2020 г. дарим скидку 40% почти на все программы обучения GeekBrains. Будьте здоровы и успешны! 🙂
Простой сайт на Java | Java master
Этой заметкой мы начнем цикл статей посвященных теме веб приложения на языке Java. Здесь Вы узнаете, как написать сайт на Java и как его потом выложить на бесплатный сервис, чтобы Вашим творением могли полюбоваться товарищи.
Для того, чтобы без проблем освоить материал Вам нужны знания Java core — это основы джава; базовые понятия фронтенда HTML, CSS, JS. Если есть проблемы с фронтендом — не волнуйтесь. Выучите постепенно с джавой)).
Для начала, нам нужно установить стандартный набор для Java. В Eclipse нужно выбрать перспективу с Java на Java EE в правом верхнем углу.
Теперь у Вас в приложении появилось больше выбора для создания файлов. Теперь нужно создать новый Maven проект. File -> new -> other… -> maven -> Maven Project
Нажимаем Next и далее нас перебрасывает в окно выбора так называемого архетипа (archetype). Для чего это нужно? Да просто для удобства. Мы используем Maven как инструмент сборки потому, что он очень удобен. Нам не нужно больше искать дополнительные jar библиотеки в Интернете, качать их и подключать. Maven позволяет нам подключать дополнительные библиотеки в специальном файле настроек, который называется pom.xml. Несмотря на его внешнюю запутанность, он очень прост и удобен.
При выборе архетипа нужно выбрать maven-archetype-webapp:
Можно было создать простое java приложение и потом добавить pom.xml, необходимые папки, web.xml; но зачем, если за нас это может сделать выбор архетипа)).
Далее появиться окно ввода Group id, Artifact id. В строку Group id введите com.javamaster, а в строку Artifact id можно ввести например simplewebapp.
Нажимаем Finish и видим, что в панели проектов нам создало новый проект с названием нашего Artifact id. Если Вы откроете проект, то увидите, что программа создала много непонятных папок и несколько непонятных файлов. Но, это все нам пригодиться.
Не успели мы создать приложение, как уже выдает ошибку. Это не серьезная ошибка и приложение все равно запуститься без нее. Но так как я не люблю красные крестики в проекте нужно добавить одну зависимость в наш проект, чтобы ошибка исчезла. Так мы и познакомимся с pom.xml.
Откройте файл pom.xml, перейдите на вкладку кода: (на картинку можно нажать)
Далее в раздел dependencies (зависимости) нужно добавить:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Этим действием мы добавили новую библиотеку к нашему проекту. Ничего не нужно скачивать: добавление нескольких строчек в pom.xml укажет вашей программе автоматически загрузить данные библиотеки. Сохраните файл и проблема с ошибкой проекта должна исчезнуть.
Теперь необходимо рассмотреть как работает веб и в частности, веб приложения.
На рисунке выше представлена схема работы интернет приложений: клиент, то есть Ваш браузер, посылает запрос по определенному адресу и порту; через Интернет запрос доходит до Вашего сервера, на котором находится приложение; обработанный запрос возвращается клиенту в виде ответа; браузер интерпретирует ответ с сервера в понятный для человека вид картинок или текст. Если Вам интересно, что именно передается по сети, советую скачать приложение Fiddler, который поможет Вам увидеть запросы и ответы с Вашего компьютера.
Теперь нужно посмотреть, как обрабатываются запросы самим веб приложением. Мы будем рассматривать пример java приложения, но схема будет работать и для других языков программирования.
Как мы уже поняли, на сервер приходит запрос далее он должен как-то оповестить о запросе наше приложение и наше приложение должно распознать этот запрос, проделать действия и отослать ответ.
Не самая красивая, но достаточно точная схема работы веб программы. Для распознавания запросов в Java есть такой механизм как сервлет (Servlet) — он может определить строку запроса и перенаправить его на jsp — технология, которая позволяет динамически генерировать веб страницы. По сути jsp очень похож на HTML с тем отличием, что в нем можно запускать Java код. Мы этого делать не будем, так как эта технология считается не самой лучшей. Детальнее о jsp будет в следующих статьях.
Сервлет — это класс, который унаследован от HttpServlet. В классе HttpServlet есть несколько методов по обработке запросов. Нас пока будут интересовать doGet и doPost, который обрабатывают соответственно гет и пост запросы. Если не знаете, что это такое — советую загуглить.
В нашем проекте нужно найти папку src/main/java. Если таковой нет, нужно ее создать: правой кнопкой на src -> new -> source folder.
Далее нужно добавить в эту папку новый пакет (Вы же не хотите помещать все классы в одной папке). Я назвал у себя: com.javamaster.controller
Теперь есть две возможность создать сервлет: создать класс и унаследовать его от HttpServlet и потом переопределить нужные нам методы или создать сервлет (на картинке выше можно увидеть, что система сама нам предлагает создать servlet). Разницы нет никакой. Если Вы выберете автоматическое создание, то получите то же самое. Вот мой сервлет, который я назвал HomeServlet (можно выбирать любое название).
ackage com.javamaster.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HomeServlet extends HttpServlet {
@Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
В нем только один метод: doGet на данном этапе этого достаточно.
Теперь нужно дать нашей программе понять, что класс HomeServlet является контроллером и что все запросы нужно отправлять на него.
Для этого у нас есть web.xml — файл настроек нашей программы. Его можно найти в папке WEB-INF.
В моем случае системой был сгенерирован немного не такой файл, как мне нужно. Я замели его следующим содержимым:
<?xml version=»1.0″ encoding=»UTF-8″?>
<web-app xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»
xmlns=»http://java.sun.com/xml/ns/javaee»
xsi:schemaLocation=»http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd»
version=»3.0″>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<description></description>
<display-name>HomeServlet</display-name>
<servlet-name>HomeServlet</servlet-name>
<servlet-class>com.javamaster.controller.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Если присмотреться, то тут все достаточно просто: мы указали что передаем управление урл путями нашему классу HomeServlet.
Теперь осталось добавить файл, который будет отвечать за внешний вид. Система уже создала нам файл index.jsp и проделала всю работу за нас.
Добавьте новую папку view в папку WEB-INF. Когда в нас появиться много файлов, чтобы не запутаться мы поместим все файлы, который отвечают за внешний вид в папку view. Переместите файл index.jsp в только что созданную папку.
Теперь осталось отловить запрос и перенаправить его на нашу страницу index.jsp. Для этого в сервлете метод doGet нужно немного изменить.
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String path = request.getServletPath();
if (path.equals(«/»)){
request.getRequestDispatcher(«/WEB-INF/view/index.jsp»).forward(request, response);
}
else if (path.equals(«/welcome»)){
request.getRequestDispatcher(«/WEB-INF/view/welcome.jsp»).forward(request, response);
}
}
Думаю, код интуитивно понятен: если запрос равен /, тогда указываем путь, куда перенаправить запрос: на страницу индекс, если же запрос равен /welcome тогда, перенаправить на страницу приветствия. О HttpServletRequest подробнее поговорим в следующей части.
Теперь осталось только запустить наше приложение. Потерпите осталось недолго.
Нам нужен контейнер сервлетов, который сможет управлять нашей программой и который реализует Java Servlets и Java Server Pages (jsp) спецификации. Для наших нужд отлично подойдет Apache Tomcat — он бесплатный и очень удобный в использовании.
Apache Tomcat нужно скачать с официального сайта, распаковать и указать в настройках Eclipse путь к распакованному архиву. Сделаем все по порядку.
Качаем архив с сайта:
Распаковываем его в желаемую папку на диске.
Переходим в Eclipse и во вкладке сервера нажимаем создать новый:
Если такой вкладки у Вас нет, ее нужно добавить: Window -> View -> Servers
Теперь нужно выбрать нужный нам вариант из предложенных серверов, указать путь к нашему и готово.
Переходим к нашему проекту. В разделе Project explorer нужно нажать правой клавишей мыши и выбрать: run as -> run on server. Далее в окошке выбрать добавленный сервер подождать, пока проект запуститься и наслаждаться своим сайтом. Если у Вас нет опции run on server, ее нужно добавить: run as -> run configuration -> run on server.
Вот вроде и все. Небольшая заметка превратилась в полноценную статью. И это только для запуска хело ворд приложения. Далее будет интереснее и проще)). Я записал видео, где можно посмотреть весь процесс создания этого приложения:
Код на гитхаб можно найти в описании к видео.
UPD:
Я записал еще одно видео на английском, в котором еще раз показываю как запустить простой веб сайт на джава. Только на этот раз я делаю его в инструменте intellij idea. Постарался показать максимально просто процесс работы сервлета в java.
Также сейчас открыт набор на менторство для тех, кому нужен практический опыт работы с java проектами. Все детали по ссылке: Java mentor
Понравилась статья? Поделиться ссылкой:
Как использовать классы PrintWriter и File в Java?
Переполнение стека- Товары
- Клиенты
- Случаи использования
- Переполнение стека Общественные вопросы и ответы
- Команды Частные вопросы и ответы для вашей команды
- предприятие Частные вопросы и ответы для вашего предприятия
- работы Программирование и связанные с ним возможности технической карьеры
- Талант Нанять технических талантов
- реклама Обратитесь к разработчикам по всему миру
Загрузка…
Как записать в файл на Java после завершения кодирования Хаффмана
Переполнение стека- Товары
- Клиенты
- Случаи использования
- Переполнение стека Общественные вопросы и ответы
- Команды Частные вопросы и ответы для вашей команды
- предприятие Частные вопросы и ответы для вашего предприятия
- работы Программирование и связанные с ним возможности технической карьеры
- Талант Нанять технических талантов
- реклама Обратитесь к разработчикам по всему миру
Загрузка…
- Авторизоваться зарегистрироваться
Как в java записать несколько раз в файл?
Переполнение стека- Товары
- Клиенты
- Случаи использования
- Переполнение стека Общественные вопросы и ответы
- Команды Частные вопросы и ответы для вашей команды
- предприятие Частные вопросы и ответы для вашего предприятия
- работы Программирование и связанные с ним возможности технической карьеры
- Талант Нанять технических талантов
- реклама Обратитесь к разработчикам по всему миру
Загрузка…
Как можно написать JVM на Java
Переполнение стека- Товары
- Клиенты
- Случаи использования
- Переполнение стека Общественные вопросы и ответы
- Команды Частные вопросы и ответы для вашей команды
- предприятие Частные вопросы и ответы для вашего предприятия
- работы Программирование и связанные с ним возможности технической карьеры
- Талант Нанять технических талантов
- реклама Обратитесь к разработчикам по всему миру