<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JAVA &#8212; Можно Подумать</title>
	<atom:link href="https://testitquickly.com/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>https://testitquickly.com</link>
	<description>про тестирование ПО и всё такое прочее</description>
	<lastBuildDate>Mon, 22 Jul 2024 20:12:21 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://testitquickly.com/wp-content/uploads/2021/09/favicon_lupan-150x150.jpg</url>
	<title>JAVA &#8212; Можно Подумать</title>
	<link>https://testitquickly.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">202834616</site>	<item>
		<title>Реликтовое излучение</title>
		<link>https://testitquickly.com/2024/07/18/am-mers-la-paris-bou/</link>
					<comments>https://testitquickly.com/2024/07/18/am-mers-la-paris-bou/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 17 Jul 2024 23:31:07 +0000</pubDate>
				<category><![CDATA[Банальное]]></category>
		<category><![CDATA[Disaster Recovery Plan]]></category>
		<category><![CDATA[Fight for the Future]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Астрология]]></category>
		<guid isPermaLink="false">https://testitquickly.com/?p=6187</guid>

					<description><![CDATA[Ближайшая галактика, которая находится на расстоянии ~2,5 миллиона световых лет от нас, кажется нам СЕГОДНЯ такой, какой она была 2,5 миллиона лет назад, когда свет от неё начал двигаться в нашу сторону. Сегодня у этой галактики может быть вообще иное свечение, или даже самой той галактики уже может не быть. Но мы видим доисторический свет… <span class="read-more"><a href="https://testitquickly.com/2024/07/18/am-mers-la-paris-bou/">Читать далее: Реликтовое излучение &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Ближайшая галактика, которая находится на расстоянии ~2,5 миллиона световых лет от нас, кажется нам СЕГОДНЯ такой, какой она была 2,5 миллиона лет назад, когда свет от неё начал двигаться в нашу сторону. Сегодня у этой галактики может быть вообще иное свечение, или даже самой той галактики уже может не быть. Но мы видим доисторический свет от объектов на небе и соотносим с ним нынешнее положение дел  (привет астрологам).</p>
<p>В принципе можно «увидеть» в космосе и тот свет, который был испущен условные 13,8 миллиарда лет назад после Большого взрыва — реликт горячего периода появления сегодняшнего мира. Этот «свет от начала времён» так и называется: реликтовое излучение.</p>
<p style="padding-left:40px;">Реликт: организм, вещь или явление, сохранившиеся как пережиток от древних эпох, от лат. relictus — оставленный.</p>
<p>Как появились тестировщики начала девяностых? Не было самой профессии, не было курсов, зарплаты были никакие. Они что, просто… зародились? Может быть, те, кто несколько эпох назад начали заниматься тестированием, что-то такое знали и сделали ставку на правильную лошадку?</p>
<p>А что такого секретного знали про будущее те, кто в начале двухтысячных начали интенсивно работать с Java? Как они поняли, что на Java будет постоянный спрос, обеспеченное будущее, постоянное повышение зарплат?</p>
<p>Какие неизвестные предсказания о будущем были у тех, кто вгрызался в когда-то смешной и всех раздражающий JavaScript, без которого сегодня уже как-то смешно воспринимать веб?</p>
<p>А ничего они не знали. Технологии появляются и исчезают, ничего не предсказуемо и не определено (привет опытным разработчикам на Pascal, Delphi, Fortran). И так бывает, что какие-то маргинальные штуки из прошлого становятся сегодня ценными, и их адепты взлетают в спросе. Начинает казаться, что они что-то знали…</p>
<p>Всегда хочется угадать, чем надо заниматься сегодня, чтобы в будущем иметь ценность. Но в этой угадайке мы ориентируемся на то, что имеет ценность сегодня, а сегодняшняя ценность — это всего лишь реликтовое излучение из прошлого.</p>
<p>Какие-то вещи можно объяснить стечением обстоятельств, внешних факторов, вроде того, что JavaScript был предназначен для работы в браузерах, а мы всё ещё пользуемся браузерами, поэтому JS нужен. Если бы к нашему времени браузеры были заменены чем-то другим, то JS стал бы лёгким отзвуком прошедшей юности.</p>
<p>И вообще не факт, что сегодня надо упарываться по %<span style="color:#339966;">любой_язык</span>%. Даже если условно сегодня за ним настоящее, вообще не факт, что за ним будущее, просто потому, что в будущем может появиться другая инфраструктура, внутри которой будет эффективнее работать что-то другое. Упарываться надо по пониманию как программировать вообще, а не на определенном языке.</p>
<p style="padding-left:40px;">Надо уметь ездить на велосипеде вообще, а не только на определенной модели.</p>
<p>Ещё есть неприятный эффект коммодитизации, который неизбежен при развитии любых технологий — чем дольше что-то развивается, тем проще это использовать. И неизбежно появляется поколение, которое умеет технологией только пользоваться, и не умеет управлять — чинить, обновлять, улучшать. И это логично, ведь чем проще что-то использовать, тем меньше нужна информация о том, почему и как это работает. Да и всё со временем усложняется…</p>
<p style="padding-left:40px;">Смартфоны наши тому примером.</p>
<p>На короткой дистанции выигрывают те, кто игнорирует «как и почему» в пользу «здесь и сейчас».</p>
<p>В долгой гонке выигрывают те, кто зачем-то, из непонятного интереса, отстают, отходят от бегущих, начинают «копать к первоисточнику» и в какой-то момент понимают, как и почему всё устроено. И зачем. Вот им открываются чит-коды, обходные пути и возможность предсказывать перспективные направления. Остальные продолжают бежать.</p>
<p>Всегда хочется быть среди вторых, но бегать приходится среди первых, где перспектив нет, где технологиями только пользуются, не понимая, как они устроены. Привет профессиональным «<em>Ну, мы использовали какой-то набор команд SQL и вызовов API, а другие команды я не знаю, у нас на проекте они были ненужными</em>», среди которых то и дело обнаруживаешь себя…</p>
<div id="attachment_6190" style="width: 675px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-scaled.jpg"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-6190" class="wp-image-6190 size-large" src="https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-1024x625.jpg" alt="Движение в будущее" width="665" height="406" srcset="https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-1024x625.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-300x183.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-768x469.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-1536x938.jpg 1536w, https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-2048x1250.jpg 2048w, https://testitquickly.com/wp-content/uploads/2024/07/Screenshot_2024-04-13_00-16-14-660x403.jpg 660w" sizes="(max-width: 665px) 100vw, 665px" /></a><p id="caption-attachment-6190" class="wp-caption-text">Движение в будущее</p></div>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2024/07/18/am-mers-la-paris-bou/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6187</post-id>	</item>
		<item>
		<title>Как установить JAVA</title>
		<link>https://testitquickly.com/2008/12/22/essential-about-java/</link>
					<comments>https://testitquickly.com/2008/12/22/essential-about-java/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Mon, 22 Dec 2008 10:44:49 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Банальное]]></category>
		<category><![CDATA[Документация]]></category>
		<category><![CDATA[Откровения]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Основы]]></category>
		<category><![CDATA[Хватит тупить]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=662</guid>

					<description><![CDATA[JAVA-окружение бывает разным: JRE &#8212; Java SE Runtime Environment &#8212; это &#171;настольное&#187; JAVA-окружение, которое нужно для просмотра java-контента в браузере. JDK &#8212; Java Development Pack &#8212; это и JAVA, которая нужна для браузеров, и утилиты, которые нужны для JAVA-разработки. То и другое лежит на официальном сайте JAVA. Windows Внимание, потребуется полная перезагрузка компьютера. В момент… <span class="read-more"><a href="https://testitquickly.com/2008/12/22/essential-about-java/">Читать далее: Как установить JAVA &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>JAVA-окружение бывает разным:</p>
<ul>
<li><strong>JRE</strong> &#8212; Java SE Runtime Environment &#8212; это &#171;настольное&#187; JAVA-окружение, которое нужно для просмотра java-контента в браузере.</li>
<li><strong>JDK</strong> &#8212; Java Development Pack &#8212; это и JAVA, которая нужна для браузеров, и утилиты, которые нужны для JAVA-разработки.</li>
<li>То и другое лежит на <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">официальном сайте</a> JAVA.</li>
</ul>
<h1><strong>Windows</strong></h1>
<p>Внимание, потребуется полная перезагрузка компьютера.</p>
<p>
<span id="more-662"></span>В момент написания заметки на компутер была установлена jdk1.5.0_14 в следующий каталог: c:\Java\jdk1.5.0_14</p>
<p style="padding-left: 40px;">Опытными рекомендуется <strong>не ставить</strong> жаву в каталоги, в имени которых есть пробелы. То есть, c:\Program Files\ лучше не использовать.</p>
<p style="padding-left: 40px;">В быту никаких отклонений от установки Java в c:\Program Files\ не наблюдалось.</p>
<p>Предполагается, что после перезагрузки Windows будет &#171;знать&#187;, где у нее лежит JAVA. Но в этом следует убедиться &#171;руками&#187;, забравшись в &#171;System Properties&#187; (нажатием клавиш &#171;Win+Pause/Break&#187;):</p>
<ol>
<li>System Properties &gt; Advanced &gt; Environment Variables &gt; System Variables &gt; <strong>JAVA_HOME</strong></p>
<p><h4><strong>Требуемые значения</strong></h4>
<ol>
<li><em>Variable name</em>: JAVA_HOME</li>
<li><em>Variable value</em>: c:\Java\jdk1.5.0_14</li>
</ol>
</li>
<li>System Properties &gt; Advanced &gt; Environment Variables &gt; System Variables &gt; <strong>path</strong></p>
<p><h4><strong>Требуемые значения</strong></h4>
<ol>
<li><em>Variable name</em>: Path</li>
<li><em>Variable value</em>: C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Subversion\bin;D:\mvn\apache-maven-2.0.9\bin;<span style="color: #ff0000;">c:\Java\jdk1.5.0_14\bin</span></li>
</ol>
</li>
</ol>
<p>Это кажется довольно сложным для глаза буквосочетанием, но принципиально эта последовательность символов не имеет особого значения кроме того, что выделено красным. Оно как раз и появляется в этом списке после установки JAVA.</p>
<p>В общем, теперь Windows знает, где у нее лежит JAVA: c:\Java\jdk1.5.0_14\bin</p>
<p>Обратим пристальное внимание на &#8216;<em>\bin</em>&#8216; в свойствах переменной <em>Path</em> &#8212; путь должен быть записан именно так &#8212; каталог &#171;bin&#187;, но без закрывающего слэша.</p>
<h3><strong>Редкий мазафак</strong></h3>
<p>Может так случиться, что (в консоли) <code><span class="str">java -version</span></code> говорит, что все ок, а <code><span class="str">javac -version</span></code> отвечает <code><span class="str">'javac' is not recognized as an internal or external command, operable program or batch file</span></code></p>
<p>
Это решаемо.</p>
<p>Execute &#8216;<code><span class="pln">c:\java\jdk1.5.0_14\bin\javac -version</span></code> to make sure that javac is available.</p>
<p>Then do:</p>
<pre class="lang-java prettyprint prettyprinted" style="padding-left: 30px;"><code><span class="pln">set path="%path%;c:\java\jdk1.5.0_14\bin"</span></code></pre>
<p>You can also tell <em>which</em> executable (if any) is being used with the command:</p>
<pre class="lang-java prettyprint prettyprinted" style="padding-left: 30px;"><code><span class="kwd">for</span> <span class="pun">%</span><span class="pln">i in </span><span class="pun">(</span><span class="pln">javac</span><span class="pun">.</span><span class="pln">exe</span><span class="pun">)</span> <span class="kwd">do</span> <span class="lit">@echo</span> <span class="pun">%~</span><span class="pln">$PATH</span><span class="pun">:</span><span class="pln">i</span></code></pre>
<p>This is a neat trick similar to the <code>which</code> and/or <code>whence</code> commands in some UNIX-type operating systems.</p>
<h1><strong>Debian</strong></h1>
<p>Тут вся Java установлена по-умолчанию. Но есть бэмц: в силу исторических событий там устанавливается усечённая Java (openJDK), которая не подходит для работы некоторых приложений. Поэтому может возникнуть необходимость снести всё и поставить &#171;свою&#187; джаву.</p>
<p style="padding-left: 30px;">Есть возможность установить две джавы одновременно и переключаться между ними.</p>
<p style="padding-left: 30px;"><span style="color: #ff0000;">Осторожно</span>, если самая свежая Java будет использоваться в коммерческой разработке — <a href="https://habr.com/ru/post/424579/">Не попадитесь в ловушку используя Oracle JDK 11</a> — ситуация меняется, но вас пердупердили. Есть смысл остаться на openJDK.</p>
<p>Однако, если джавы нет, и она просто нужна, то:</p>
<p style="padding-left: 40px;">Смотрим доступные на данный момент версии в соответствующем операционной системе репозитории:</p>
<pre style="padding-left: 40px;">aptitude search openjdk</pre>
<p style="padding-left: 40px;">Ок, узнал, сегодня в моде <em>openjdk-11-jre</em>.</p>
<pre style="padding-left: 40px;">aptitude install openjdk-11-jre &amp;&amp; <em>java -version</em></pre>
<p style="padding-left: 40px;">Если ничего экстраординарного не произошло, то на этом всё.</p>
<h2>= 1 =</h2>
<p>You will need to know whether you are running a 32 bit or a 64 bit OS:</p>
<pre>uname -m</pre>
<p style="padding-left: 40px;">Ответ:</p>
<p>
<em>i686: 32 bit kernel</em></p>
<p>
или <em>x86_64: 64 bit kernel</em></p>
<h2>= 2 =</h2>
<pre>aptitude search ~i~D{sun-java,openjdk}</pre>
<p>Пример результата команды — перечень того, что установлено:</p>
<p>
i A ca-certificates-java    &#8212; общие CA-сертификаты (хранилище JKS)</p>
<p>
i A default-jre            &#8212; Standard Java or Java compatible Runtime</p>
<p>
i A default-jre-headless    &#8212; Standard Java or Java compatible Runtime (headless)</p>
<p>
i A openjdk-7-jre        &#8212; OpenJDK Java — окружение времени исполнения с использованием JIT-компилятора</p>
<p>Или пустота, если java нет.</p>
<h2>= 3 =</h2>
<p>Вычистить систему от OpenJDK (Эта команда удалит всё, что имеет отношение ко всем версиям OpenJDK.):</p>
<pre>sudo apt purge openjdk*</pre>
<p>Внимательно читать предупреждение о том, что будет удалено. Например, у меня в список удаления попал Xmind, который без openjdk-7-jre и openjdk-7-jre-headless работать не может.</p>
<p>Есть смысл также сделать</p>
<pre>sudo apt autoremove</pre>
<h2>= 4 =</h2>
<p><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html </a>— скачать <strong>JDK (development)</strong></p>
<p>Самостоятельно сообразить, файл для какой платформы нужен.</p>
<p>
Формат скачиваемого файла — разный: <em>tar.gz, deb, rpm…</p>
<p>
</em></p>
<p style="padding-left: 30px;">Установка deb типична: <em>sudo dpkg -i jdk-12.0.1_linux-x64_bin.deb</em></p>
<p>Дальше рассматриваем установку tar.gz, она чуть заморочена, но позволяет контролировать место установки и ряд нюансов.</p>
<h2>= 5 =</h2>
<p>Installing Oracle JDK in the <em>/opt</em> folder (with sudo privileges): the /opt directory is reserved for all the software and add-on packages that are not part of the default installation.</p>
<p>Create a directory for your JDK installation:</p>
<pre>mkdir /opt/Java/</pre>
<p>and extract java into the /opt/jdk directory:</p>
<pre>tar -zxf jdk-8u112-linux-i586.tar.gz -C /opt/Java/
ls /opt/Java/</pre>
<h2>= 6 =</h2>
<p>Setting Oracle JDK as the default JVM. In our case, the java executable is located under &#8216;/opt/Java/jdk1.8.0_112/bin/java&#8217;. To set it as the default JVM in your machine run:</p>
<pre>update-alternatives --install /usr/bin/java java /opt/Java/jdk1.8.0_112/bin/java 100</pre>
<p>and</p>
<pre>update-alternatives --install /usr/bin/javac javac /opt/Java/jdk1.8.0_112/bin/javac 100</pre>
<h2><del></del>= 7 =</h2>
<p>Verify that java has been successfully configured by running:</p>
<pre>update-alternatives --display java</pre>
<p>and</p>
<pre>update-alternatives --display javac</pre>
<p>The output should look like this:</p>
<pre>java - auto mode
 link currently points to /opt/Java/jdk1.8.0_112/bin/java
 /opt/Java/jdk1.8.0_112/bin/java - priority 100
 Current 'best' version is '/opt/Java/jdk1.8.0_112/bin/java'.</pre>
<h2>= 8 =</h2>
<p>Определение места JAVA для глобальных переменных (понадобится перелогиниться)</p>
<p>Последовательно выполнить в терминале две команды (результат их выполнения &#171;молчаливый&#187;):</p>
<pre>export JAVA_HOME=/opt/Java/jdk1.8.0_112/bin/java
export PATH=/opt/Java/jdk1.8.0_112/bin:$PATH</pre>
<p>Для проверки последовательно выполнить в терминале:</p>
<pre>echo $JAVA_HOME
echo $PATH
which java
java -version</pre>
<p>и внимательно читать, если все указано правильно.</p>
<h2>= 9 =</h2>
<p>(Optional) To update Java, simply download an updated version from Oracle&#8217;s website and extract it under the /opt/jdk directory, then set it up as the default JVM with a higher priority number (in this case 110):</p>
<pre>update-alternatives --install /usr/bin/java java /opt/Java/jdk.new.version/bin/java 110
update-alternatives --install /usr/bin/javac javac /opt/Java/jdk.new.version/bin/javac 110</pre>
<p>You can keep the old version or delete it:</p>
<pre>update-alternatives --remove java /opt/Java/jdk.old.version/bin/java
update-alternatives --remove javac /opt/Java/jdk.old.version/bin/javac</pre>
<pre>rm -rf /opt/Java/jdk.old.version</pre>
<h2>Как удалить Java</h2>
<p>Просто удалить /opt/Java/</p>
<p>Если после этого будет установлена другая версия java, и в echo $PATH будут отображаться два пути к исполняемым файлам, то:</p>
<ol>
<li>echo $PATH</li>
<li>copy details into a text editor</li>
<li>remove unwanted entries</li>
<li>PATH= <em># pass here your edited list of entries</em></li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2008/12/22/essential-about-java/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">662</post-id>	</item>
	</channel>
</rss>
