タグ

javaに関するNagiseのブックマーク (463)

  • ざっくりわかった気になるモダンGC入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!@yokotaso です! 2018/05/26のJJUG CCC 2018で「ざっくりわかった気になるモダンGC入門」というタイトルで登壇させていただきました。 現在開発中の新しいGCアルゴリズムをざっくり理解することをテーマに発表しました。 発表練習用に作ったカンペの内容を公開します。ブックマークコメントでもツイートでも感想を書いていただけると喜びます! 発表資料は、speakerdeck にあります。はじまり〜はじまり〜 はじめに 今日はざっくりわかった気になるモダンGC入門というお話をさせていただきます。 現在開発中のGCアルゴリズムの全体像を理解してもらうことを目的としたセッションです。よろしくおねがいします。 さて今日のアジェンダですが、まず簡単にこれまでのGCを復習した後に新しいGCが必要になってきた背景について少し話します。 次にShenandoahGC、ZGC、E

    ざっくりわかった気になるモダンGC入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
    Nagise
    Nagise 2020/05/03
  • Java virtual machines, Java development kits and Java runtime environments

    JVMs, JDKs and JREs Introduction This page is supposed to give an overview of Java virtual machines (JVMs), Java development kits (JDKs), Java runtime environments (JREs) and related products. There are four major sections: Java development kits and Java runtime environments, standalone Java virtual machines, Java products for embedded systems and Just-in-time (JIT) compilers. JDKs and JREs Listed

    Nagise
    Nagise 2020/05/02
  • Javaの現状:世界で最も人気のあるプログラミング言語の一つであるJavaの動向とデータ

    成功者がどのようにNew Relicを使用してKubernetesのパフォーマンスを4倍に向上させ、拡張性とスループットを改善したかをご覧ください。

    Nagise
    Nagise 2020/04/23
  • JavaバイトコードをJavaScriptにコンパイルする「CheerpJ 2.1」がリリース

    CheerpJは、Javaバイトコードを事前にコンパイルすることで、WebAssemblyJavaScriptでの実行を可能にするソリューション。完全なJavaランタイム環境、Java-JavaScript双方向の相互運用性を備えており、仮想ファイルシステム、入出力、ネットワーキング、オーディオといった、Webブラウザベースの機能を提供する。 今回リリースした「CheerpJ 2.1」では、いくつかの最適化とバグ修正を行ったメンテナンスリリースで、JavaScriptの相互運用性をさらに高めている。 Java例外処理を最適化したことで、より効率的なJavaScriptコードへのコンパイルを実現したほか、ネイティブのJavaリフレクションコールも大幅な最適化によって、標準のJavaによる呼び出しと比較してオーバーヘッドが少なくなった。また、事前のコンパイルによって出力されるJavaScri

    JavaバイトコードをJavaScriptにコンパイルする「CheerpJ 2.1」がリリース
  • Java で Scala の Type Safe Builder パターンをエミュレートする

    class: center, middle ## JavaScala の <br/><strong>Type Safe Builder パターン</strong><br/>をエミュレートする Burikaigi2020 02/01 --- class: left, middle ## 自己紹介 * 中村 学(Nakamura Manabu) * [@gakuzzzz](https://twitter.com/gakuzzzz) * Tech to Value 代表取締役 * Opt Technologies 技術顧問 <img src="../images/opt_logo_1.jpg" alt="Opt Technologies" width="450" style="margin-left: 0px" /> * F-CODE CTO <img src="../images/f-c

    Nagise
    Nagise 2020/03/03
  • 「マイクロソフト版Java」にサン激怒――解決したのは口止め料?

    「マイクロソフト版Java」にサン激怒――解決したのは口止め料?:温故知新コラム(1/2 ページ) 世の中に登場して半世紀しか経たないコンピュータにも、歴史が動いた「瞬間」はいくつも挙げることができる。ここに紹介する「ビジュアル」もまさしくそのひとコマ――。 サンのJavaは100%純正! 1997年10月14日、日サン・マイクロシステムズ(現サン・マイクロシステムズ株式会社)は、100% Pure Javaに準拠したJavaアプリケーションの開発、マーケティング、販売支援を行う支援プログラム「100% Pure Java Initiative」を日で開始すると発表した。 今となっては「100% Pure Java」という呼称自体にも違和感があるが、当時、マイクロソフトがWindowsプラットフォーム向けにJavaの仕様を改変した、いわゆる"マイクロソフト版Java"を発表していた。具

    「マイクロソフト版Java」にサン激怒――解決したのは口止め料?
    Nagise
    Nagise 2019/10/30
  • OpenJDK コミュニティに参加してみよう #jjug

    First step of contribution for OpenJDK in Japanese on JJUG CCC 2016 Spring

    OpenJDK コミュニティに参加してみよう #jjug
    Nagise
    Nagise 2019/05/30
  • GitHub - google/error-prone: Catch common Java mistakes as compile-time errors

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - google/error-prone: Catch common Java mistakes as compile-time errors
    Nagise
    Nagise 2019/04/04
    静的解析
  • jpackageでJavaアプリのインストーラーを作る - きしだのHatena

    Javaアプリケーションのインストールパッケージを作れるjpackageが、どうもJDK13に入りそうな勢いでEarly Accessが出てたので試してみます。 jpackageは、JavaFXにあったjpackagerをベースにしたパッケージングツールです。 JEP 343: Packaging Tool EAはこちらからダウンロードできます。開発中のJDK13をベースにしてると書いてありますね。 jpackage ※12/8追記 Java 14でincubatorモジュールとして含まれることになりました。 Windowsで必要なもの Windowsでインストーラーを作るには、iscc.exeが必要で、これはInno Setupに入ってます。 jrsoftware.org // Jordan Russell's Software ※12/8追記 Java 14では不要になったようです あ

    jpackageでJavaアプリのインストーラーを作る - きしだのHatena
    Nagise
    Nagise 2019/03/07
  • 2019年のJavaを予測する

    原文(投稿日:2018/12/31)へのリンク 2018年は,InfoQの記事でもまとめているように,Javaにとって非常に興味深い年であった。 2019年になったので,新たな年にJavaとその関連技術において注目すべきことを確認し,今年は何が起こるのかを予測してみたい。 免責事項:以下は著者の個人的な予測であり,Oracle,InfoQ,その他による公式声明あるいはロードマップといったものではない。 Java 11の小規模な,しかし重要な意味を持つ導入が始まる これは,今回のリストの中でも最も論議を呼ぶ予測かも知れない。Java 9と10は事実上,運用環境にはまったく展開されていない。多くの開発チームが,Java 8の次のLTSリリースを待っていると思われるからだ。それが現れたのだから,Java 11は少しずつ,しかし着実に採用され始めるようになる。 採用の大きな推進力となるのは,マイク

    2019年のJavaを予測する
    Nagise
    Nagise 2019/02/26
  • 事例から学ぶ、Java SE 11移行

    Java SE 11のリリースまで3か月を切りました。みなさん、移行の準備は進んでいますでしょうか。 Java SE 11は、新しいリリースモデルになってはじめてのLTSになるバージョンです。なので、Java 9や10はすっ飛ばして、Java 11に移行することを考えている方も多いと思います。 しかし、Java 11への移行はいろいろ大変です。 今回は簡単なサンプルをベースにJava 11への移行を考えてみます。 Jersey + Grizzly Jerseyは、JAX-RSのRIです。ということは、私よりもこれ読んでいる人の方が絶対に詳しいはずw そのJerseyのUser GuideのGetting Startedに書いてあるサンプルを題材にしてみましょう。 このサンプルはMavenで勝手に作ってくれます。以下はGetting Startedからの引用です。 mvn archetype

    Nagise
    Nagise 2018/09/13
  • 再帰的ジェネリクスを活用したJava8時代のコード定義Enum用インタフェースを作成してみた | Casley Deep Innovations株式会社 技術ブログ

    こんにちは。 キャスレーコンサルティング SI(システム・インテグレーション)部の満石です。 今年の7月にJava SE 9のリリースが迫っていますが、ちょっとここでJava SE 8の新機能を思い出してみましょう。 Lambda式、Stream API、Date and Time API。 これらは、有名なので実際に使ってみたことがある人は多いと思います。 でも、インタフェースにデフォルト実装とstaticメソッドが書けるようになった、というのは忘れている人や 知っていても使い所が分からないという人は多いのではないでしょうか? 今回は、そんなインタフェースのデフォルト実装とstaticメソッドについて、コード定義Enum用インタフェースの作成を 通して実用的な例を紹介したいと思います。 Java SE 7まで アプリケーションを作成する場合、必ずと言っていいほど「コード値」に対する「名称

  • JavaのNestmateが進行中

    オラクルがJEP 181 - "ネストベースのアクセス制御" - 俗に言う"nestmate"を発表した。これはプラットフォームへの技術的な拡張であり、Java 1.1で導入したアーキテクチャの20年分の負債を精算するものだ。 新機能はJavaのネストクラス (厳密ではないがたびたび"インナークラス"と言及される。ネストクラスの取りうる型の1つでしかないのに。) の実装につながっている。 一般的に、ネストした型が使われるのは2つの別々の目的のためだ。2つともカプセル化に関連している。 まず第一に、型はとても明確な理由で必要とされるだけなのかもしれない。それもコードの非常に小さな部分において。これが意味することは、実のところ実装詳細の一部であるのでしっかりとローカルに限定すべきであるということだ。 Javaの古いバージョンでは、これをする唯一の方法はネストした型だけだった。たとえばインタフェ

    JavaのNestmateが進行中
    Nagise
    Nagise 2018/03/26
  • [Java] Style Guidelines for Local Variable Type Inference in Java

    Oracle Blogsの主としてテクノロジー製品のエントリを日語でご紹介します(オリジナルのエントリを投稿することもあります)。厳密性をご所望の方は原文をどうぞ。よい内容でしたら原文に対し、"Good Entry, thanks!"でもいいので、是非コメントお願いします(Typoや誤訳はコメント欄からどうぞ)。なお、このエントリは個人の見解であり、所属する会社の公式見解ではありません。また、エントリ内でご紹介している製品・サービスは国内導入時期が未定の場合もありますのでご了承下さい。 Good entries on Oracle Blogs are put into Japanese. Mainly this blog covers technology products. Opinions expressed in this blog is my personal one and d

    Nagise
    Nagise 2018/03/26
  • JEP では語れない Java SE 10

    今日リリースされる Java SE 10 の注目機能といえば var の導入ですね。 var の導入などの機能は、OpenJDK の JEP (JDK Enhancement Proposals) で管理されています。たとえば、var の導入は JEP 286 です。 Java SE 10 では 12 の JEP が機能として導入されます。 ところが、JEP になっていない変更といのが、けっこうあるのです。そこで、このエントリーでは、JEP になっていない機能をまとめてみました。 JEP になっていないぐらいなので、かなり細かいです。 廃止になった API Java SE 9 で、@Deprecated アノテーションに forRemoval が追加されました。この値が true なものは、ほんとに削除されることになっています。 Java SE 10 では Java SE 9 で forR

    Nagise
    Nagise 2018/03/20
  • Java Client Roadmap Updateによせて (前編) - AOEの日記

    既にご存知の方も多いと思いますが、先日 Oracle から JavaFX をはじめとする、Java のクライアントテクノロジーについて今後のロードマップが発表されました。 https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-java-client-roadmap-updates 上記ブログエントリでは主に JavaFX の今後の扱いについて述べていますが、以下のホワイトペーパーにはそのほかに Applet や Java Web Start、そして Swing/AWT といった Java のクライアントテクノロジー全般の今後のロードマップについて記載されています。 http://www.oracle.com/technetwork/java/javase/javaclientroadmapup

    Java Client Roadmap Updateによせて (前編) - AOEの日記
  • Java Servlet 4.0

    <noscript> <div>ブラウザのJavaScriptが無効になっています。</div> </noscript> <h2>フレーム関連のアラート</h2> <p>このドキュメントはフレーム機能を使用して表示するように作成されています。フレームを表示できないWebクライアントの場合にこのメッセージが表示されます。<a href="overview-summary.html">フレームに対応していないバージョン</a>にリンクします。</p>

    Nagise
    Nagise 2017/12/01
    Java Servlet 4.0 API javadoc 非公式日本語訳
  • JMH - Javaでのベンチマークを試してみる - 覚えたら書く

    OpenJDK のサイトで公開されているマイクロベンチマーク用のライブラリ。Java Microbenchmark Harness の略。 JMHの存在理由 Javaでパフォーマンス測定(ベンチマーク取得)するのは以下のような理由により簡単ではありません 計測用のコードを書くのが実は難しい 計測用のコードの書き方がまずいと、コンパイラにより最適化で処理部分を削ってしまう場合がある ウォームアップが必要 JITコンパイラによってコンパイルされているかどうかで測定結果が大きく異なる こういう問題を解消して計測してくれるのがJMHです。(OpenJDKで公開されているので、Java公式ツールといってよいでしょう) 使い方(概要) JMHを使った計測の流れは大まかに以下の通りです(Mavenを用いてIDE上で実行する例です) JMHでの計測用のMavenプロジェクトを作成する ↓ 計測したい処理を

    JMH - Javaでのベンチマークを試してみる - 覚えたら書く
  • ヌーラボのアカウント基盤を Java 9 にマイグレーションして起きた問題と解決法 | 株式会社ヌーラボ(Nulab inc.)

    Java 9の起動パラメータ java.locale.providers に Java 8 と同じ優先度で国際化を行う指定をします。 java -Djava.locale.providers=COMPAT,SPI この設定で日付のフォーマットが Java 8 と同じように動作するようになり、自動テストが成功しました。 以上で 750 個のテストがすべて成功するようになりました。次はいよいよJava 9で既存のソースコードをコンパイルします。 Java 9でコンパイルして Java 9で動かす ヌーラボのアカウント基盤には Java のコンパイル対象が約 1,360 ファイルあります。目標は 1,360 のソースコードがJava 9 ですべてコンパイルできることです。 コンパイラの設定を Java 9に切り替える コンパイラを Java 9に切り替えます。Java 9のバージョン指定には注意

    ヌーラボのアカウント基盤を Java 9 にマイグレーションして起きた問題と解決法 | 株式会社ヌーラボ(Nulab inc.)
    Nagise
    Nagise 2017/09/20
  • 最初の乱数 - d.y.d.

    23:09 09/05/28 BOOK OFF ここのところ、BOOK OFF の タメシ買いセット というのを大量に試し買いしてみてました。各セット2つずつ計90冊。 「どう見てもただの在庫整理だろ」というような意見もあるかと思うのですが、 個人的には、これ、すごい面白そうだなーと思ったので。 何かの拍子に「自分が読んだことない作品を読んでみよう!」と思っても、 自分で探してみて買うのだと、どうしても、 どこか自分が好きそうな方向に偏ってセンサーが反応してしまうんですよね、結局。 逆にこういう完全に強制他人のチョイスの下でやってくるなら、 そういうこともなく意外な作品に出会えるのではないか、とか。 あと、アマゾン完全ランダム買いとかと違って、 蔵出しに回されるくらい世の中に出回っている程度には売れているのが来るはずで、 気の大外れが大集合ということにもならないだろう、と。 というわけ

    Nagise
    Nagise 2017/05/12
    Randomの最初の値が偏る話の解説