タグ

Javaに関するclairvyのブックマーク (15)

  • Gradle wrapper のバージョン更新についてのメモ - Qiita

    Gradle の公式ドキュメントでは Gradle wrapper をプロジェクトに追加することが推奨されている。 また、Gradle wrapper のためのファイルをリポジトリに入れて管理することも推奨されている。 具体的には下記の 4 ファイル。 gradlew (Unix Shell script) gradlew.bat (Windows batch file) gradle/wrapper/gradle-wrapper.jar (Wrapper JAR) gradle/wrapper/gradle-wrapper.properties (Wrapper properties) Gradle wrapper で使用される Gradle のバージョンは gradle/wrapper/gradle-wrapper.properties に記述されており、Gradle のバージョンもバ

    Gradle wrapper のバージョン更新についてのメモ - Qiita
  • Gradle入門 - Qiita

    追記1: コメントでの指摘を受け、gvmに関する記述を削除 この記事は、日経ソフトウェア 2013年 06月号 04/24発売 のステマ記事です。 6月号に、@keiji_ariyama(前座部分担当) と 僕(Gradle概要担当) と @sys1yagi(Android対応部分担当) という分担でGradle入門的な記事を書きました。 ですが、僕の目的としてはトップゲート社員への布教を主目的と考えて書いたため、来要求されている分量を(わざと)大幅にオーバーして書いていました。雑誌に掲載されなかった溢れ分をネットで公開して良いか打診した所、「全文掲載でも良いですよ」という豪気なお許しを頂いたのでここに公開します。この場を借りてお礼申し上げます。 プロの編集さんの手を経て、だいぶわかりやすく噛み砕かれたものが雑誌のほうには掲載されていますので、ここに書いてある内容が難しいなぁ…と思ったら

    Gradle入門 - Qiita
  • Log4j 2にも採用されたLMAX Disruptorはなぜ狂ったように速いのか?

    LMAXという会社はおそらくFX業者で、筆者はLMAXの開発者の講演を、InfoQの動画で何度か見たことがあった。 彼らは非常に特異な集団で、さしずめ「Javaのスピード狂」という感じだ。 印象的なのは、シングルスレッドで仕事を片付けることを強調している点だ。 「Javaならマルチスレッドで並列処理すれば性能が出ると広く思われているが、我々の仕事においてはシングルスレッドが最速だ」というような主張を何度も見た。 ゴールドマンサックスといいLMAXといい、やはり多額の金が動く会社でガチでJavaをやっている連中はカリカリにチューニングするため、技術的には非常に面白い。 彼らがコアのライブラリをOSS化してくれるというのは、金融業界を否定的な目で見る筆者からすると複雑だが、悔しいことに参考になる。 LMAX DisruptorはJavaのライブラリだ。Producer/Consumerパターン

    Log4j 2にも採用されたLMAX Disruptorはなぜ狂ったように速いのか?
    clairvy
    clairvy 2015/01/05
  • Javaのスレッドダンプの読み方 - ablog

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

    Javaのスレッドダンプの読み方 - ablog
  • 最強のJVMチューニング・ツール: GCログを可視化するGCViewerとリモート接続でプロファイリング可能なVisualVM

    まずは倍率を1000倍から5000倍に上げます。 Data Panelも一旦非表示にします。 さて、これを見ると、使用済みヒープと使用済みNew領域は比例しつつ一定の間隔で上下しています。 ここからは特異点は見えないので、一旦非表示にします。 イニシャル・マークレベル(黄色の線)も一定で、分析対象としづらいので非表示にします。 すっきりして少し見やすくなりました。 ここから、 最も時間がかかっているのはイニシャル・マーク イニシャル・マークは1分間に2回程度発生している ということが読み取れます。 イニシャル・マーク では、そもそも、コンカレントGCにおけるイニシャル・マークとは何なのでしょうか。 OracleのドキュメントのReviewing GC with the CMSによると、New領域から参照されているオブジェクトをマークするのだと。 Stop the Worldを伴い、マイナー

  • 「Javaによる関数型プログラミング」読んだ — 裏紙

    さくらばさんに献して頂きました。 ありがとうございます! Javaによる関数型プログラミング――Java 8ラムダ式とStream 物理的に薄いですし、ラムダ式と関数型プログラミングへの入門として良いだと思います。 チームの後輩に読んで欲しい。 関数型プログラミングへの入門に丁度いいということで、数年前にコップで入門を済ませていた私としては少々物足りない気がしました。 ただし7章は末尾再帰の最適化を行うという内容で、そこはJavaコンパイラはサポートしていない部分なので興味深く読みました。 恥ずかしながら、末尾再帰の最適化を自分で書くという発想は無かったので参考になります。 以下、気になった点を挙げます。 タイポも含む。 2〜3ページ。宣言的なコードとはどういうことかを、 いきなりラムダ式を登場させるのではなくJava 7までの語彙で説明しているのが良いですね。 28ページの例2-

  • Java クラスファイルの構成 その1 - Qiita

    class_file { magic // 0xcafebabe minor // 2 byte major // 2 byte constants modifiers // 2 byte thisClass // 2 byte superClass // 2 byte interfaces fields methods attributes } クラスファイルの先頭には必ず 0xcafebabe (カフェベイビー) が入っています。 minor, major はクラスファイルのバージョン番号が入っています。 バージョン番号の次は 定数プール と呼ばれる構造体です。 定数プールはクラスファイルの大部分を占めており、クラスファイルの様々な場所から参照されます。 modifiers はクラスのアクセス修飾子等を表現するフラグの集合です。 thisClass に入っている値は定数プールのインデッ

    Java クラスファイルの構成 その1 - Qiita
  • 人類は Java をターミナル内で書く手段を確立していた - Qiita

    X なしで Eclim を使う方法。 導入 Vagrant や Docker の流行により、気軽に仮想マシンを使う時代になっています。すると開発にも仮想マシンを使うようにしてホストマシンはできるだけ汚さない方向に持って行きたいことになる。手軽に使いたいため当然 X 環境などは構築しない。 ここで問題になるのは IDE を前提にした言語。 IDE はウィンドウシステムの中で動くため、仮想マシンを X なしで使うと IDE の機能を使えず開発が厳しくなってくる。 具体的に言うと Java 、ジャバ、ジャヴァである。 書くときはあまりにも長い名前をタイプしたくないため補完が欲しくなり、読むときは名前解決のためのタグジャンプが欲しくなる。 追記 僕のモチベーションは VM の中に開発環境を閉じ込めてしまいたくて、かつ X を使いたくないところにあります。そうじゃない人はホストマシンで開発なり VM

    人類は Java をターミナル内で書く手段を確立していた - Qiita
  • Eclipse Vert.x

    import io.vertx.core.AbstractVerticle; public class Server extends AbstractVerticle { public void start() { vertx.createHttpServer().requestHandler(req -> { req.response() .putHeader("content-type", "text/plain") .end("Hello from Vert.x!"); }).listen(8080); } } import io.vertx.core.AbstractVerticle class Server : AbstractVerticle() { override fun start() { vertx.createHttpServer().requestHandler {

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    clairvy
    clairvy 2011/11/29
  • Dalvik仮想マシンのアーキテクチャ

    Dalvik仮想マシンのアーキテクチャ 1. Dalvik仮想マシンのアーキテクチャ 発表者 : 僻地の暗黒プログラマ kmt-t 2. 自己紹介 Web上での活動  ハンドルネーム : kmt-t  はてな ID : kmt-t2  Twitter ID : kmt_t 属性  僻地といいながら去年の10月から大阪在住です  組み込みプログラマらしい?  画像処理、ファイルシステムなどのミドルウェア中心  使用する言語はC++(not C)/C#/たまにPython  関数型言語はOcaml/F#派。あまり触れてませんが 3. 今後の話の前振り Dalvik仮想マシン三部作  Dalvik仮想マシンのアーキテクチャ  Dalvikバイトコードのリファレンスの読み方  DEXファイルフォーマット 今回は第一部のみを解説  機会があれば第二部、第三部もやりたい

    Dalvik仮想マシンのアーキテクチャ
  • DDMSを改造"せず"に、logcatに日本語出す!

    ちょいAndroidTypescriptいいよ。JenkinsとかGradleとか。APTもいいなー。

    DDMSを改造"せず"に、logcatに日本語出す!
    clairvy
    clairvy 2010/12/23
    logcat でUTF-8
  • Effective Java 読書会 8 日目 「それ enum で出来るよ」 - IT戦記

    はじめに 今日読んだところ 143 ページ〜 159 ページ 前回はこちら Effective Java 読書会 7 日目 「PECS! PECS! PECS!」 - IT戦記 int 定数とか使わない 型安全じゃないから enum 使う enum Hoge { FOO, BAR; } 簡単 メソッドも持てる enum Hoge { FOO, BAR; void a() { /* (snip) */ } } で、以下のように使う Hoge.FOO.a(); シングルトンも 最近の Java では enum でやるらしい! switch 文の代わりに固有メソッド enum Hoge { FOO { void a() { /*snip*/ } }, BAR { void a() { /*snip*/ } }; abstract void a(); } 以下のコードが // これはダメ swit

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • java 修得度問題 - aileron.cc

    1)Javaのプロセスに対してSIGQUITシグナルを送った時の動作を説明してください。 2)public static void main 関数を実装し Bをインスタンス化し、標準出力に "20-test" と出力される様にせよ package sample; class A<A> { class B<B> { public void out() { System.out.print(a); System.out.print("-"); System.out.println(b); } private A a; private B b; } /** * @param args */ public static void main(final String... args) { } } 3)public static void main を 実行した結果 hoge fuga hogehog

    java 修得度問題 - aileron.cc
    clairvy
    clairvy 2010/03/10
    Java 難しい.4番目は知識が足りない.
  • 1