chevron_left

メインカテゴリーを選択しなおす

cancel
未来エンジニア養成所Blog https://phoeducation.work/

プログラミングを皆に楽しんでもらうための情報をお届けします。 様々なプログラム言語やIT技術等について紹介していきます。知りたいことがあれば気軽にメールでもコメントでも質問していただきたいです。

まつい@未来エンジニア養成所
フォロー
住所
未設定
出身
未設定
ブログ村参加

2021/02/27

arrow_drop_down
  • 【Java】マルチスレッド Part4

    前回に引き続きマルチスレッドの解説です。 前回の記事はこちら。 phoeducation.work phoeducation.work phoeducation.work マルチスレッドの排他制御 マルチスレッドとデッドロック 参考図書 あわせて学習したい マルチスレッドの排他制御 スレッドの競合とは、複数のスレッドが同時に同じ場所を実行するのが原因でした。 では、スレッドの競合を避けるにはどうしたら良いでしょうか。 あるスレッドがアトミックな処理を行っているとき、他のスレッドは同じデータにアクセスしない、という方法が必要です。 そのやり方としてPV操作と言われる方法があります。 PV操作 例…

  • 【Java】マルチスレッド Part3

    前回に引き続きマルチスレッドの解説です。 前回の記事はこちら。 phoeducation.work phoeducation.work スレッドの制御 スレッドの競合 参考図書 あわせて学習したい スレッドの制御 スレッドの動きはJavaVMが決定しますが、プログラマはThreadクラスのいくつかのメソッドを使用してスレッドの動きに影響を与えることができます。 ただし完全に制御できるものではありません。 下の表はThreadクラスに定義されている、スレッドの動きを制御する(影響を与える程度)主なメソッドです。 【スレッドを制御するThreadクラスのメソッド】 メソッド名 説明 public …

  • 【Java】マルチスレッド Part2

    前回に引き続きマルチスレッドの解説です。 前回の記事はこちら。 phoeducation.work スレッドの状態 スレッドの優先順位 参考図書 あわせて学習したい スレッドの状態 プログラム内の1つ1つの動作をスレッドと言いますが、マルチスレッドの機能を利用することで、あたかも同時に複数の動作をさせることができます。 これらのスレッドにはそれぞれにスレッドが生成されてから終了するまでの5つの状態があります。 スレッドの状態を管理するには、JavaVMの機能の一部であるスレッドスケジューラです。 プログラマはスレッドの状態を変えるメソッドを使ってスレッドの状態を変更することができますが、スレッ…

  • 2021年夏に学ぶべきプログラミング言語

    夏ですオリンピックの時期です。 暑さに負けずにプログラミングを学習してみましょう。 ただ、プログラミングと言っても数え切れないくらいのプログラミング言語が存在していて、未経験だと何を学習して良いか分からないですよね。 今回はそんな人達向けに、「この言語を学べばOK!」というのを紹介します。 求人数 平均年収 学習リソース 人気トレンド 総合ランキング 結果 今回は「求人数」「平均年収」「学習リソース」「人気トレンド」の4つの視点から分析します。 各項目毎にプログラミング言語をランキングし、1位〜10位までにそれぞれ25, 18, 15, 12, 10, 8 ,6, 4, 2, 1 とポイントを…

  • 【Java】マルチスレッド Part1

    マルチスレッドの利用 スレッドの作成と開始 参考図書 あわせて学習したい マルチスレッドの利用 これまでのアプリケーションは、ある処理をしているときに同時に他の処理を行うことができません。 これはウィンドウを持ったアプリケーションなどでは問題になることがあります。 例えばデータの送受信を行っている間はウィンドウをクリックしても反応しない、などの現象が起こることがあります。 この原因は、“スレッド”が1つしか無いために発生します。 スレッドとは「糸」という意味があり、これは処理の流れのことを一本の糸に例えたところから由来しています。 これまで作成してきたプログラムは全て“シングルスレッド”アプリ…

  • 【Java】例外処理 Part3

    前回に引き続き例外処理の解説をします。 前回の記事はこちら phoeducation.work phoeducation.work 独自に例外クラスを作成する方法 メソッドのオーバーライドの注意点 まとめ 参考図書 あわせて学習したい 独自に例外クラスを作成する方法 これまでは例外が発生したときJavaに用意されている例外クラスに処理を任せていましたが、エラーが発生したときに独自の処理を行うこともできます。 独自の例外処理を行うには、具体的な例外処理を記述したオリジナルの例外クラスを作成します。 オリジナルの例外クラスを作成する手順は次の通りです。 Exceptionクラスを継承したオリジナル…

  • 【Java】例外処理 Part2

    前回に引き続き例外処理の解説をします。 前回の記事はこちら phoeducation.work 複数のcatchブロックの定義 マルチcatchブロックの定義 参考図書 あわせて学習したい 複数のcatchブロックの定義 try-catch構文を使って例外処理を記述する場合、例外処理を記述する部分であるcatchブロックを複数記述することが可能です。 その場合、最初のcatchブロックで受け取れない例外は次のcatchブロックで受け取ります。 もしどのcatchブロックでも受け取れない場合は、プログラムは例外処理を行うことができず、中断してしまいます。 catchブロックを複数記述する場合は、…

  • 【Java】例外処理 Part1

    例外処理とは 例外処理を行う方法 例外の種類 参考図書 あわせて学習したい 例外処理とは 例外とは、プログラム実行中に発生する予期せぬエラーのことです。 このエラーが発生することを「例外がスローされる」といいます。 スローとは英語でthrowと書きますが、まさにプログラムがエラーを「投げる」という意味です。 プログラミングする際、エラーが発生しないように注意深くプログラミングしなければなりません。 エラーが発生するとアプリケーションは強制終了してしまうからです。 しかし防ぎようがないエラーもあります。 一例ですがそれは物理的な問題などです。 ネットワークを利用したアプリケーションを動作させた際…

  • 【Java】アサーション

    アサーションとは アサーションを利用する場面 アサーションの不適切な使用例 まとめ 参考図書 あわせて学習したい アサーションとは プログラムには、3つのエラーがあります。 コンパイルエラー:文法チェック 実行エラー:実際に実行した時に発生するエラー(実行時例外) 論理エラー:プログラムのコンパイルや実行はできるが、プログラマの意図した結果にならないもの アサーションとは、プログラマがプログラム完成後には決して起こってはならない論理エラーを、開発中にあらかじめチェックする機能です。 例えば、日付の月フィールドに1から12以外のデータが入ってしまった、年齢フィールドにマイナスデータが入ってしまっ…

  • 【Java】列挙型

    独学で挫折しそうになったら、オンラインプログラミングスクール 列挙型 列挙型の利用 まとめ 参考図書 あわせて学習したい 列挙型 列挙型はJDK5から追加された機能で、特定の値のみ持つクラスです。 クラスですから参照型となります。 通常、定数はfinal修飾子を付けた単独の変数ですが、これを使用することにより複数の定数をまとめて管理することができます。 定数以外のインスタンスを作成できないので、誤って異なる値が入る可能性がありません。 クラスやインターフェースと同様に単独で定義することもできれば、クラス内にメンバとして定義することも可能です。 ただしメソッド内にローカルインナークラスのように定…

  • 【Java】java.util.ArrayListクラス

    配列とArrayListの違い java.util.ArrayListの利用 ジェネリックス ダイアモンド演算子 まとめ 参考図書 あわせて学習したい 配列とArrayListの違い これまで値を保管しておきたいという場合に、1つの値だけを保管したいときは変数を、1つの名前で複数の値を保管したいときは、配列を使用してきました。 例えば次のような配列があったとします。 int[] i = new int[3]; この配列には、たとえi[0]を使用しなくても必ず3つ分の領域が格納されます。 そして要素範囲外のi[3]にアクセスすると実行時エラーが発生します。 配列は一度作成されると、要素数を増やし…

  • 【Java】ラッパークラス Part2

    前回に引き続きラッパークラスを解説します。 phoeducation.work ラッパークラスのメソッド ラッパークラスのequals()メソッド autoboxing/unboxing機能 まとめ 参考図書 あわせて学習したい ラッパークラスのメソッド ラッパークラスのコンストラクタを使ってラッパークラスのオブジェクトを作成する以外に、ラッパークラスには基本データ型やString型をラッパークラスのオブジェクトに変換するメソッドが用意されています。 また逆にラッパークラスオブジェクトを基本データ型に変換するメソッドも用意されています。 引数に指定された値をIntegerオブジェクトに変換する…

  • 【Java】ラッパークラス Part1

    ラッパークラスとは 基本データ型とラッパークラス ラッパークラスのコンストラクタ 参考図書 あわせて学習したい ラッパークラスとは int型やdouble型といった基本データ型は、その値そのものを表現しているだけで、動作を定義するメソッドを持っていません。 文字列で表現されている数値をint型に変換したり、その逆だったりと、基本データ型に対しても処理を行いたい場合があります。 例えば、コマンドライン引数でユーザーから値を取得したとしましょう。 コマンドライン引数はmain()メソッドの引数として定義されたString型の配列変数argsに格納されます。 受け取った値はString型とみなされる…

  • 【Java】ガベージコレクション

    ガベージコレクション機能 オブジェクトをガベージコレクションの対象とする finalize()メソッド まとめ 参考図書 あわせて学習したい ガベージコレクション機能 ガベージコレクションとは、Javaのメモリ管理を自動的に行ってくれるもので、外部からの参照がなくなったオブジェクトをJavaVMが削除してくれる機能です。 C言語などは使ったメモリを解放するために、明示的にプログラムを書く必要があります。 このメモリの解放処理を忘れると、使用可能なメモリ領域が少なくなり、システムが止まってしまうことがあります。 Javaではこのメモリ管理をガベージコレクションが自動的に行ってくれるため、プログラ…

  • 【Java】基本パッケージ Part2

    前回に引き続き基本(java.lang)パッケージにあるStringクラスや、Objectクラスについて解説します。 前回の記事はこちら phoeducation.work Stringクラスのインスタンス化 Objectクラスのequals()メソッド Stringクラスのequals()メソッド まとめ 参考図書 あわせて学習したい Stringクラスのインスタンス化 Stfingクラスのインスタンス化には2通りの方法があります。 インスタンス化の方法によってメモリ上のインスタンスの保管場所が異なります。 newキーワードを使ってインスタンス化した場合は、newされるたびに1つずつインスタ…

  • 【Java】基本パッケージ Part1

    java.langパッケージとObjectクラス Stringクラス StringBufferクラス 参考図書 あわせて学習したい java.langパッケージとObjectクラス 前の記事ででパッケージを解説しましたが、今まで使用してきたStringクラスは完全修飾名も使っていませんし、import文もありませんでした。 Stringクラスはjava.langパッケージのクラスです。 このjava.langパッケージはJavaプログラム言語の設計にあたり基本的なクラスを持ちます。 ObjectクラスやSystemクラスもこのパッケージに属します。 非常によく使用する重要なクラスが多いため、こ…

  • 【Java】パッケージ宣言とインポート

    パッケージの利用 パッケージの作成 staticインポート まとめ 参考図書 あわせて学習したい パッケージの利用 Javaではプログラムをクラスという単位で扱うので、クラスの管理をしっかりしておく必要があります。 多くのクラスを使用しやすくするためには、目的ごとに整理して管理しておきます。 インターフェースも1つのクラスと考えます。これらクラスやインターフェースを整理する方法がパッケージです。 例えば、会社内で顧客管理や販売管理といった営業業務にかかわるプログラムと社内の社内人事の勤怠管理を扱うプログラムがあったとします。 これらがごちゃごちゃあると煩雑になりますね。 これらを営業用のパッケ…

  • 【Java】静的メンバ

    インスタンスメンバとstaticメンバ staticメンバからインスタンスメンバへのアクセス staticイニシャライザ まとめ 参考図書 あわせて学習したい インスタンスメンバとstaticメンバ これまで見てきたフィールドやメソッドは、static修飾子がついていないメンバです。 これらはインスタンスフィールドおよびインスタンスメソッドとよばれ、newキーワードを使用してクラスからインスタンス化されたインスタンス(オブジェクト)ごとに生成されます。 インスタンスはメモリ上のヒープ領域という場所に格納されます。 一方、フィールドやメソッドに、staticという修飾子を付けるとstatic(静…

  • 【Java】内部クラス Part2

    前回に引き続き、内部クラスについて解説します。 前回の記事はこちら phoeducation.work メンバーインナークラス ローカルインナークラス 無名インナークラス まとめ 参考図書 あわせて学習したい メンバーインナークラス メンバーインナークラスはクラスのメンバとして定義されたクラスです。 クラスにはこれまで見てきたようにフィールドやメソッドがありますが、それらと同じようにクラスの一つ内側(mainメソッドや他のブロックの外側)に定義します。 アクセス方法はインスタンスを作成する場所によって異なります。 外側のクラス内でインスタンス化する場合と他のクラスでインナークラスのインスタンス…

arrow_drop_down

ブログリーダー」を活用して、まつい@未来エンジニア養成所さんをフォローしませんか?

ハンドル名
まつい@未来エンジニア養成所さん
ブログタイトル
未来エンジニア養成所Blog
フォロー
未来エンジニア養成所Blog

にほんブログ村 カテゴリー一覧

商用