タグ

関連タグで絞り込む (166)

タグの絞り込みを解除

javaとJavaに関するlearnのブックマーク (336)

  • Spring MVCでJSONデータを返すための手順 - 達人プログラマーを目指して

    バージョン3以降のSpring MVCでは、コントローラーのメソッドからJSON文字列を簡単に返却させることができます。以前のバージョンでもビュークラスを独自に拡張することでJSONの返却は一応可能でしたが、最新バージョンでは非常に簡単にJSON対応させることができ、Ajaxライブラリーを使ったWebアプリケーションやサービスの開発が容易になっています。 Ajax Simplifications in Spring 3.0 コントローラーをJSON対応させる手順 コントローラーをJSON対応させるためには、まず、JacksonというJSON処理ライブラリーをクラスパスに通す必要があります。Mavenを使う場合は、pomに以下を追加します。 <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-cor

    Spring MVCでJSONデータを返すための手順 - 達人プログラマーを目指して
  • Java 暗号化アーキテクチャー標準アルゴリズム名のドキュメント

    Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.

    learn
    learn 2011/03/01
  • Javaパフォーマンス計測 JITとの闘い - プログラマーの脳みそ

    前回の文字列操作編では適当に文字列操作のパフォーマンスを測定しようとしたらGC様とJITコンパイラ様に阻まれた、という話だった。モヒカン族*1が「てめえの計測はなっちゃいねー!ひゃっはー!」と殴りかかったらケンシロウみたいなのが出てきて「あべしっ」となった、ぐらいのつまらない話だったが、反省してこれらと向かい合ってみたい。 JITコンパイラについての情報 JITコンパイラ(Just In Time compiler)とはインタープリタ方式のプログラム言語のランタイムが実行時に必要に応じて部分的にネイティブコード(CPUが直接実行できるマシン語)に変換することで高速化するというコンパイラである。もともとはもっと狭義のニュアンスだったが、今ではJITコンパイルとHotSpot動的コンパイルを併せて広義にJITコンパイル、それを実施する実態をJITコンパイラと呼んでいる感じだ。*2 ただ、やみく

    Javaパフォーマンス計測 JITとの闘い - プログラマーの脳みそ
  • Java Tips: かしこいロック

    単純なロックの問題点 Java にはマルチスレッドプログラミングにおける一般的な排他制御を記述するのに適した synchronized ブロック、synchronized メソッドという構文があり、保護したいデータにアクセスする全てのコードをこれらの構文を使って同期化すれば、排他制御は簡単に実現できる。しかし、この方法には問題もある。例えば電子掲示板システムのログデータにこの方法を適用することを考えてみよう。 電子掲示板に対するアクセスを全て同期化するということは、一度に一人のユーザしかログにアクセスできないということである。なんらかの理由(サーバ・クライアント間の回線速度やクライアントの処理速度の低下など)でログの読み込みに時間がかかっているユーザが一人れば、サーバ側の計算機資源にいくら余裕があっても、その間は他の大勢のユーザは掲示板にアクセスできない。すなわち計算機資源の利用効率が著し

  • 「メモリーを意識してみよう」第4回 進化するメモリー管理:ITpro

    先々週にHotSpot VMでのメモリー管理について解説しました。ここでキーとなるのは世代別GCです。 HotSpot VMで世代別GCが採用される以前は,Old領域のGCで使用されるMark & Sweep GCだけでした。世代別GCが導入されたことにより,GCのパフォーマンスは劇的に向上したのです。 しかし,GCの進化はここで終わってしまったのではありません。Java SE 6(開発コード名Mustang)にいたるまで,様々な改良が加えられてきました。 今週はそれらの新しいGCの手法について解説していきます。その前に,まずは基となるMark & Sweep GCを説明しましょう。 Mark & Sweep GC Mark & Sweep GCは二つのフェーズでGCを行います。 はじめのフェーズで,使用しているインスタンスに印をつけます(Mark,図1a)。Markにはルートインスタン

    「メモリーを意識してみよう」第4回 進化するメモリー管理:ITpro
  • HotSpot VMの特性を知る

    記事は、HP-UX Developer Edgeに掲載された記事を株式会社アットマーク・アイティおよび記事の筆者が独自の判断のもとに加筆・修正したものです。 連載の最終回は、HotSpot VMに固有の振る舞いを学びます。HotSpot VMのデフォルト設定ではパフォーマンスが思うように向上しないケースを紹介し、対処方法を説明します。また後半では、JVMのPermanent領域のチューニング方法を説明します。 ベンチマーク・プログラムからHotSpot VMの特長を探る アプリケーションのチューニングの効果を比較するためにしばしば作成されるのが、簡単なベンチマーク・プログラムです。しかし、HotSpotベースのJVMでは、ベンチマークの設計のまずさが誤解を生む原因となりかねません。例えば、ベンチマークによっては、旧型のJITJust-In-Time)コンパイラを備えたClassic

    HotSpot VMの特性を知る
  • Java SE 6 Mustang新機能

    [ Topページへ戻る ] [ Java SE SDKをビルドする ] Java SE 6 Mustang新機能 2005.10.20よりアクセス はじめに Mustang開発の主要テーマ リリース予定 JSR-270(Java SE 6追加仕様)で定義された新機能 JSR-199 コンパイラAPI JSR-269 アノテーションプロセッサー 参考URL JSR-250 標準アノテーション 新機能 コアクラス 文字列 ファイルI/O ネットワークI/O ユーティリティ JFC/Swing 全般 OSネイティブなルック&フィールにSwing対応を強化 Swingのサンプルプログラムを強化 レイアウト機能の改善 Swingのドラッグ&ドロップ改善 真のダブルバッファリングを提供 JTableでソート機能、ハイライト、フィルター機能を提供 Swingで別スレッドを扱うユーティリティクラスSwin

  • Javaの性能 - Wikipedia

    Javaの性能(ジャバのせいのう)では、Javaプラットフォームの性能について説明する。プログラミング言語としてのJavaに対する批判や、Javaプラットフォームの性能に対する批判は「Javaに対する批判」の記事を参照のこと。この記事ではJavaプラットフォームの性能について批判以外の説明をする。 プログラミング言語Javaは、その「ネットワークから送り込まれるプログラムの安全な実行」や「write once, run anywhere」というスローガンを、業界にありがちなスローガンだけのスローガンではなく可能な限り達成するべく、Javaバイトコードにコンパイルするコンパイラと、Javaバイトコードを解釈実行するインタプリタであるJava仮想マシン (Java VM, JVM)、という構成の実装を、公式の実装として伴って発表された。 コンピュータ科学的には特に目新しいものではない。しかし、

  • Java 暗号化拡張機能 JDK5.0

    Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.

  • Java 6のスレッド最適化は実際に動作しているのか? - パートII

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    Java 6のスレッド最適化は実際に動作しているのか? - パートII
    learn
    learn 2011/02/23
    元記事のコメントによると、バイアスド・ロックが3,4秒経過しないと適用されないのは、デフォルトでJVM起動後4秒は適用しないようになっているからで、-XX:BiasedLockingStartupDelay=0をつければすぐに適用されるとのこと
  • Java 6のスレッド最適化は実際に動作しているのか?

    図1. ローカルのStringBufferを用いてStringの連結を行う もし私たちが変数sbをよく調べれば、concatBufferメソッドの境界内でのみ生存すると言う事をすぐに見つけられます。さらにsbに対する参照は、それが宣言されたスコープから"抜け出す"事は絶対にありません。従って、他のスレッドがsbへのアクセスを行う方法は存在しないのです。これを踏まえると、私たちはsbに対するロック保護を除去できると言う事がわかります。 一見するとロックの除去により、ロックが当に必要とされない場所においては、あらゆる同期のペナルティ無しにスレッドセーフなコードを書く事が出来るように見えます。「それが当に働いているのかどうか」と言う疑問については、ベンチマークで詳しく調べることにしましょう。 バイアスド・ロックの説明 バイアスド・ロックは、生存中に一つ以上のスレッドにアクセスされるロックはほ

    Java 6のスレッド最適化は実際に動作しているのか?
  • Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ

    前回でパフォーマンス計測に用いるタイマーについての理解を深めたので、やっとパフォーマンスの計測を始めることができる。 今回のテーマはJavaの文字列連結だ。タイムリーだね。 文字列連結についての基礎知識 Javaの文字列連結についての言語仕様まわりは Stringの連結はそう簡単なものではない - じゅんいち☆かとうの技術日誌 が詳しい。しかし、パフォーマンス計測がなっちゃない。パフォーマンスの計測はそう簡単なものではない。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての*1。 そんなわけで、計測方法を工夫してみよう。二重ループとし、内側を1000回、それを500回繰り返す。ループが1回まわる間に1回ずつSy

    Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ
    learn
    learn 2011/02/23
    へえ、知らなかった。すごいなJIT>実行時のプロファイリング結果から最適化が可能かを判断してホットスポットを最適化するようになっているらしい/ 追記:参考 http://t.co/HRybQT7 http://htn.to/vTkVjf http://htn.to/2GR6PS
  • 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
  • 次世代のモックフレームワークであるJMockitの基本的な使い方 - 達人プログラマーを目指して

    以前のモックフレームワークの技術的制約 今まで私が担当してきたプロジェクトにおいては、モックオブジェクトを使ったJUnitの単体試験はjMockとEasyMockのいずれかのフレームワークを利用して行ってきました。しかし、これらのフレームワークはJavaプラットフォームにおけるコード自動生成の考え方の変遷で説明したように動的プロキシーに基づいているため、以下のような制約がありました。 モック化する対象の型はインターフェースを実装しているか、継承可能なクラスであること モック化するメソッドはfinal、static、privateでないこと*1 モック化するロジックはコンストラクターの呼び出しではないこと モックオブジェクトをテスト対象クラスにDIかパラメーター経由で引き渡すことが可能であること モック化する場合はクラス全体をモック化する必要があること(getterやsetterなどは物の

    次世代のモックフレームワークであるJMockitの基本的な使い方 - 達人プログラマーを目指して
  • JMockitは理想的なモックフレームワーク - かとじゅんの技術日誌

    テストを書いているとモックオブジェクトを使う機会が多いと思います。そのモックオブジェクトは自前で作るよりは、JMockやMockito*1などのフレームワークを利用した方が楽でしょう。 今回は機能的に、ほぼ最強と思われるJMockitを紹介します。 これが、他のモックフレームワークとの機能比較です。 MockingToolkitComparisonMatrix - jmockit - A feature matrix comparing several mocking toolkits. - Project Hosting on Google Code 機能が多ければ使いやすいか。そんなことはないと思います。しかし、これは使いやすいかもと周りの人からお勧めがあったので、実際に使ってどんなところが使えるのか検証してみたので、書いてみます。あと、最後にScalaで使えるか試してみました。 あ、

    JMockitは理想的なモックフレームワーク - かとじゅんの技術日誌
  • AJDTを使って規約違反のコードを検出する方法 - 達人プログラマーを目指して

    AspectJというと、メソッドなどに処理を織り込むAOPのイメージが強いと思いますが、AJDTというeclipseのプラグインを使うと強力なコード検証ツールとして利用できることは意外と知られていないようです。(AJDTはSpring Tool Suiteには最初から内蔵されています。) 実際、 コントローラークラスのメソッド内でフィールドの設定を行う サービス層を経由せずに直接DAOを呼び出している 日付オブジェクトを直接newしている*1 などの箇所をコンパイル時に検証して、警告やエラーとして検出できます。 たとえば、Spring MVCのコントローラークラスのメソッド内でフィールドの設定を行っている箇所を警告として検出するには以下のようなアスペクトを書くだけです。 package sample.mvc; import org.springframework.stereotype.Co

    AJDTを使って規約違反のコードを検出する方法 - 達人プログラマーを目指して
  • ORマッパーならDomaが一番。 - newta(にゅーた)の日記

    すっかり明けてますね。 まあ、夏くらいから更新してないですが。。 ともかく、今年もよろしくお願いします。 で、Domaなんですけど、 実践投入すごくしてます。いっぱい使ってます。感謝。 今のところ、ORマッパーを使うならDomaが一番の選択肢です。 理由 印象はS2Daoのようで、 S2Daoよりサポートしている部分でかゆいところに手が届いてる感じ。 selectは外だしSQLのみにすることで実行されるSQLが分かりやすく 定義箇所がsqlテンプレートファイルのみなので管理しやすい。 SQLテンプレートはSQLコメント内に設定構文を書くので SQLをそのまま実行して試すことが出来る。 aptによるチェックで、sqlテンプレートと条件やvalueの定義に 間違いがある場合、すぐに分かる。これとっても重要。 S2Dao使ってたら実行しないと分からない事がすぐ分かる。 条件のプロパティの定義忘れ

    ORマッパーならDomaが一番。 - newta(にゅーた)の日記
  • 自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記

    http://d.hatena.ne.jp/JavaBlack/20050909/p1の改訂.*1基的に改訂版への差し替えと一部の新刊の追加程度になっている. お奨めのJava&オブジェクト指向プログラミング関連の書籍/参考文献リスト.初心者向け入門書や参考書から上級者向けの専門書まで,オブジェクト指向だとかJava言語とかの初心者〜中級者が学習をすすめる上での参考にすることを想定して作っている. 初心者向け勉強の手引き:http://d.hatena.ne.jp/JavaBlack/20070825/p1 オブジェクト指向プログラミング とりあえず初心者なら「オブジェクト指向プログラミング入門」「オブジェクト指向における再利用のためのデザインパターン」と,あと「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)」くらいかな.ただしリフ

    自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記
  • Javaプラットフォームにおけるコード自動生成の考え方の変遷 - 達人プログラマーを目指して

    普段は上位のフレームワークや製品の中に隠蔽されているため、一般の業務アプリケーションのプログラマーには気づきにくいことですが、同じJava言語の環境といっても、時代によってコード自動生成に対する考え方は変わってきています。建材が木、石、鉄筋コンクリートと変化すれば当然建物の工法や設計も異なるように、フレームワークやソフトウェアのアーキテクチャー、開発手法は技術の進歩に合わせて望ましい形に進化させていかなくてはなりません。 ここで、Javaプラットフォームの自動生成に関する技術動向について簡単にまとめてみたいと思います。 昔は静的なソースコード生成が中心 昔といってもほんの10年くらい前のことですが、JDK1.2やJava IDL(CORBA)、RMI、EJB1.xなどが使われていた時代のことです。一部の先進的な研究を除くと、この時代にJavaで自動生成というと一般的にソースコードを自動生成

    Javaプラットフォームにおけるコード自動生成の考え方の変遷 - 達人プログラマーを目指して
  • Free Web Hosting - Your Website need to be migrated

    check Unlimited Number of Websites check Unlimited Email Accounts check Unlimited Bandwidth check 2X Processing Power & Memory check LiteSpeed Cache check WordPress Acceleration (LSCWP) check Cloudflare Protection check Github Integration check 24/7/365 Support check Easy Website Builder check 99.9% Uptime Guarantee check DNS Management check Unlimited MySQL Databases check 100 Subdomains check Un

    Free Web Hosting - Your Website need to be migrated