タグ

2017年3月1日のブックマーク (7件)

  • スレッドとオブジェクトインスタンス - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs

    さてさて、この blog、基的には玄人向けに濃い話題ばっかり書いていたのですが、実は最近、新人さんの方々にも割と読んでいただいていることが判明。ちょ、さすがにぜんぜん意味不明なエントリが多いのでは?? とか思ったりするのですが、そんな感じだとたまには割と入門者向けのエントリも書いてみたくなります。そんなわけで、今日はたまには基に立ち返って、スレッドとオブジェクトインスタンスの話題を書いてみます。このネタを取り上げようと思ったのは、ある人からの質問メール。(ちょっと微修正しましたが^^) 「最近、3 階層のアプリケーションを、課題で作っていたんですよ。 そして、その UI 層の入力チェックメソッドを、 メンバメソッドにすべきか static メソッドにするかを考えていて、 ふと気になったことがあります。 static メソッドだと、メンバメソッドと違って、毎回インスタンスを 生成する必要

    スレッドとオブジェクトインスタンス - とあるコンサルタントのつぶやき - Site Home - MSDN Blogs
    motsuni2
    motsuni2 2017/03/01
  • Java仮想マシンの実装技術

    PPLサマースクール2016「商用Java処理系の研究開発」のパート2です. http://ppl.jssst.or.jp/index.php?ss2016 Java言語処理系の実装について詳説する.まずJava仮想マシンの概要について述べ,その主要な構成要素として,クラス管理とインタープリタ,ヒープ管理とガベージコレクション,スレッド管理と同期機構,JITコンパイラとの連携,などについて説明する.性能改善のために行った各種手法についても触れる. 他のパート 1 Javaの登場と発展 http://www.slideshare.net/Tamiya_Onodera/java-66081108 2 Java仮想マシンの実装技術 http://www.slideshare.net/KiyokuniKawachiya/java-66003903 3 Java Just-In-Timeコンパイラの

    Java仮想マシンの実装技術
  • 正確なGCへの道

    リスト13.1: プリミティブ型と参照型 1: int primitiveType = 1; // プリミティブ型 2: Object referenceType = new Object(); // 参照型 Javaの変数に格納される型としてint、floatといったプリミティブ型があります(リスト13.1の1行目)。プリミティブ型はJava上では数値として扱われます。それと同様にC++(HotspotVM)上でもintやfloatといった数値として扱われます。 一方、Objectクラス(またはその子クラス)のインスタンスを指す参照型があります(リスト13.1の2行目)。参照型はC++(HotspotVM)上ではオブジェクトへのポインタとして扱われます。 ここで問題となるのがプリミティブ型はVM上で数値として扱われるという点です。つまり、プリミティブ型の値は偽ポインタの可能性があります。

    正確なGCへの道
  • コールスタックをassertする(※ただしクラスローダを越えられない) - 虎塚

    先日、メソッドの事前条件/事後条件の話をしていたところ、うちのししょーが「そもそもJavaのコントラクトの表現があまりに貧弱」と言っていました。 たとえば、 引数の値の範囲チェックができない メソッドの呼び出し順を保証してくれない といった話です。自分は気にしたことがなかったのですが、そういわれればそうですね。 コールスタックをassertするコードを、手持ちの方法で書いたらどうなるだろう?とふと思い、書いてみました。 しかし、クラスローダを越える方法は、自分の「手持ちの方法」の範疇外だったので、以下略。。。(そこが大事なのに) package sample.ac; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class AssertCaller { static

    コールスタックをassertする(※ただしクラスローダを越えられない) - 虎塚
    motsuni2
    motsuni2 2017/03/01
  • 【真夏の夜のミステリー】Tomcatを殺したのは誰だ? (1/3) - @IT

    【真夏の夜のミステリー】Tomcatを殺したのは誰だ?:現場から学ぶWebアプリ開発のトラブルハック(6)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) 【第1章】Tomcatが無応答!? トラフィックの多い大規模サイトでは、その負荷のためにさまざまな問題が発生する。それらの問題を回避するには、性能を考慮して作られたアプリケーションや、ノウハウに基づいたミドルウェアのチューニングが必要となる。 TomcatはServletコンテナとしての長い歴史を持ち、多くの採用実績を持つオープンソースのアプリケーションサーバ(以下、APサーバ)だ。大規模なサイトで採用される事例も出てきており、To

    【真夏の夜のミステリー】Tomcatを殺したのは誰だ? (1/3) - @IT
    motsuni2
    motsuni2 2017/03/01
  • Java API 訴訟の件で私が Google よりも Oracle の肩を持つ理由 - Qiita

    はじめに Java API を巡って OracleGoogle の訴訟が続いています。世間の論調を見ていると、「OracleGoogle」の構図を「プロプライエタリ対オープンソース」と位置付け、あたかも Google が正義の味方であるかのように扱っていますが、この件に関しては、私は逆の立場です。むしろ、「Google けしからん」と思っています。私がそう思う理由をここに書きます。 Java の互換性 Android が登場するずっと前から、業界の皆は、JCP (Java Community Process) に則り、協議の上 Java API の仕様を決めてきました。仕様を策定する際には、RI (Reference Implementation) (リファレンス実装) と TCK (Technology Compatibility Kit) (テスト群) も同時に用意します。

    Java API 訴訟の件で私が Google よりも Oracle の肩を持つ理由 - Qiita
    motsuni2
    motsuni2 2017/03/01
  • Javaと偽Javaの話。 - なるようになるかも

    qiita.com これの話。ブコメに書こうとしたら4000字は入らなかった。 Microsoft Java VM かつての WIndows には MS 製の Java VM が搭載されていました。 古代の Java は「Write once, run anywhere」を掲げていた通り、クライアントサイドで Java アプレットとして利用されるのが主流でした(サーバーサイドで動くようになって、真価を発揮した感じがあります)。 しかし Java VM の仕様は、パフォーマンスについての記述は曖昧になっており、OS ごとの実装の違いによって、実行速度に顕著な差がありました。 Windows の Sun 純正の Java VM は性能が悪かったため、MS は独自の Java VM を開発し、Internet Explorer にバンドルしました。調子に乗った MS は Windows GUI

    Javaと偽Javaの話。 - なるようになるかも
    motsuni2
    motsuni2 2017/03/01