タグ

javaとjava7に関するaoe-tkのブックマーク (8)

  • Java6 と Java7 の挙動の違いは、バグではありませんでした。 - 地平線に行く

    前回の記事(「Java6 と Java7 の挙動の違い(バグ?)」)に、id:expf さんからコメントをいただきました。 おそらく、最初のprintStackTrace呼び出しではStackOverflowErrorが出ていると思います。 その後、1つ前のTest.mainがcatch→printStackTrace呼び出し→StackOverflowError を繰り返して、少しずつ使えるスタックが増えます。 Java6のケースだと、途中で何回か「クラス名は出力できたがその後のスタック出力前にStackOverflowError」があるため、「java.lang.StackOverflowError」が何回も出力されているのだと思います。 Java7のケースでは、IdentityHashMapの初期化まで処理が進むようになると、初期化中にStackOverflowErrorが出て、1つ

    Java6 と Java7 の挙動の違いは、バグではありませんでした。 - 地平線に行く
    aoe-tk
    aoe-tk 2012/06/15
    「Java6からJava7で発生するエラーが変わったのは、おそらくJava7でクラスローダに手が入った(スレッドセーフにするために書き換えられた)からだと思います」ふむ。
  • Java SE 7徹底理解 第5回 New I/O 2の新しいファイルシステムインタフェース その2

    先月に引き続き、今月もNIO2で導入されたファイルシステムインタフェースについて紹介していきます。 簡単に前回のおさらいをしておきましょう。 新しいファイルシステムインタフェースは、既存のFileクラスの欠点を解決すべく導入されたAPIです。 ファイルシステムを表すのがjava.nio.file.FileSystemクラス、java.io.Fileクラスに対応するのがjava.nio.file.Pathインタフェースです。Pathオブジェクトに対するユーティリティメソッドはjava.nio.file.Filesクラスで提供されています。 先月はPathオブジェクトの生成、Fileオブジェクトとの相互変換、入出力などに関して説明を加えました。今月はFilesクラスで提供している機能を中心に説明を加えていきます。 ファイル・ディレクトリの作成 はじめに、ファイルやディレクトリを作成するところか

    Java SE 7徹底理解 第5回 New I/O 2の新しいファイルシステムインタフェース その2
  • Java SE 7徹底理解 第4回 New I/O 2の新しいファイルシステムインタフェース その1 | 日経 xTECH(クロステック)

    今回は、J2SE 1.4.0の話からはじめましょう。 J2SE 1.4.0がリリースされたのが2002年。すでに9年も経ってしまいました。 さすがに最近こそ使われなくなったものの、日においてはJ2SE 1.4.xが一番多く使われていたバージョンなのではないでしょうか。 そのJ2SE 1.4.0の時に新機能として導入されたのが、JSR 51 New I/O APIs for the Java Platform、通称NIOです。 NIOは、java.ioを補う新しいI/Oに関するAPIで、入出力に特化したバッファや、ストリームよりも高効率なチャネルなどを提供しています。また、ノンブロッキングI/OもNIOで導入されました。 NIOは一般にはそれほど使われていないようですが、GlassFishやTomcatなど多くのフレームワークやライブラリで導入されています。 しかし、JSR 51は当初から

    Java SE 7徹底理解 第4回 New I/O 2の新しいファイルシステムインタフェース その1 | 日経 xTECH(クロステック)
  • Java SE 7徹底理解 第3回 Fork/Join FrameworkからProject Lambdaへ

    先月に引き続き、今月もFork/Join Frameworkについて紹介していきます。 ハードウエアのトレンドはマルチコア、そしてメニーコアに向かっており、それにあわせてソフトウエアも変化していかなくてはいけません。そのためには、細分化したタスクを複数のコアに対してまんべんなく処理させることが必要になってきます。 そこで、タスクを細分化する手法として前回紹介したのが、分割統治法です。 分割統治法は問題領域を分割し、再帰して処理する手法です。再帰ごとに分割を行い、領域が十分に小さくなったら直接処理を行います。このようにすることで、タスクを細分化することができます。 分割統治法はソートや検索、行列操作などに応用することができます。これ以外にも数値積分や、チェスやオセロなどのゲームの枝狩りにも応用することができます。 そして、分割統治法を並行処理するためのフレームワークとしてJava SE 7に

    Java SE 7徹底理解 第3回 Fork/Join FrameworkからProject Lambdaへ
  • Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework

    Java SE 7徹底理解の2回目である今月は、並行処理のフレームワークについて紹介していきます。 Javaは1.0がリリースされた当初から、スレッドを使用することができました。筆者もJava 1.0で簡単にスレッドが使えることに感動したことを覚えています。 しかし、スレッドを安易に使ってしまうと、デッドロックやデータの破壊を引き起こしかねません。スレッドクラスは簡単に使えるものの、使いこなすには並列/並行処理についての適切な知識を必要としたのです。 そこで、より簡単に並列/並行処理を使うためのフレームワークであるConcurrency UtilitiesがJ2SE 5.0で導入されました。 Concurrency Utilitiesは非同期処理APIや、スレッドセーフで高性能な並行コレクション、ラッチやセマフォなどのロック機構、アトミック処理など並列/並行処理のためのさまざまな機能が含ま

    Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework
  • Java SE 7徹底理解 第1回 言語仕様の小さな変更 - Project Coin

    今月から、久々のJavaのメジャーバージョンアップであるJava SE 7を紹介していきます。 Java SE 6がリリースされたのが2006年12月ですから、もう5年にもなろうとしています。これだけの時間がかかってしまったことからもわかるように、Java SE 7の仕様が決まるまでは紆余曲折の歴史でした。 もともと、Java SE 7はJava SE 6と一緒に仕様を決め、簡単に実現できる機能をJava SE 6、実現に時間がかかる機能をJava SE 7にすることになっていました。その当時、Java SE 7に盛り込まれる機能としてリストアップされていたのが、クロージャやfriendです。 クロージャのすったもんだについては連載の「クロージャからProject Lambdaへ」で言及しました。その後、Project Lambdaは再び仕様が変更されています。 friendはスーパーパ

    Java SE 7徹底理解 第1回 言語仕様の小さな変更 - Project Coin
  • Project Coin/JSR 334 Documentation v0.83

    Table of Contents Overview Features Appendix Overview Project Coin/JSR 334 is an effort to add a set of small language changes to Java SE 7 under the JSR 336 umbrella JSR with the reference implementation developed in OpenJDK. The changes must be simultaneously small in specification, implementation, and testing. The small changes to the Java programming language in Java SE 7 are: Strings in switc

    aoe-tk
    aoe-tk 2011/03/03
    Java7に入る分のProject Coinの仕様
  • Plan B for Java 7: The Details - DZone Java

    A few weeks ago when Mark Reinhold announced that there were two possible plans for getting Java7 out the door, most people seemed to be behind the Plan B implementation, which meant we'd get a lighter version of Java7 earlier, rather than wait for all the features. Mark has recently posted details on his blog about what is actually to be included in Java7, and in the subsequent Java 8 release. Ja

    Plan B for Java 7: The Details - DZone Java
    aoe-tk
    aoe-tk 2010/10/13
    Java7に入る機能とJava8に延びた機能のまとめ
  • 1