タグ

javaに関するciveのブックマーク (18)

  • GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して

    GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内

    GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して
  • JDBCとは何か?

    この連載では、Javaのデータベース・アクセスAPIである「JDBC」の機能を、サンプルコードを交えて解説していきます。また、J2EEにおけるJDBCの位置付けや、JDBCを利用するさまざまなテクノロジについても解説していく予定です。前提知識としては、Javaとリレーショナル・データベースに関するベーシックな知識があれば十分です。 今回は、JDBCの概要について簡単に触れた後、JDBCのアーキテクチャについて解説します。 JDBCとは? JDBCは、一言でいってしまうなら「リレーショナル・データベース(および、ほとんどすべての表形式のデータ)にアクセスするための、標準Java API」です。JDBCは「Java Database Connectivity」の省略だといわれています(が、実はJDBC仕様には明記されていません)。 企業内のクリティカルなデータは、多くの場合リレーショナル・デー

    JDBCとは何か?
  • JVM面白すぎた #javajo - よこなのへたのよこずき

    3/7(土)はJVM のいろはにほ - 私はこうやってJVM好きになった話 -に参加したよ。 参加っていうか運営も担当してたんだっけな? 会場はまぁや姉(@maaya8585)の勤める株式会社ALBERTさん〜! 人間用の会社なんだけど、熊いた。私も会社に大きなパンダが欲しい。 熊と待ってる!白と金のワンピース着てきた(たろうさんに言われた)。 #javajo pic.twitter.com/8yDkL9Yk6G — よこな人生ハズチェンジド (@ihcomega) 2015, 3月 7 講師は@sugarlifeさん・・・!!! 資料はコチラ↓ JVM のいろはにほ #javajo from Yuji Kubota でね!でねでね!すっごい楽しかった! 勉強会の間ずっと話についていけて、気軽に質問できて、夢中で聞けた! 内容はトゥギャってありました。ありがとうございます! (つぶやいてる

    JVM面白すぎた #javajo - よこなのへたのよこずき
  • UDP hole punchingについて

    そろそろ、やるやると言って後回しにしてきた事を書いていこうかと思いますよ~ まずは、UDP hole punchingについてです UDP hole punchingとは読んで字のごとく UDPで穴をパンチしますww わかりませんね笑 順をおって話をしましょう ただ、自分も勉強中の身であるので解釈に間違いがあるかもしれません 多くの方がルータを使用してネットに接続しているのではないでしょうか? 雑な図ですがルータを使用している場合の図になります そうすると図のようにPC1台ごとにプライベートIPアドレスが割り振られるのがわかります (図だと逆にわかりにくいかもw) グローバルIPアドレスはルータを指します するとここで問題が起きます それは、何回か前の記事に書いたソケット通信での問題です ソケット通信では通信相手の「IPアドレス」を指定して通信を行います ですがこの場合グローバルIPアドレ

    UDP hole punchingについて
  • Oracle Java (JDK) 8 Installer PPA (DISCONTINUED) : “WebUpd8” team

    The Oracle JDK License has changed for releases starting April 16, 2019. The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle JDK licenses. The new license permits certain uses, such as personal use and development use, at no cost -- but other uses authorized under prior Oracle JDK licenses may no longer be available. Please review the

  • Not Found

    cive
    cive 2015/01/07
  • Javaのスレッドダンプの読み方 - ablog

    あなたとスレッドダンプ - スレッドダンプ入門 - この国では犬が が非常にわかりやすく、自分でブログエントリを書く必要はないが、Oracle DatabaseLinux の性能分析に携わる者の観点から Java のスレッドダンプについて整理してみた。具体的なスレッドダンプの分析方法はサポートエンジニアが語るWebLogic Serverトラブルシュートのノウハウがとてもわかりやすい。 WebLogic のスレッドダンプの見方については id:yamadamn さんの スレッドダンプから見るWebLogic Serverの世界 #javaee - yamadamnのはてな日記 がわかりやすい。 スレッドダンプとは Javaのスレッドのスナップショット。 取得した瞬間のJava仮想マシン(JVM)内に存在するスレッド(ID、名前、状態、タイプなど)とコールスタックを見ることができる。

    Javaのスレッドダンプの読み方 - ablog
  • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

    Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

    Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
  • Javaで作るルーム機能付きチャットサーバー

    はじめに ここでは、Javaを用いて不特定多数のユーザーの接続を実現するチャットプログラムを作ります。最も単純なチャットプログラムは、1対1で文字列をお互いに送受信するだけですが、不特定多数のユーザーが任意のタイミングでメッセージを交換し合う場合は、サーバーが正しくユーザーを管理し、ユーザーの要求に応じて情報を送らなければなりません。 稿で実装するチャットサーバーでは、ユーザー同士を単純につなげるのではなく、チャットルームを作成して、チャットルームに入室しているユーザー同士のみメッセージを交換する、より格的なチャットサービスを実装します。これを管理するには、チャットサーバー、チャットルーム、チャットユーザーの関係と役割をオブジェクトに与え、任意の数のチャットルームとチャットユーザーを動的な配列で管理しなければなりません。 来ならば、サーバーとクライアント間の通信にはネットワークトラフ

    Javaで作るルーム機能付きチャットサーバー
  • LL から Java に移行した人がはまりがちなこと - tokuhirom's blog

    こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は Java 8 でガンガン攻めているということをご承知おきください。 また、自分がこの数ヶ月で「うわー。こうしとくべきだったのかー」と気づいたやつをドヤ顔で語っているということにもご注意ください。 【追記】 対象は中規模 B2C の場合です(中規模というのは facebook より小さいという程度の意味です) 例外を握りつぶさないようにしよう Eclipse が生成する以下のようなコードをそのまま残しているケース。 これは言うまでもなく良くないですね。デバッグが困難になります。 try { } catch (IOException e) { e.printStackTrace(); } Perl

  • 最近のJava関係イベントの個人的なまとめと感想 - Splash of waters - 2nd. Season

    デブサミやJava Day Tokyoなど、会社の許可をもらってイベントにありがたく行かせてもらっているけど、ちゃんとレポートできていなかったということで、社内勉強会で話すことにしました。 まとめ資料を作ったので、このブログにて先行して公開してしまいます*1。少し前のエントリで資料をアップロードしたのはこのための準備でした。 資料の位置づけ 古いJavaの知識で止まっている人(自分含め)やこれから格的にJavaを学ぼうと思っている人に、最近のJava関連の新機能などをざっくりつかんでもらうための資料です。内容の深さ・広さは、聴く人のJavaスキルに合わせた一応合わせたつもりです。 Java SE 8がリリースされて、その界隈では「for文禁止」などと言われる一方で、会社の新人研修で教えるJavaでは、「ループはforやwhileを使って書きます」みたいに教えるわけで、その辺のギャップを埋

    最近のJava関係イベントの個人的なまとめと感想 - Splash of waters - 2nd. Season
  • if文の条件式の書き方あれこれ | GuildWorks Blog

    if文の条件式の書き方あれこれ | GuildWorks Blog
  • 遅延初期化には気をつけろ - かとじゅんの技術日誌

    フィールドの遅延初期化について勉強したので要約としてまとめておきます。 遅延初期化とは 遅延初期化とは、コンストラクタなどで事前にフィールドを初期化するのではなく、フィールドが利用される時に初期化することいいます。遅延初期化は諸刃の剣と呼ばれていて、必要がなければやらないというのが考え方らしい。 public class Fuga{ private Hoge hoge; public Hoge getHoge(){ if ( hoge == null ){ hoge = new Hoge(); // 遅延初期化している } return hoge; } } ただ、この場合だと複数のスレッドから呼び出されてしまうと、遅延初期化が循環してしまいます。(遅延初期化循環といいます)ではなく、複数のスレッドが割り込むと初期化が何度も行われてしまうということ。 追記:さらにいうとシングルトンは単一のイ

    遅延初期化には気をつけろ - かとじゅんの技術日誌
  • @IT:Javaパフォーマンスチューニング 第3回

    記事は、HP-UX Developer Edgeに掲載された記事を株式会社アットマーク・アイティおよび記事の筆者が独自の判断のもとに加筆・修正したものです。 今回は、Javaにおけるヒープ・メモリ管理の詳細を説明します。JVMのヒープ・メモリの中で、新しいオブジェクトと古いオブジェクトがどのように配置されるかを理解することで、ヒープ・メモリが有効に利用されているか否かを判断することができます。また、JVMが出力するガベージ・コレクションのログを解析し、オプションの指定によってヒープ・メモリのサイズを適切にチューニングする方法を紹介します。 Java ヒープ・メモリの構造 Javaにおけるガベージ・コレクションのメカニズムを理解するには、まずヒープ・メモリの構造を知っておく必要があります。 図1は、JVM におけるヒープ・メモリの構造を示したものです。この図が示すように、ヒープ・メモリの

    @IT:Javaパフォーマンスチューニング 第3回
  • Scalaのトレイトでプログラマをミックスインしてやんよ

    前回のおさらいと今回の内容 前回の記事「Scalaのパッケージ、アクセス修飾子、オブジェクト継承」では、オブジェクト指向言語ではとても重要な機能であるクラスの継承と、Scalaのパッケージについて紹介しました。今回は、Scalaのオブジェクト指向を構成するもう1つの重要な機能、「トレイト」を紹介します。 なお、記事ではオブジェクト指向自体やクラスやインターフェイス、継承の概念、それらに関連した基的な事柄について詳細な説明は行いません。 オブジェクト指向の基礎やインターフェイスについて確認したい方は、以下の記事をご覧ください。 第1回記事では、Scala標準のREPLとScala IDEで動作を確認してみました。今後記事のサンプルコードは、どちらで確認しても問題はありませんが、対話的に実行でき、1文ごとにコードの結果が分かって便利なので、基的にはREPLを用いて説明していきます。 S

    Scalaのトレイトでプログラマをミックスインしてやんよ
  • Private Presentation

    Private content!This content has been marked as private by the uploader.

  • マルチスレッドプログラミング

    プログラムがどうやって実行されるか考える場合、考え方の一つに「ロボットがプログラムの命令を順次解釈していく」というものがある。 このロボットはプログラム内の各命令を順番に調べていき、その命令を正確に解釈することによってプログラムを実行する。 if-else などの分岐が起こった場合や、for, while などで繰り返しを行う場合、メソッドを呼び出す場合も同様である。 ロボットの通り道を矢印で表したが、この矢印はプログラムの実行中、一の糸のように途切れることなく続いている。if, for などの繰り返し命令、メソッド呼び出しなどの命令を解釈する場合にも、ロボットがたどった道は一の制御の流れで表すことができる。 このような一連の制御の流れを、スレッド (thread of control) と呼ぶ。 これまでのプログラムは、基的にスレッドが一だけであった。 java.lang.Thr

  • 第4回 開発効率がアップするGUIビルダ・プラグイン

    かつては「(動作が)重い,(見た目が)ダサい,(APIが)弱い」の三重苦だったJavaGUIも,Swingの強化やSWT*1の登場によって,実用性を増してきました。それにともない,GUIアプリケーション開発を支援するツールのニーズも当然のように高まっています。 GUIアプリケーション開発は,その性格上,開発コストが高くなりやすいものです。見栄えの良いアプリケーションを作るために,実行と修正を繰り返していては,日が暮れてしまいますね。マイクロソフトのVisual Studioのように,見た目を確認しながら開発できるGUIビルダがぜひとも欲しいところです。 ここでは,Eclipseで利用可能な,便利なGUIビルダ・プラグインを紹介します。 ■Visual Editorプラグイン 「Visual Edior」(以下,VE)は,Eclipseと同様,Eclipse.orgコミュニティからリリース

    第4回 開発効率がアップするGUIビルダ・プラグイン
  • 1