2019年3月15日のブックマーク (11件)

  • [調査]JVMのスタックサイズについて - Akira's Tech Notes

    Table of Contents 1. 環境 2. JVMのスタック領域について 3. Javaスレッドのスタックページ構成 4. HotSpotの実装 4.1. glibc guard page 4.2. HotSpot Guard Pages 4.3. Normal Stack 5. スタックサイズの制御 6. ulimit -sの影響範囲 7. -Xssと-XX:ThreadStackSizeの違い 8. 参考 1 環境 記事の内容は以下環境を前提としています。 GNU/Linux x86_64 OpenJDK 64-Bit 1.7.0_xx 2 JVMのスタック領域について -Xss 、 -XX:ThreadStackSize パラメータ値と ulimit -s リソースリミット制限値を混 乱している記事を見受けたため、HotSpotの中身を調べることにしました。 結論を先に、

    yon666632
    yon666632 2019/03/15
    java jvm
  • 第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp

    あのWebサービスもJVMを利用している 「Javaは大規模なエンタープライズシステムにしか使われない」 それが常識だと思っていませんか? たしかに、これまでJava Virtual Machine(JVM)は、他の言語を実行すると遅く、Javaのプログラムを実行する環境にすぎないものでした。ところが、Java 7から実装されたInvokeDynamicにより、JVM上で、RubyPHPなどさまざまなコンピュータ言語で記述されたプログラムをより高速に実行できるようになりました。 これにより、今までエンタープライズでJava言語で記述されたプログラムを実行するだけの環境であったJVMが、汎用的な実行環境になったと言えます。また、これまでJavaの実行環境として使用されていたノウハウが、他の言語で記述されたプログラムを実行する際にも利用できます。 最近では、TwitterがJVMをアプリケー

    第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp
    yon666632
    yon666632 2019/03/15
    java jvm
  • Javaプログラミング入門その28 イベント処理を行うプログラム - 学生向けプログラミング入門 | 無料

    >>この記事には書き直した新しいページがあります。<< <<前  [TOP]  次>> Javaのイベント処理は、「イベント駆動型」と呼ばれる処理で行います。 イベント駆動型とは、オブジェクトに何らかのイベントが発生した場合はあらかじめ定義された事柄を実行する方法で、イベントが発生したかどうかはアプリケーションで判断して、それに対応する処理を行います。 こうすることにより、プログラマーは「イベントを待ち受ける」というようなプログラムを記述する必要が無くなり、「何が起こったときに何をする」という処理を記述することに専念できます。 Javaでのイベント処理は、イベント駆動型の処理を複数のオブジェクトを組み合わせて行っています。 「発生源のオブジェクト」->「イベントのオブジェクト」->「リスナのオブジェクト」 例えば、キャンバス上でマウスクリックされたとします。 この場合、「発生源はCanva

  • AMQPによるメッセージング | GREE Engineering

    こんにちは。GREEのプラットフォーム開発部でインフラ系の仕事をしているmdoi(@m_doi)と申します。よろしくお願いします。今回は、AMQPについて簡単に紹介したいと思います。 はじめに GREEで稼働中のサーバは、日々サーバの異常ログ、自己監視結果、メール等々、大量のメッセージをやり取りしています。しかしながら、共通のメッセージングインフラが存在しないため、それぞれが独立に色々なメッセージ送信を行っています。 サーバ台数の増大に伴って、メッセージ配送の負荷が無視できないレベルになって来ると、それらのメッセージングシステムについて、個別に負荷対策を施すなど運用上様々な問題が課題が出てきます。また、メッセージの種類によっては、その配送の仕組がスケーラビリティに欠けるものとが存在し、規模の増大に対応できなくなる恐れもあります。そのため、こういうった用途に使えるスケーラブルなメッセージング

    AMQPによるメッセージング | GREE Engineering
    yon666632
    yon666632 2019/03/15
    あとで読む
  • DevOps and Cloud InfoQ Trends Report - January 2018

    Experimenting with LLMs for Developer Productivity This article describes an experiment that sought to determine if no-cost LLM-based code generation tools can improve developer productivity. The experiment evaluated several LLMs by generating unit tests for some open-source code and measuring the code coverage as well as the manual rework necessary to make the tests work.

    DevOps and Cloud InfoQ Trends Report - January 2018
    yon666632
    yon666632 2019/03/15
    devops
  • JavaプログラマのためのKotlin入門 - Qiita

    KotlinAndroid の公式言語になることが Goole I/O 2017 で発表されました。 Java プログラマが Kotlin を始めることがこれから多くなると思うので、 Kotlin をスムーズに始められるように次の 3 点についてまとめます。 Javaとほぼ同じところ 新しい考え方が必要でつまづきがちなところ Kotlinならではの便利なこと すべてを一つの投稿にすると長くなるので連載形式とし、投稿では最初の「Javaと同じところ」について説明します。 Kotlinって何? 題の前に、 Kotlin について簡単に説明します。 まずは↓の Android のコードを見て下さい。これは Android Studio が生成するテンプレートの Kotlin 版です。 Android アプリ開発者であれば、初見でも概ね何をしているのかわかると思います。 class Ma

    JavaプログラマのためのKotlin入門 - Qiita
    yon666632
    yon666632 2019/03/15
    kotlin
  • [Think IT] 第3回:マルチスレッドなんて怖くない! (2/3)

    Java言語仕様のスレッドを読み解く Java言語仕様のスレッドに関する記述は「17 Threads and Locks(ロックとスレッド)」で説明されています。この章は以下のような構成になっています。 Java言語仕様のスレッドの章では特に「17.4 Memory Model(メモリ・モデル)」に大きく分量を割いて説明をしています。どちらかといえばJavaVM実装者向けの内容が色濃いですが、Javaプログラマとしても有益な情報が得られます。 「17.4.1 Shared Variables(共有変数)」には以下のような記述があります。 Two accesses to (reads of or writes to) the same variable are said to be conflicting if at least one of the accesses is a write.

    yon666632
    yon666632 2019/03/15
    java multi thread
  • 今こそStream API入門

    Java8Launchで発表させていただいた時の資料です. 最新のものはこちらです. http://www.slideshare.net/bitter_fox/ss-35882498 「サービスの利用者がどんなユーザーで構成されているのか」を問われた経験はありませんか? サービス利用者の構成がわかれば、サービスのテイスト、広告の訴求内容、商品の品揃え、改善施策の検討など、各種戦略に活かすことが出来るのでサービス運営者としては知っておきたい重要な要素です。 前半では「サービスの利用者がどんなユーザーで構成されているのか」を問われセグメントを作成する際に、どのような切り口や手順があるのかを紹介します。セグメントを効果的に作成することで、今まで気づかなかった視点が得られます。 後半では、機会学習の手段を用いたサービスの改善について見ていきます。 前半の基礎集計により導かれたユーザーの分類をサー

    今こそStream API入門
    yon666632
    yon666632 2019/03/15
    java stream
  • Spring Bootの本当の理解ポイント #jjug

    The document discusses Spring configuration and Java-based configuration. It covers topics like using @Configuration classes to define beans, @ComponentScan to find beans, @Bean to define beans, and using Java configuration as an alternative to XML configuration in Spring. It also provides examples of configuring ViewResolvers, controllers and enabling Spring MVC features with annotations like @En

    Spring Bootの本当の理解ポイント #jjug
    yon666632
    yon666632 2019/03/15
    Spring
  • KotlinConf 2018 から見る 最近の Kotlin サーバーサイド事情

    2. KotlinConf 2018 から⾒る最近の Kotlin サーバーサイド事情 川⽥ 裕貴 LINE Corporation 2016年⼊社 開発1センター LINE開発1室 P Part チーム スタンプ・絵⽂字関連サーバー開発 (Java, Kotlin?) IoT 関連サービスの Server-side 開発 (全て Kotlin) HIROTAKA KAWATA @hktechno 3. KotlinConf 2018 から⾒る最近の Kotlin サーバーサイド事情 Microservices in LINE Shop •Armeria を利⽤した Thrift RPC で Microservices • Armeria: LINE 製 OSS HTTP/2 RPC ライブラリ https://line.github.io/armeria/ • LINE では、歴史的に

    KotlinConf 2018 から見る 最近の Kotlin サーバーサイド事情
    yon666632
    yon666632 2019/03/15
  • AWSにおける形式手法 - masateruk’s blog

    AWSにおける形式手法の記事(https://lamport.azurewebsites.net/tla/formal-methods-amazon.pdf)を読んだ。特に重要だと思われる示唆を3つあげると以下の通り。 産業界では長年形式手法は多大な工数をかけて比較的容易なコードの断片を検証するというイメージがあったが、これはまったくの誤り。現実の問題に適用可能である アマゾンでは10の現実のシステムに適用して、すべてで効果が得られた。難解なバグの発見したり、正当性を犠牲にすることなく確信を持って最適化を施せた 7つのチームでTLA+を使用。エンジニアは2−3週間で学習することができる 以下は、読んでいる途中で書きだした要点。 AWSでは2011年以降形式仕様とモデル検査を使用している 複雑な分散システムを検証するにあたって、従来の手法 ― 設計レビュー、コードレビュー、静的解析、ストレス

    AWSにおける形式手法 - masateruk’s blog
    yon666632
    yon666632 2019/03/15