コンピューター ウィンドウズ インターネット

Java言語のプロパティとメソッド。 Windows用のアプリケーションの作成。 C#プログラミング言語

私は22歳で、経済教育を受けています。 1年前(2月から3月)、私はプログラミングスキルを持っておらず、古いシーメンスのゲームでJavaに遭遇しただけでした(ゲーム開始時の「poweredbyJava」ウェルカムウィンドウの形で)。

一年前、私はその部門で働いていました 技術サポート..。 悪いとか嫌いと言っているわけではありませんが、特に面白くはありません。 そして、ある時、「くそー、また仕事を」という気持ちで行かなくても、喜びをもたらすような仕事ができたらいいなと思いました。 条件付きで、お金を稼ぐ必要がない年があったらどうしようかと思いましたが、やりたいことはできますか? 答えはどういうわけかそれ自体で来ました-私は家に座ってプログラムすることを学びました。

しかし、プログラミング言語を習得することは、インターネットの野心を口笛で吹いている多くの人々にとって成功への第一歩です。 プログラミングの代名詞になっています ワールドワイドウェブ..。 放送のクランチエーテルを押す壁越しに見る方法Vidarインプラントビジョンは「インスタントアクション」は磁気的であると信じています皮膚の深さ以上安全な保管誰にとっても隠れ場所はありません敏捷性はインターネットの共通語と見なされます小型衛星の大きな役割? これらのハイテクバンプのニュースは、プログラマーだけでなく金融関係者にも注意深く読まれています。

それから私はそれが私次第だと決めました。 プログラミングを最初から学ぶのは難しいこと、これは私のキャリアの一時的なロールバックであることを理解しました(ジュニア開発者がその職場で受け取ったよりも少ないことは間違いありませんでした)が、私はそれを一歩後退させました2つのステップを進めるために....

わかった。 否や言うほどない。 私はプログラミング言語を完全に理解していなかったので、最初のアイデアは私が最もよく聞いた言語を学ぶことでした(それは私が働いていた会社でソフトウェアを開発するために使用されました)-PHP。 さて、女の子はそれを話しました。 彼女は、彼らの会社(モバイルアプリケーションの開発)では、アンドロイドはJavaで書く+彼らの給料は良いようだと示唆した。 私はグーグルでググって、考えて、Javaを学ぶことにしました。

なぜなら、見出しの後ろで、大きな言語の激変が起こっているからです。 一見、変更は氷のように見えるかもしれません。 しかし、プログラミングセマンティクスの秘密の世界の奥深くで、意見の相違が加速しています。 彼らの噴火は、インターネットの状況などをより良い方向に変えるでしょう。

沢山の 現代語プログラミングには、一般的な進化の背景があります。 新しい世代ごとに、プログラミング言語はより抽象的になり、通信するコンピューターから離れる傾向があります。 第一世代の言語は、「マシンコード」の1と0でコンピューターに話しかけました。これは、中央処理装置によって、メモリに格納されているデータを操作するための命令として直接解釈されました。 第2世代の言語、つまり「アセンブリ」言語は、文字と数字で構成されるコードを使用してそのような命令を簡単に記述および読み取りできるようにするために開発されました。コードは後でマシンが理解できる1と0に変換されました。

私の最初のステップは、何か新しいことを学ぶ伝統的な試みでした-本を身につけ、理論を習得して、行ってください! これが私がHorstmannとCornell-Javaの本を手に入れた方法です。 基礎。 2014年3月でした。

一般的に言って、私は一生、本から勉強するのが必死に苦手でした。 これはおそらく、人の一般的な認識方法によるものです。 私は実際にそれを作り、それを統合し、それで遊んだ後で初めて本当にその材料を学びました。 そのため、本からJavaを学ぶ最初の試みは、失敗する運命にありました。 本はいいけど。

第1世代および第2世代の言語とは異なり、第3世代の言語の構文は、原則として、それらが動作するコンピューターから独立しています。 コンパイラと呼ばれる別のプログラムを使用して、コードを機械語に翻訳します。 これらの言語はまた、プログラマーにはるかに自然な表現形式を提供しますが、言語が解決できる問題の範囲を大幅に狭めるという犠牲を払っています。

第5世代のコンピューター言語の開発に関しては、この秩序だった進化はうまくいきませんでした。 実際、インターネットはプログラマーを言語よりも優先させてきました。 使いやすさのために、コンピューター言語の優雅さは学問の達人にとってとても大切です ソフトウェア、犠牲にされました。 これは、厳しい期限にWebアプリケーションを構築している人々にとって重要です。 その結果、過去10年間の高速で汚いスクリプト言語の成長は、ワールドワイドウェブの「粘着テープ」です。

4月のどこかで、私はVKontakteのCodeGymグループに出くわしました。
その後、すべてがレールの上にあるかのように始まりました。 問題を解決するために、少量の理論を伴う多くの問題は、明らかに資料を研究するための最良の方法です(少なくとも私にとっては)。 私は家に座っていて、仕事に座っていて、決定し、決定し、決定していました)それから、プログラミングが私にとって興味深いものであるとさらに確信するようになりました。 そのようなものにカーソルを合わせたのを思い出せませんでした。

これらの言語は、インターネットのニーズに非常に柔軟で適応できるため、広く普及しています。 多くの点で、スクリプト言語は、第4世代言語のアイデアを単純さの方向への一歩として認識しています。 これらは「通訳」言語として知られています。 言い換えると、コンピューターは、プログラムを実行する前にプログラム全体を最初に「コンパイル」または変換するのではなく、プログラマーの希望を一度に1つの命令で解釈します。 通訳プログラムを書くことは、韻を踏んだ詩を取り除くことに少し似ています。 比較すると、コンパイルされたプログラムを書くことは、ソネットを作成することに似ています。

レベル20に到達するのに3ヶ月かかりました。 あなたがすでにプログラマーとしての仕事を持っていれば、言語のさらなる研究ははるかに速く進むだろうと私には思えました-そうすればあなたはこの環境に1日8時間、週5日滞在し、非常に速く発達するでしょう。

それで、8月に履歴書を送り始めました。 いくつかの場所から彼らは私にテストタスクを送ってくれました、その結果によると私は求人を受け取りませんでした-振り返ってみると、私は一度も驚いていません-私が提起した問題、おそらく私は解決しました、しかしなんて悪いスタイルちなみに、これはCodeGymの小さなマイナスです-タスクが解決され、テストに合格する限り、タスクはカウントされますが、コードには多くの要望が残されている可能性があります。 Intellij IDEAに同じCheckstyleプラグインをインストールするだけで十分であり、状況は異なります。コード内の「疑わしい」ポイントが強調され、機能するだけでなく、美しく正しいコードを記述できるようになります。

これにより、スクリプト言語は巨大なプロジェクトではなく、迅速な修正に理想的です。 まず第一に、スクリプト言語は、独立したユニットとしてではなく、他のプログラムの仲介者として機能するように設計されています。 この接着剤のような機能により、プログラム間の通信が不可欠なWebアプリケーションにとって非常に魅力的です。 Webに先行するが、それによって強く刺激されたもう1つの傾向は、「オブジェクト指向」プログラミングへの移行です。

問題のオブジェクトは通常、現実世界のカウンターパーティのコンピュータコードでの便利な表現です。 オブジェクトの支払いにかかるコストは、言語にさまざまなクラスのオブジェクトの大規模なライブラリを装備する必要があることです。これにより、言語の使用がさらに煩雑になります。 ただし、特に最近では、オブジェクトライブラリを格納することの利点がコストをはるかに上回り、処理能力とメモリが非常に豊富で安価になるというコンセンサスが得られています。

とはいえ、9月に最初の面接を求められました。 空室には次のようなものが含まれていました-あらゆるレベルの開発者、私たちはスキルに対応する給与を提供します。
このインタビューでは、タスクはおおよそ次のとおりでした-コードの一部が与えられました。 正しく書かれていますか?また、どのような問題が発生する可能性がありますか?
どれだけ正しく決めたか覚えていません。 一般に、Nullについて覚えておく必要がありました。ほとんどすべての質問は、Nullについてでした。つまり、最初にチェックせずにメソッドパラメーターにアクセスしないでください(param!= Nullの場合)。

例外的なケースでは、問題のサイズが大きい場合、ライブラリを最小化できます。 オブジェクト指向プログラミングのもう1つの利点は、ユーザーグループが新しいクラスのオブジェクトを作成して共有できることです。 これにより、オブジェクト指向プログラミングはネットワークのグループの性質に特に適しています。

当然のことながら、今ではオブジェクト指向ではなかったほとんどすべてのプログラミング言語が今ではあります。 一方、オブジェクト指向プログラミング自体の背後にある哲学は、 高レベル抽象化。 この概念の比較的新しくてトレンディな拡張は、いわゆる「ソフトウェアパターン」です。これは、ソフトウェア開発で常に発生する問題を首尾よく解決するための基本構造を反映しています。 テンプレートは、オブジェクトをプレキャストレンガおよびモルタルと呼びます。

その結果、最初の1か月間は無料で(インターンシップとして)働き、その後、給与は(それほどではありませんが)私がいた場所よりも低くなるように提案されました。

私は理論をほとんど知らなかったので、CodeGymでのみ練習したり、経験がなかったりするので、素晴らしい提案を期待するべきではないことをよく理解しました。 したがって、私は2週間(古い場所での解雇の適切な時期)に出発することに同意しました。

スクリプトとオブジェクト指向プログラミングは重要な新しいトレンドを表していますが、過去10年間の最大の変化は、プログラミング言語が実際に何であるかを定義することでした。 これらの言語の成功にとって最も重要なのは、それらがインターネットに面した環境に組み込まれていることです。 たとえば、ジャストインタイムコンパイラは、アプレットがマシンコードに変換されると、後でバイパスできるようにします。 バイトコード..。 もちろん、若いプログラマーの忠誠心を勝ち取るには、スマートなソフトウェア以上のものが必要です。

これと並行して、履歴書を他社に提出しました。 この会社は以下を提供しました:
-2か月のJavaEEトレーニング(週に2回、4時間)
-あなたが良い結果を示した場合(あなたはこの2ヶ月間書いてきたあなたのプロジェクトを首尾よく擁護します)、あなたは雇用を提供されます。

会社はとても良く、外国人で、よく知られていて、労働条件は素晴らしいです-一言で言えば、私は彼らがすでに私に申し出をした場所よりもはるかにそこに行きたかったのです。
彼女からのトレーニングの選択には、次の3つの段階が含まれます。
1.自宅で実用的なタスクを実行します。
2.成功した場合は、オフィスでのコンピューターテストに招待されます。
3.テストが成功した場合、同じ日に面接が行われます。

概念的には、2つの言語は、インターネットの将来に対する大きく異なる賭けを表しています。 Hejlsberg氏は、彼の考えを話すだけでなく、インターネットはデータ処理ではなくデータ送信に関するものであると強調しています。 まず、数学的または論理的なデータ操作を実行できません。

プログラマーは、建設現場の職長が労働者に怒鳴るのとほぼ同じ方法で、コンピューターに指示を出します。 ただし、より高度な抽象化があります。たとえば、建築家は注文を出すのではなく、建物の設計に時間を費やします。 これは「全体像」のモデリング言語であり、プログラミングに限定されませんが、多くのプログラマーに受け入れられています。

私は問題なく実際のタスクに対処しました-ここではCodeGymとそのタスクのおかげで、これらのタスクは非常に単純に見えました。 3つのタスクがありました:RegExp(私自身が我慢できず覚えていなかったのでGoogleが助けてくれました)、アルゴリズム(非常に単純で、より速く考えるため)、そしてファイルからの書き込み/読み取り(これらはたくさんあります) CodeGymコースで)。 私はコンピューターのテストに招待されました。

これまで、これらのツールは完全に直接翻訳されていませんでした 作業プログラム..。 今後10年間で、新しい言語のアルファベット全体のスープが見られることを期待してください。 書かれたコードの行の観点から成功を測定する患者は、ソフトウェアを開発するこの新しい方法に共感する可能性は低いです。

近い将来、プログラミング言語は、インターネットをよりスマートな場所にするための大きな課題に直面しています。 1年前、World WideWebの発明者であるTimBerners-Leeは、セマンティックWebのマニフェストを公開しました。 彼のビジョンは、コンピューターがインターネット上の情報の意味をコンテキストによって認識し、現在のWebブラウザーよりもはるかに関連性の高い情報をユーザーに提供できるようにすることです。

クイズフルWebサイト(http://www.quizful.net/job-role/junior-java-developer)を使用してテストの準備をしました。 これらのテストは大いに役立ちました、いくつかの質問は結局重複さえしました。 私はテストに成功しました、彼らは私にインタビューし始めました。

私はおそらく私の人生でこのインタビューを決して忘れないでしょう。

私にインタビューした人が私から聞きたかったのは、次のようなJava理論の基本だけです。
-チェックされた例外とチェックされていない例外の違い。
-Objectクラスにはどのようなメソッドがあり、なぜそれらが必要なのか。
-コレクションとは何ですか、またその理由は何ですか。
-そしてマルチスレッドについて少し。

これが発生する可能性のある多くの方法があります。 もちろん、一部のセマンティックデータはデータ自体にある場合があります。 そこには、人工知能用に特別に設計された言語の可能性があります。 そのような言語は何十年も前から存在しています。 ダーウィンの理論と同様に、何が最善かを判断するのは、絶えず変化する環境に依存します。 これはどれくらい早く起こることができますか? 今後10年間で、新しい言語のアルファベット全体のスープを期待してください。

リトアニアのプログラミングコースは、雨の後、きのこを始めました。 これは奇妙なことではありません。現在、プログラマーはほとんど不足しており、銀行、リトアニアのさまざまな西側の資本会社は、才能のあるプログラマーの狩猟場を増やしているだけです。

CodeGushは素晴らしいコースで、問題とプログラムの解決方法を教えてくれますが、理論(インタビュー用)は個別に学ぶ必要があります。私は、水族館の魚のようにこれらの質問に泳いでいると確信していました。

一週間で、私はこのチュートリアルを徹底的に研究し、新しい仕事に期待された日の前夜に再面接に行きました。 どうやら、私に面接した人は、何よりも私の目的に夢中になっていたようです(このインターンシップに登録した場合、さらに私だけに依存することを知っていました-2か月で必要なものすべてを理解できたでしょう)。 とはいえ、私はこのインターンシップに参加し、以前に提供された場所で働くことを拒否しました。

コースはあなたを失望させませんが、彼らは完済するためにたくさんのお金を買うのは素朴であると期待しています。 意欲的なプログラマーの中には、多くの時間と労力を費やさなければならないため、雇用主を避けている人もいます。 Jankauskienėは、個別の行動計画を作成することにより、これが労働交換によって解決されることを保証しました。 数学やその他の精密科学を卒業し、体系的な知識を持っている場合に受け入れられます。

新鮮なプログラマーはすべてに興味があるわけではありません

Ivanauskasは、各企業が初心者プログラマーに対して異なる定義を定義していることを強調しました。 私たちは、最大2年の経験を持つ初心者プログラマーです。 私たちは彼らを雇っています、そして私たちは今たくさん持っています。 彼女によると、ジュニアプログラマーは5か月のプログラミングコースを修了した後に働くかもしれませんが、このスペシャリストは知識が不足している可能性があります。

2か月で、サーブレット、JSP、Hibernate JSF、Springなど、Java EEから多くのトピックが紹介されました。インターンシップの結果、メインスタックについてよく知っていました(大まかなアイデアがありました)。 JavaEEテクノロジーの また、インターンシップ期間中、私たちは独自のプロジェクトを作成しました。このプロジェクトは、出口で正常に雇用に提出する必要がありました。

リムクテ氏によると、プログラムへの欲求は通常、仕事に満足していないか、まったく仕事に就いていない人々によって表明されます。 また、雇用主が提供する最高の場所のプログラミングコースに応募している人や、自分のビジネスを夢見ている人もたくさんいます。 しかし、最も重要なことは、学習プロセスに対する人の準備と態度です。

初心者は5万ユーロに会うことができます

結果は人によって異なります。 最低5ヶ月は必要です。 コースの最後に、専門的な試験があなたを待っています-それを保持し、保持し、それを試そうとさえしない人。 彼は大人のように見えますが、母親がチェックインし、大人の子供が必ず訪れるようにします。 Mousavi、プログラマーコースの参加者。 彼は、初心者プログラマーは月給約500ユーロを期待できるが、それはすべてその人が雇用主をどのように紹介し、彼らの動機が何であるかに依存するため、他の人もより高い給料を受け取ることができると主張した。

最初の講義での最初の気持ちを覚えています。 私はこのプロジェクトのタスク(最初の講義ですぐに発行された)を見て、ここからどこから始めて、どのように行うのかさえよく理解していませんでした。

それを成功させるのにどれだけの費用がかかったかも覚えています。 この2か月間、私の頭の中のほとんどすべての考えは、成功した雇用と夢の実現が私の手にあるという事実についてであり、それ以上のものではありませんでした。 私がそれをすることができるかどうかは他の誰にも依存しませんでした。 私からだけ。 私はすでに仕事を辞めていました、私はほとんどお金なしで座っていました、そしてそれは本当に大変でした。 私は朝、午後、夕方に座っていましたが、喜びに飽きることはありませんでした。そのような執着心を持って何かに専念したときのことは覚えていません。 今回も、プログラミングをどれだけ楽しんでいるか、この分野でどれだけ働きたいかを実感することができました。

さらに、優れた開発者になるためには、その人が大学や他の教育機関でのプログラミングは重要ではありません。

さらに、優れた開発者になるためには、その人が大学や他の教育機関でのプログラミングは重要ではありません。

卒業式で、自分のプロジェクトを発表しました。 私はそれを本当にうまく防御し、明らかに予想よりもはるかに優れていました。例外として、私は最初のポジションではなく、すぐにMiddle JavaDeveloperのポジションに採用されました。 2014年12月9日でした。信じられませんでしたが、モニターで求人が目の前にありました。 ソフトウェアエンジニア。 これが起こりました。

12月15日、私は仕事に行きました。 「くそー、仕事に行きたくない」と思ったことは一度もありません。 毎日、朝家を出て、なぜ仕事に行くのか、何をするのか、どれだけ欲しいのかを知っています。 これはめちゃくちゃ幸せです。 それはそれだけの価値があり、あなたの夢を実現するために支払わなければならなかった代償の価値がありました。

本当にプログラマーになりたいと思っている皆さん、目標を達成していきたいと思います。 彼女は本物以上で、とても親密ですが、あなたは彼女にお金を払わなければなりません。 ゼロから何かを学ぶことは本当に最も簡単なステップではないので、あなたの無駄な時間、神経を払うために。 CodeGymは、これらの最初のステップを簡単に実行するのに役立ちました。また、理論が複雑で豊富に見えるため、最初はプログラミングから離れませんでした。 したがって、私は(技術教育がなくても)専門的な活動の分野で根本的な変化を起こすという私のかなりクレイジーなアイデアを終わらせることができました。

そして、あなたは間違いなくできるでしょう。

このセクションでは、オブジェクト指向言語の基礎について説明します。 Javaプログラミング..。 Javaは言語そのものであるだけでなく、この言語に基づいてアプリケーションを作成および実行するためのプラットフォームでもあります。 この言語は元々オーク(「オーク」)と呼ばれ、家庭用電化製品をプログラミングするためにジェームズ・ゴスリングによって開発されました。 その後、Javaに名前が変更され、クライアントアプリケーションとサーバーソフトウェアの作成に使用されました。

この言語は、一部のプログラマーに愛されているJavaコーヒーブランドにちなんで名付けられました。そのため、この言語の公式ロゴは一杯の蒸しコーヒーを表しています。

ロシア語の発音に関しては、他の多くの場合と同様に、2つの異なる規範が形成されています-借りた英語( "dʒɑːvə"-"java")と伝統的な国の "java"、島の名前の伝統的な発音に対応しますJavaの。 Sunは、世界中で英語を話す発音を維持しています。 俗語「ヒキガエル」は日常生活でも使われることがあります(たとえば、ヒキガエルの画像はJavaユーザーグループのカレンダーにあります)。

オブジェクト指向プログラミング言語Java

Javaプログラミング言語はSunMicrosystemsによって開発され、オブジェクト指向です。 ソース Javaアプリケーションコンパイラによって変換されます javac Java仮想マシンの制御下で実行するための特別なバイトコードに変換します。

Java仮想マシン(JVM)は、バイトコードを処理し、インタプリタとしてハードウェアに命令を渡すプログラムです。 主な利点の1つ この方法プログラムの実行は完全に独立しています オペレーティング・システムおよびハードウェア。これにより、対応する仮想マシンが存在する任意のデバイスでJavaアプリケーションを実行できます。

Javaテクノロジのもう1つの重要な機能は、プログラムの実行が仮想マシンによって完全に制御される柔軟なセキュリティシステムです。 プログラムに割り当てられたアクセス許可に違反するアクション(たとえば、データへの不正アクセスや別のコンピューターへの接続の試み)は、プログラムの即時中断を引き起こします。

仮想マシンを使用するという概念の欠点には、パフォーマンスの低下が含まれます。これは、さまざまな方法で解決されます。

  • プログラム操作中にバイトコードを機械語に直接変換する技術の適用-JIT技術;
  • たとえば、標準ライブラリでのプラットフォーム指向のコード(ネイティブコード)の幅広い使用 SWT;
  • 一部のARMプロセッサでサポートされているJazelleテクノロジなどの高速バイトコード処理を提供するハードウェア。

Javaバージョン

Java 1.0

Javaの開発は1990年に始まりました。 1996年に、最初の 公式版-Java1.0。

Java 1.2

更新されたJDK1.2仕様は、1998年に開発され、Java 2という名前でリリースされました。言語はそれほど変更されていませんが、プラットフォームにはいくつかの追加がありました。
  • 開発用スイングライブラリ ユーザーインターフェース;
  • コレクションのセット。
  • ポリシーファイルとユーザーデジタル証明書のサポート。
  • アクセシビリティライブラリ。
  • Java 2D;
  • サポート ドラッグアンドドロップテクノロジー;
  • 日本語、中国語、韓国語を含む完全なUnicodeサポート。
  • いくつかの形式のオーディオファイルの再生のサポート。
  • JITコンパイラ。

Java 5.0

2004年に、Java5.0仕様が発表されました。 このバージョンの開発以降、公式のインデックス作成が変更されました。 Java 1.5の代わりに、Java5.0を呼び出す方が正しいでしょう。 Sunの内部インデックスは変更されません-1.x。

インデックスを変更せずに、マイナーな変更が含まれます。 これには、「アップデート」という言葉が使用されます。たとえば、Java Development Kit 5.0 Update 25です。アップデートには、バグ修正とJVMAPIへの小さな追加の両方が含まれることが期待されています。

バージョンでは Java 5.0いくつかの基本的な追加が行われました。

  • 列挙型 列挙型;
  • 注釈-コードの実行に影響を与えないが、コードとその実行に関するさまざまな情報を取得するために使用できるメタデータをプログラムテキストに追加する機能。
  • パラメータの数が定義されていないメソッド。
  • 静的フィールドとメソッドのインポートが許可されています。
  • あなたが使用できるコレクションで イテレータオブジェクト( foreach);
  • 利用方法 javadocドキュメントの自動作成に関するコメント。
  • ジェネリックプログラミングツール ジェネリック.

Java 6

2006年12月、別のリリースがリリースされました Java 6..。 このリリースに伴い、公式のインデックス作成に変更が加えられました。Java6.0ではなく、バージョンがJava6としてリストされています。 前のバージョン Java Standard Edition Development Kit 6 Update25などの通常のバージョンアップデートに含まれています。

バージョンでは Java 6開発者が「気付いた」次の主要な変更が行われました。

  • SwingはOpenGLとDirectXのパフォーマンスを改善しました。
  • .gifファイルを操作するためのGifWriterを追加しました。
  • クラス-ストリームは、圧縮データの読み取りと転送に使用できるようになり、ネットワークを介して転送できるようになりました。
  • アーカイブ-アーカイブ内のファイル数の制限が削除され(以前は64 Kb)、ファイル名の長さが長くなりました(以前は256文字)。
  • 同時に数量の制限が解除されました ファイルを開く(以前は2000年でした)。
  • キャッシュ管理システムを編成し、HTTPリクエストの「no-cache」パラメータのサポートを追加しました。
  • 既存のグレゴリオ暦と仏教暦に加えて、日本の帝国暦のサポートが追加されました。
  • Java HTTPサーバーを使用して、最低限必要な機能プロパティを備えた本格的なHTTPサーバーを作成できます。
  • 計算速度とI / O操作の速度が向上しました。

Java 7

リリースリリースバージョン Java 7 2011年7月に開催されました。 残念ながら、最終バージョンでは Java Standard Edition 7以前に計画された変更の多くは含まれていませんでしたが、追加することが決定されました Java Standard Edition 8.

V 新しいバージョン名前付き Java Standard Edition 7、バグ修正に加えて、いくつかの革新が導入されました:

  • タイプチェックベリファイアと呼ばれる、新しい、やや高速なタイプベリファイアが追加されました。
  • コレクション(データセット)に、キューイング用のインターフェイスを追加しました。
  • クラスローダー(クラスローダー)の変更。
  • URLClassLoader-close()メソッドを使用してクラスローダーが保持しているリソースを解放します。
  • JDBCがリリース4.1に更新され、行セットがバージョン1.1に更新されました。
  • 新しい次世代のルックアンドフィールを追加しました。
  • nio.2-ファイルシステムにアクセスするための新しいインターフェイス、スケーラブルな非同期IOインタラクション、zip / jarアーカイブでの本格的な作業 ファイルシステム;
  • Unicodeバージョン6.0のサポート。
  • ジェネリック-オブジェクトの作成時に型推論を変更します。
  • ロケール-ユーザーのロケールとグラフィカルインターフェイスは分離されています。 テキストのフォーマットと画面上のメッセージの表示には、独立した「ロケール」があります。

Java 8

リリースリリースバージョン Java 8 2014年3月に開催されました。 イノベーションのリスト:

  • ラムダ式の完全サポート。
  • キーワードデフォルトの機能をサポートするためのインターフェイスのデフォルト。
  • メソッド参照。
  • 機能的なインターフェース(述語、プロバイダーなど)。
  • コレクションを操作するためのストリーム。
  • 日付を操作するための新しいAPI。

Javaテクノロジー

Javaテクノロジーにはいくつかの主要なファミリーがあります。

テクノロジー説明
Java SE-Java Standard Edition コンパイラ、API、 Javaランタイム環境; カスタムデスクトップアプリケーションの作成に使用されます。
Java EE-Java Enterprise Edition エンタープライズレベルのソフトウェア開発テクノロジー。 WEBアプリケーションの開発に使用されます。
Java ME-Java Micro Edition 携帯電話など、計算能力が限られているデバイス向けのプログラムを作成するためのテクノロジー。
JavaFX 企業アプリケーションおよびビジネス用のグラフィカルインターフェイスを作成するためのテクノロジ。
Javaカード 非常に限られた量のスマートカードやその他のデバイスで実行されるアプリケーション用のプログラムを作成するためのテクノロジ。

Android開発ツール、Java for Android

Java作成に積極的に使用 モバイルアプリケーション動作環境用 アンドロイド..。 この場合、プログラムはで使用するために非標準のバイトコードにコンパイルされます 仮想マシンダールビーク。 このようなコンパイルには、Googleが開発した追加のツールが使用されます- ソフトウェア開発キット(SDK).

でアプリケーションを開発することもできます Android Studio、プラグインを使用したNetBeansまたはEclipse Android Development Tools(ADT)またはIntelliJIDEAで。 JDKのバージョンは5.0以上である必要があります。