タグ

Javaに関するwakaranyのブックマーク (43)

  • Javaの性能を分析する10のツール | エンタープライズ | マイコミジャーナル

    JDK16 jconsoleの動作例 JavalobbyにおいてJavaパフォーマンストラブルシューティングに役立つ10のツールがTop 10 Java Performance Troubleshooting Toolsとして紹介されている。OSの限定されるツールもあるため実質的には7つの紹介とみていいだろう。Javaのパフォーマンス分析といえばJDK 6 Update 7からJava VisualVMが同梱されるなど今後のさらなる発展が期待される分野だ。同文書で紹介されているツールは次のとおり。 jconsole - JDK1.5およびそれ以降のバージョンに同梱されているJavaモニタリングおよびコンソール管理ツール。JMX互換のグラフィカルツールでローカルで動作しているJava仮想マシンもリモートで動作しているJava仮想マシンもどちらもモニタリング可能 VisualVM - 高性能な

  • Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して

    Java5における総称型(generics)の導入に伴い、Javaの型システムは以前と比べて高機能になった反面、理解するためのハードルが高くなっています。もちろん、Javaの型についてきちんと理解するためには言語仕様を勉強すればよいのですが、手っ取り早く理解するための方法としてリフレクションAPIを使ってみるというのが有効です。リフレクションAPIの先祖はJava1.xのころから存在しており、フィールド、メソッド、クラスなどの情報を実行時に取得するためのものですが、総称型に合わせてJava5から新しいAPIが追加されています。ここではリフレクションAPIを使い、Java5の新しい型システムについてまとめてみたいと思います。 JDK1.4までの型はすべてClassクラスのインスタンスに一対一対応する JDK1.4までに存在していた型はパターンに分けると以下の3通りに分類できます。 基型(i

    Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して
  • String結合のパフォーマンス - カレーなる辛口Javaな加齢日記

    Javaでは「Stringの結合にはStringBufferを使え」と言われる.これは間違いではないが,大きく誤解されている部分でもある.Stringの結合においてStringBufferを使うべきシーンは実はそれほど多くはない.むしろ素直にStringの結合を使った方が記述性,可読性,パフォーマンスにおいて優れている例は珍しくない. 例えば次のような例を考える. 例1: String str = "文字列1"+ i+"文字列2"+j+"文字列3"例2: StringBuffer sBuffer = new StringBuffer(); sBuffer.append("文字列1"); sBuffer.append(i); sBuffer.append("文字列2"); sBuffer.append(j); sBuffer.append("文字列3"); String str = new

    String結合のパフォーマンス - カレーなる辛口Javaな加齢日記
  • 愚痴ばっかなので反省してPrintAPIでの覚書のようなもの | f3cのぐちとかなにか

    以前紹介したjavax.printパッケージを用いた印刷では、 SimpleDocとDocFlavorを使用して、さまざまな形式のデータを印刷できることになっています。 たとえば、注:DocPrintJobの取得などは割愛 String printData = "こんなものも印刷できますよ。"; SimpleDoc doc = new SimpleDoc(printData, DocFlavor.STRING.TEXT_PLAIN, null); printJob.print(doc, null); これで文字列をそのまま印刷できます。 使用用途としては、SwingやAwtの入力項目をそのまま印刷とかくらいしか思いつきませんが・・・ 他にも URL url = new URL("http://www.yahoo.co.jp"); SimpleDoc doc = new SimpleDoc(

    愚痴ばっかなので反省してPrintAPIでの覚書のようなもの | f3cのぐちとかなにか
  • log4jの設定を動的に変更するには。 - コード書きの記録

    log4jを使うことはあっても、設定を動的に変える方法があるというのはあまり知られていないようです。 log4jの設定、つまりlog4j.propertiesやlog4j.xmlで設定するものを反映するには通常、クラスローダの再起動を必要とします。 実はそんなことはなく、再起動をせずに設定を更新することができます。以下のようにいくつか方法があります。 PropertyWatchDogを利用する LogManager#resetConfiguration() を利用する Configurator を自前で提供し、起動時オプションで -dlog4j.configuratorClass=クラス名を指定する PropertyWatchDog を利用する方法は、一定時間ごとにプロパティファイルの更新をチェックし、必要であれば再読み込みする方式です。ただし、スレッドを勝手に作るためWebLogicなど

    log4jの設定を動的に変更するには。 - コード書きの記録
  • 今必要な人のための速習Spring Framework---目次 | 日経 xTECH(クロステック)

    JavaのWebアプリケーション開発には,有用なオープンソースのフレームワークが欠かせません。連載では,オープンソース・フレームワークの一つとして,現在,注目を集めているSpring Frameworkを解説します。 第1回 なぜSpringなのか 第2回 柔軟性/保守性を高めるDI機能 第3回 AOPでプログラムをシンプルにする 第4回 SpringMVCの基を知る 第5回 SpringMVCの入力チェックを知る(基編) 第6回 SpringMVCの入力チェックを知る(応用編) 第7回 SpringMVCで簡単!ファイル・アップロード 第8回 現場で役立つHints&Tips(前編) 第9回 現場で役立つHints&Tips(後編) 第10回 Spring&Struts連携のベスト・プラクティスはこれだ! 第11回 Spring Securityでラクラク! セキュリティ対策 第1

    今必要な人のための速習Spring Framework---目次 | 日経 xTECH(クロステック)
  • Glassfish v3.1が予想よりもすごかった - 矢野勉のはてな日記

    Java, glassfishこないだ、「Java FX & GlassFish合同勉強会」に参加してきました。個人用にVPSを契約していて、まあ普通にApache HTTP Serverとか入ってたんですが、結局私の使う機能ってほとんどJavaアプリケーションなので、ほとんどのリクエストはAJPでTomcatに転送してたんですよ。httpdはTomcatに転送するためだけにいるような状態。でいろいろ要件があってJMSとか使ったら楽なのに、というケースがあったりで、VPS移設に伴い、httpdを停止して、Glassfish v3に80番ポートを監視させることにしました。Glassfish v3はNIOフレームワークであるGrizzly Kernelベースってことで、スレッド爆発はしなさそうなのと、これはまだ計ってないけど、以前TomcatのNIO Connectorでテストしたときと同じく

  • mylog: Javaのイベント

    Javaのイベント javaのイベントについて調べたので、忘れないようにTipsをまとめました。 イベントオブジェクトとそれを送信するオブジェクトと、受信するオブジェクトが存在している場合についてのみです。NetBeansだとイベントオブジェクトは自分で書かないといかんのですが、送信、受信の実装はウィザードみたいなのでお手軽にできるので便利でした。 1イベントオブジェクト 2イベントオブジェクトを発信するオブジェクト 3イベントオブジェクトを受信するオブジェクト が必要。イベントオブジェクトは java.util.EventObjectを継承して独自のものを作ることが出来る。簡単に書けば次のように。実際はもっと多くの情報をもたせたりすることも出来る。 public class HogeEvent extends java.util.EventObject { HogeEvent(j

  • 例外処理とロギングのベストプラクティス

    はじめに システム開発において例外処理は重要なポイントですが、あまりに軽視されているのが現状ではないでしょうか。稿では、これまでの著者の開発経験の中から培った汎用的な手法を説明します。 この記事は「美しい設計」ではなく「現実的な設計」、現場に適用できる「できるだけ手間の少なく、汎用的な設計」を目指しています。 対象読者 J2EE開発者・アーキテクト。特に業務システムの開発現場の方が対象です。 必要な環境 概念の説明が中心ですので、開発環境は必要ありません。 エラーの分類 実装時に考慮すべきエラーは2つに大別できます。 想定内でトランザクションの実行開始前にチェックするエラー。主に入力エラー。 異常な状態としてトランザクションの続行が不可能なエラー(例外)。 前者については、例外を使うべきではありません。入力チェックエラーを表現するには、ステータスコードを使うべきです。理由は次のとおりです

    例外処理とロギングのベストプラクティス
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Java開発者のためのFAQ集

    Java開発者のためのFAQ集 Java開発者が 最低限押さえておくべきJavaに関する基礎知識 、 実際のソリューション構築の場面で定石とされるノウハウ、 プログラミングTIPSなどのFAQをご紹介していきます。

  • LittleWorks - PukiWiki

  • いまさら聞けない「Webサービス」の常識 (1/4) - @IT

    企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎! Webを使ったサービス? 「Webサービス」って何? コンピュータ間の情報のやりとりは常日ごろから行われています。昨今では、物理的に離れたコンピュータ上にあるアプリケーション同士によるネットワークを通しての情報のやりとりが重要となっています。 ネットワーク上で最も一般的でシンプルなアクセス方法は、HTTPを用いてWebブラウザを利用しサーバから情報を取得することです。このような“システム”対“人”の方法は、アプリケーション同士の通信でも用いることができますが、“システム”対“システム”のサービスは、一般的に「Webサービス」と呼ばれています。

    いまさら聞けない「Webサービス」の常識 (1/4) - @IT
  • 「Java SE 6完全攻略」第81回 JAX-WS その1

    先月まで,Java SE 6のXMLに関する新機能ということで,StAXとJAXBを紹介してきました。今月からは,XMLに関連するWebサービスの機能を紹介していきます。Webサービスを扱うためのAPIであるJAX-WSです。 JAX-WS (Java API for XML-Based Web Services)は主にSOAPを使ったWebサービスを扱うためのAPIで,以前はJAX-RPC (Java API for XML Based RPC)と呼ばれていました。JAX-RPCは名前のとおり,リモートプロシジャーコールを主眼においていました。ところが,WebサービスはRPC以外に,メッセージングでやり取りをおこなうことも多くあります。 そこで,メッセージングを含めたWebサービスを扱うため,JAX-RPCではなくJAX-WSとして衣替えしたのです。そのため,JAX-WSのバージョンには

    「Java SE 6完全攻略」第81回 JAX-WS その1
  • HOMMEZ公式オンラインショップ

    HOMMEZ(オムズ)は男性の心と身体の健康を支援し、一人でも多くの人が子供を得る幸せや男性としての喜びを享受できる社会の実現を目指しています。男性の妊活、活力にまつわる情報や商品の力で性や妊活に悩む男性が効率的に納得感を持って活動できる機会を創出します。

  • 第3回WebLogicServer勉強会@大阪 補足資料

    第3回WebLogicServer勉強会@大阪 補足資料 - Presentation Transcript <Insert Picture Here> 「第3回WebLogic Server勉強会@大阪」の補助資料 2009年11月19日 日オラクル株式会社 <Insert Picture Here> WebLogicのアーキテクチャをご存知ですか? Copyright© 2009, Oracle. All rights reserved. 2 WebLogicアーキテクチャ • ドメインについて • スレッド管理について • データベース接続について Copyright© 2009, Oracle. All rights reserved. 3 Oracle WebLogic Server 11g アーキテクチャ • Oracle WebLogic Server 11g の基的なア

  • 「メモリーを意識してみよう」第3回 ヒープのチューニング

    Java2Demoの起動が確認できたら,jconsoleを起動してみましょう。 先々週と同様に,jconsoleの「メモリ」タブで各領域の使用状況を参照できます。 左上のコンボボックスにはデフォルトで「ヒープメモリの使用状況」が選択されています。このコンボボックスを展開するとEden,Survivor,Tenuredなどが並んでいます(図1)。Perm Genなどの項目はヒープではない非ヒープ領域に属している領域です。 Survivor領域は実際には二つありますが,常にどちらかは空なので,一つにまとめて扱われているようです。 この中から,Eden領域を選択してみましょう。 Eden領域の使用量は,だいたい0から1MB程度の範囲に収まっています(図2)。 左下の詳細の部分を見ると,確定(MemoryUsageのcommitted)が1MB,最大が4MBであることがわかります。 つまり,Ede

    「メモリーを意識してみよう」第3回 ヒープのチューニング
  • Adobe - CS5.5 Master Collection

    Start with Photoshop. Amazing will follow. With Photoshop and generative AI tools powered by Adobe Firefly, you can create gorgeous photos, rich graphics, and incredible art. Start free trial

    Adobe - CS5.5 Master Collection
  • (Linux) RHELのGNU JavaからSunのJavaに切り替える (r271-635)

    CentOS 5.2 (RHEL 5.2相当)で、標準でインストールされているJRE(GNU Java)は、SunのJavaと完全互換性が無いので、動作しないアプリケーションがある。 一時的にSunのJREを用いるようにシステム設定を変更する方法。 まず、現在のjavaコマンドで起動するJREを知っておく [root@localhost ~]# java --version java version "1.4.2" gij (GNU libgcj) version 4.1.2 20071124 (Red Hat 4.1.2-42) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warrant