タグ

javaに関するnobeansのブックマーク (346)

  • Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会 @ 東京へ参加しました! #jjug #j1jp - Challenge Engineer Life !

    今日は毎年のお楽しみ「JavaOne報告会」に参加してきました(^^) jjug.doorkeeper.jp 今回はJava SE 9とJava EE 8のリリース記念も兼ねたイベント名ですね。 会場は青山の日オラクルさん…ではなくYahoo!Japanさんでした!私は丸ノ内線で赤坂見附から行ったのですが、事前に教えていただいた以下動画のおかげでサクサクと迷わず到着できましたw ありがたや。 いいですかみなさん、今週末はのJJUG会場はヤフーですからね。 受付は2Fです、そこまでのいき方はここのビデオ参考にしてきやすい方法できてね。 繰り返しますが受付は2Fです。18F凸しても入れないのでよろしく。https://t.co/89j84lPAO9#JJUG— ことま (@kotomacontact) 2017年10月17日 JavaOneに関しては毎年、「ITProの最新Java情報局」で

    Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会 @ 東京へ参加しました! #jjug #j1jp - Challenge Engineer Life !
    nobeans
    nobeans 2017/10/22
    "どれも良かったのですが、Project Coinsが秀逸すぎました。自分もアメリカ行くといつも小銭余らせてしまうので、のっけからツボりましたw"
  • JavaOne 2017レポート、ここ数年で最も充実していたキーノート

    2017年10月1日から5日間、世界最大のJavaの開発者会議である「JavaOne」が開催されました。昨年までは、サンフランシスコのHilton Hotel、Parc 55 Hotelが会場でしたが、今年はMoscone Centerに場を移しました。米Sun MicrosystemsがJavaOneを主催していた時代はMoscone Centerでの開催でしたので、古巣に戻った感があります。 今年もキーノートセッションに加え、500近くのセッションが行われました。通常のセッションだけでなく、ハンズオンやチュートリアルなどもあり、様々なJavaの情報に触れることのできる5日間となりました。このJavaOneのレポートを2回にわたってお送りします。今回はキーノートセッションを中心に、次回は筆者が聴講したJava SE関連のセッションからレポートします。 キーノートセッションでは、米Orac

    JavaOne 2017レポート、ここ数年で最も充実していたキーノート
    nobeans
    nobeans 2017/10/19
    "ここ数年のJavaOneのキーノートセッションの中では最も充実" そうだったのかー / "Java EEについてのロードマップなどの情報が不足" / "黒歴史"
  • 新しいリリースモデルはJavaを使う人 全員要注目だった - きしだのHatena

    9月の頭くらいに、Javaのリリースモデルが6ヶ月ごとの短期リリースになるということが発表されてました。 で、「へぇ〜」みたいな感じで見てたのですけど、JavaOneでの話を聞くと、これ結構大変なのかも、ということになってそうなので、ちょっとまとめてみます。 追記:2018年05月の状況をQiitaでまとめています。 [Javaのサポートについてのまとめ2018 - Qiita](https://qiita.com/nowokay/items/edb5c5df4dbfc4a99ffb) Javaの新しいリリースモデル 公式情報はこちらにまとめられています。(10/4にアップデートされてます) http://www.oracle.com/technetwork/jp/java/eol-135779-ja.html ざっくり言えば、6ヶ月ごとに機能リリースを行い、3ヶ月ごとにメンテナンス/セキ

    新しいリリースモデルはJavaを使う人 全員要注目だった - きしだのHatena
    nobeans
    nobeans 2017/10/07
  • DashでJava SE 8 日本語ドキュメントに対応させてみた - mtgto's diary

    Java 9版はこちら Java SE 日語ドキュメントの置き場所を読んでいて気付いたのですが、いつの間にかJava SE 8の日語ドキュメントが公開されていたのですね(リンクはAPIドキュメント)。現時点ではまだすべてのクラスが日語化されてるわけではないようですが、よく調べるところを日語で読めるのはありがたいものです。 ということでMacユーザーならきっとみんな使ってるAPIビューアDashでJava SE 8のドキュメントを見る方法の紹介です。なおJava APIドキュメントのライセンスで、インターネットでの再配布は許可されていないため、Docsetの再配布をする予定はありません。予めご了承ください(ライセンスにcan be redistributed internallyとあるので、作ったものを個人的にお渡しすることならできるようです)。 ※この記事はJava SE 7編の続

    DashでJava SE 8 日本語ドキュメントに対応させてみた - mtgto's diary
  • Server::Starter から簡単に Java プロセスを起動できるようになった - tokuhirom's blog

    JVM には inetd から起動するときのために、file descriptor 0 をソケットとして開く機能がついている。Jetty 等もこの機能に対応しているので、簡単に利用できる。 file descriptor を 0 に固定出来る機能が Server::Starter にあればよかろうということで、以下のような指定で起動できるように実装した。 $ start_server --port=20000=0 java EchoServer この機能により、Java も LL と同様な形態でアプリケーションを運用することが可能となる。 Java では昔から ClassLoader 機構を利用することによりホットデプロイを行うことが可能だが、リソースの解放が漏れるなど開発時の難しさが指摘されている。 Server::Starter 方式では JVM のプロセスごと死ぬので、綺麗な状態で都

  • Intern Memory: Unlocking the Secrets of Java 6, 7, and 8

    Home Blog String Intern in Java 6, 7, and 8: The Memory Optimization If you’re diving into the world of Java programming, understanding how string intern works in Java 6, 7, and 8 is crucial. String intern is a memory optimization technique that can significantly impact the performance of your Java applications. In this comprehensive guide, we’ll explore everything you need to know about string in

    Intern Memory: Unlocking the Secrets of Java 6, 7, and 8
    nobeans
    nobeans 2015/09/17
    StringコンスタントプールはJava6まではPermGenだったけどJava7からはHeapに。
  • JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ

    ブログはJava8(特にMetaspace)に対応していない。 下記にJava8以降に対応した記事を記載する(予定)。 blog.pepese.com JavaVMのメモリ領域について JavaVMが管理するメモリ領域について 階層1 階層2 階層3 説明 Javaヒープ JavaVM上で起動するJavaプログラムのリソースを管理する領域。New領域とOld領域で構成される。 l" New領域 新規オブジェクトと閾値(-XX:MaxTenuringThreshold)未満のオブジェクトが配置される。(Young領域とも呼ばれる) l l" Eden領域 新規のオブジェクトが配置される。 l l" From領域 CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされる。(S0やS1とも呼ばれる) l lー To領域 CopyGC(Scav

    JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ
    nobeans
    nobeans 2015/09/16
  • まじめにJVMチューニング: 第2回 GCログをみる

    きほんのきです。 まずはログを見ます。 GCログを出すようにしていない場合は、GCログを出すようにします。 -Xloggc:/var/log/gc.log # 出力先パス -XX:+PrintGCDetails -XX:+PrintGCDateStamps の3つのパラメータを指定してjavaを起動します。 java -XmsXXXXM -XmxXXXXM -Xloggc:/var/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -classpath <クラスパスとか> <プラグラム> <引数> このようにして実行しGCログを採取します。 (上記の例では/var/log/gc.log) で、開いてみると、こんな感じの文字列がつらつらと並んでいます。 ※私の環境では、GCアルゴリズムをコンカレントGCとしています。 2014-01-

    nobeans
    nobeans 2015/09/16
  • Javaアプリケーションサーバの監視 - Chonaso's Commentary

    渋谷Java第二回で発表した内容のもう少し掘り下げた内容です。 主にUNIX系OSでのJavaアプリケーションサーバ運用を想定しています。 なおJava7以前のVMを取り扱っていますが、Java8においてもPermanent以外はほぼ同様かと思います。 運用フェーズのリソースリーク メトリクスの可視化 JVMの監視観点 各ヒープ領域のサイズと使用量 Full GCの頻度 GCログの解析 ファイルオープン数 ヒープ統計情報 別の可能性:純粋なメモリ不足 リソースリークの結果、危なそうだったら… 運用フェーズのリソースリーク 「​運​用​が​始​ま​っ​て​か​らJavaWebアプリの​リ​ソ​ー​ス​障​害が発​覚​す​る」ということがちょいちょいあります。 特に開発と運用が綺麗に分離されている組織などではエアポケットになりやすい部分かと思います。 もちろんリソースリークの起きないコードを書

    Javaアプリケーションサーバの監視 - Chonaso's Commentary
    nobeans
    nobeans 2015/09/16
  • Java Optionの一覧表示 - kobtea.net

    JavaのOptionは口コミとかググって知ったオプションを使うとかでイマイチ全体観がつかめない。 そんなときは-XX:+PrintFlagsFinal等を使うと幸せになれるかもしれない! (しかしこのOptionも先の例に漏れず偶然知った) Java Optionを表示するには3つのOptionがある。 -XX:+PrintFlagsFinal: 最終的な設定値 -XX:+PrintFlagsInitial: 初期値 -XX:+PrintCommandLineFlags: コマンドライン上で与えた設定値 -XX:+PrintFlagsFinal Option $ java -XX:+PrintFlagsFinal -version [Global flags] uintx AdaptiveSizeDecrementScaleFactor = 4 {product} uintx Adapt

    nobeans
    nobeans 2015/09/16
  • Javaでサムネイル作成 – yusuke.blog

    Pebbleの管理画面でサムネイル作成を可能にするため、ちょっと調査してみました。 検証に使ったのは先週携帯で撮った霧のサンフランシスコ。 1600×1200でサイズは380kb。 このサムネイルは iPhoto で作成したもの。 綺麗な縮小画像を作るにはAreaAveragingScaleFilterを使うのがキレイ!って情報がちらほらある。 どうやら内部的にAreaAveragingScaleFilter を使ってくれるっぽい BufferedImage#getScaledInstance() を使って実験。 直接 AreaAveragingScaleFilter を触るよりコード量が少なさそうなので。 (1)コードはこんな感じ private static void scaledInstance() throws Exception { int height = 240; int w

    Javaでサムネイル作成 – yusuke.blog
    nobeans
    nobeans 2015/06/25
  • Date and Time API 相互変換チャート - Programming Studio

    Date and Time API の主要な日付・時刻クラスについて、相互変換を図にしてみました。これは昨年 3 月の JJUG Java 8 ローンチ・イベントの発表資料に収録した図を、印刷に耐えられるよう改版したものです (マスタを Illustrator 形式で作成)。 イメージは以下の通りです。 PDF 形式も用意しました → jsr310-conversions.pdf この図を持っていても皆様の給料は上がりませんが、Date and Time API の使い勝手は少しだけ上がります。

    Date and Time API 相互変換チャート - Programming Studio
    nobeans
    nobeans 2015/06/15
  • Javaのプログラムはどうやって動いているの? GC編

    2015.04.24 JJUGナイトセミナ Javaのプログラムはどうやって動いているの? GC編Read less

    Javaのプログラムはどうやって動いているの? GC編
  • Javaのプログラムはどうやって動いているの? JVM編

    Yahoo! JAPANのIaaS基盤では200超のOpenStackクラスタが稼働しており、それらのコントロールプレーンをKubernetes上にデプロイしています。IaaSチームで管理している十数のKubernetesクラスタは古いバージョンのまま運用が続けられていたため、現在、段階的にバージョンアップおよびその自動化に取り組んでいます。このようなクラスタ群をメンテナンスする中で、工夫した点や失敗した点、得られた知見を紹介します。 Yahoo! JAPAN Tech Conference 20222022年2月3日、4日に開催しました。 https://techconference.yahoo.co.jp/2022/ アーカイブ動画はこちらからご覧ください。 https://youtu.be/F5EQqWOw8So

    Javaのプログラムはどうやって動いているの? JVM編
    nobeans
    nobeans 2015/05/23
  • Java の AST を解析できる javaparser がアツい!!! - tokuhirom's blog

    https://github.com/javaparser/javaparser javaparser は Java をパースして AST にしてくれるライブラリである。 この手のライブラリは数多あるのだが、ほとんどのものが Java 1.5 ぐらいでメンテナンスが止まっている。 実際このライブラリもメンテナンスが止まっていたのだが、Java 1.8 対応版とし開発が再開されたものだ。 このライブラリはパーサーライブラリであるから、文字列をパースして AST を構築してくれるというものになっている。 実際どのような AST が構築されるのかが気になるところなので、構築された AST をダンプできるツールを groovy で書いた。 #!/usr/bin/env groovy @Grab('com.github.javaparser:javaparser-core:2.1.0') impor

    nobeans
    nobeans 2015/05/21
    javafmtコマンド実現の機運高まる/ s/args[1]/args[0]/
  • JavaのString生成方法がボトルネックになっていた話 - WAF Tech Blog | クラウド型 WAFサービス Scutum

    はじめに 先日、私たちが開発しているクラウド型WAFサービス、Scutum(スキュータム)において、予想していなかった箇所の修正によってサーバの負荷が大幅に減るということがありました。原因はこのエントリのタイトルにもあるように、Stringクラスのインスタンスを生成する際の方法にありました。 Stringクラスのコンストラクタとcharset Stringクラスにはいくつかのコンストラクタが用意されています。我々が使っていたのはString(byte[] bytes, String charsetName)です。2つめの引数で、"MS932"や"UTF-8"のような文字集合(以下charset)を明示的に指定するものです。 ScutumのようなWAF(Web Application Firewall)は通常のウェブアプリケーションとは異なり、起動している間にさまざまなcharsetを扱うこ

    JavaのString生成方法がボトルネックになっていた話 - WAF Tech Blog | クラウド型 WAFサービス Scutum
  • Optionalの取り扱いかた - 日々常々

    JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメソッド 値を取得するもの 値を使用するもの Optionalのまま扱うもの まとめ なお、一通りと言いつつOptionalIntとかはスルーしています。機会と書くことがあればそのうち書くかもしれません。 Optionalについては諸事情(遅筆とか理解不足とか分量とか)によりJavaエンジニア養成読では軽い紹介にとどまっておりましたので、補足としてお読みいただけると幸いです。あと、この辺も参考にどうぞ。 OptionalのJavadoc 一通り触って適当にコメント書いたコード(GitHub/sandbox)

    Optionalの取り扱いかた - 日々常々
  • Find out your Java heap memory size - Mkyong.com

    In this article, we will show you how to use the -XX:+PrintFlagsFinal to find out your heap size detail. In Java, the default and maximum heap size are allocated based on this – ergonomics algorithm. Heap sizes Initial heap size of 1/64 of physical memory up to 1Gbyte Maximum heap size of 1/4 of physical memory up to 1Gbyte However, above algorithms are just for reference, it may vary in different

    Find out your Java heap memory size - Mkyong.com
    nobeans
    nobeans 2015/04/15
  • Javaパフォーマンス

    書ではJVMのチューニングとJavaプラットフォームでの問題解決の双方からJavaパフォーマンスの「アート」と「サイエンス」を明らかにします。Javaアプリケーションのテスト手法やベンチマーク測定、パフォーマンス分析に必須のモニタリングツールを学んだうえで、さまざまな性能改善について議論します。JITコンパイル、ガベージコレクションというチューニングが大きな役割を果たす2つの仕組みについて最初に考察します。続いて、Javaプラットフォームのさまざまな側面で高いパフォーマンスを発揮するためのベストプラクティスを紹介します。具体的には、Javaのヒープメモリ、ネイティブメモリ、スレッド、Java EEのAPI、JPAとJDBC、そしてJava SEのAPIでのヒントを取り上げます。Java 8対応。 目次 監訳者まえがき まえがき 1章 イントロダクション 1.1 概要 1.2 プラットフォ

    Javaパフォーマンス
    nobeans
    nobeans 2015/03/25
  • JavaのTimSortがバグってる件について | さにあらず

    Python で実装され、その後 Java にも移植されたソートアルゴリズムである TimSort が盛大にバグっていることが発見されました。 このバグがどのようにして発生するのかについては、以下のドキュメントを精査して下さい。 TimSort fails with ArrayIndexOutOfBoundsException on worst case long arraysOpenJDK’s java.utils.Collection.sort() is broken: The good, the bad and the worst caseどんなことが起こるのか#通常の利用では想定しえない場所でArrayIndexOutOfBoundsExceptionが発生します。 例えば、以下のようなスタックトレースになります。 Exception in thread "main" java.l

    JavaのTimSortがバグってる件について | さにあらず
    nobeans
    nobeans 2015/02/26