成功者がどのようにNew Relicを使用してKubernetesのパフォーマンスを4倍に向上させ、拡張性とスループットを改善したかをご覧ください。
成功者がどのようにNew Relicを使用してKubernetesのパフォーマンスを4倍に向上させ、拡張性とスループットを改善したかをご覧ください。
ひらがな⇔カタカナ、ローマ字⇔ひらがな、ローマ字⇔カタカナの変換を簡単に行いたい文字列検索のためのノーマライズとして全角→半角の変換を簡単に行いたい ICU4JとはICU4J (International Components for Unicode for Java) はオープンソースの Java ライブラリのセットで、導入するアプリケーションのグローバル化をサポートしており、日本語の他、ロシア語やギリシャ語などの様々な言語に対応しています。 その中でも主要なクラスであるTransliteratorは、日本語であればひらがなからカタカナへの変換やローマ字への変換、全角から半角への変換など、様々な文字変換を行うことができます。 ICUに現在、C版とJava版が公開されていますが、ここではJava版の使用方法についてサンプルを紹介します。 セットアップICU4Jは公式HP ICU – Int
具象型ではなく抽象型で扱え、インタフェースを使え、みたいなお話に対して。 前置き Javaの話。他の言語だと話は変わります。 「こうするのが絶対的に正解」と言うものではありません。私の現在の選択の説明です。明日になったら違うこと言ってるかも。 主な登場人物は掲題の java.util.ArrayList および java.util.List、そして java.util.Collection と java.lang.Iterable です。 こんな世界観。他のインタフェースやクラスもたくさんありますが、この話の本筋では無いので触れません。 前提として以下を置いています。 フレームワークやライブラリではなく、一つの業務アプリケーションに閉じた話です。ゆえに不特定多数から使われる型ではなく、影響を与えるコードは全て目が届く範囲にあるものとします。 計算量は別の話です。扱うドメインにもよりますが、
残念ながらしばらく誤解が続きそうなので、私以外の有識者からの発信を中心にまとめます。まず、Javaの中心的な用語については https://qiita.com/nowokay/items/c1de127354cd1b0ddc5e を参照ください。 また、Sun時代から延長アップデートを含む商用サポートは有償です。https://www.atmarkit.co.jp/ad/sun/0810javaseforb/0810javaseforb.html 次のブログからリンクされている記事もどれかだけでもよいので読むことをオススメします。http://tadashi.hatenablog.com/entry/2019/01/17/091324 セッション資料「これからのJDK 何を選ぶ?どう選ぶ?」https://www.slideshare.net/TakahiroYamada3/how-to-
最近メモリを大量に使うJavaのプロセスに関する仕事があり、GCの知識が必要になったので調べたことをまとめておきます。調べたら色々出てくる時代ですが考えを整理するために書きました。間違った認識をしている可能性はあるのでそこはご指摘いただけると幸いです。 注: この記事は最新のGC事情を整理するものではなく、古典的?な手法について書いてます。 JVM まずはざっくりJavaの基本的な仕組みから。 JavaのプロセスはJVMと呼ばれる仮想マシンの上で動作します。この仕組みは様々なOSで動作し、環境の差異を気にする事なくコンパイルされたJavaのコード(クラスファイル)を様々な環境で実行可能にしてくれます。 JVMにはいくつ種類がありますが、本記事はOpen JDKで用いられるHotSpot VMの場合を想定しています。(他のJVMとの違いはわからない) ヒープ領域 Javaのプロセスを開始する
Quarkus Core repository has reached the incredible milestone of 1000 community contributors! Celebrate with us Get Started with Quarkus | Read the Guides Container First Quarkus tailors your application for GraalVM and HotSpot. Amazingly fast boot time, incredibly low RSS memory (not just heap size!) offering near instant scale up and high density memory utilization in container orchestration plat
発端 Java6までは言語仕様の中に命名規約の章があったけどJava7からはなくなった。あとパッケージ名もドメイン名逆順にしろというのが、ローカルでの利用を意図してるなら単一の識別子だけでいいということになった。そのころからlombokみたいにプロダクト名だけのパッケージ名を見るようになった気がする — きしだൠ (@kis) 2019年1月22日 今までjavaパッケージの命名はドメイン名の逆順というのが通例だと思っていたが、たしかにそれに沿わないライブラリも特にScala系のライブラリで見ることが増えてきた。 そもそもこの命名規則は確かに衝突を避けるためには合理的ではあるもののコード中の記述量が増えるため後発の言語でもまったく真似されていない。 最近のJavaでより短いパッケージの命名が許容されるならとても嬉しいと思い、本当にJavaのFQDN逆順命名規約は無視していいのか調べた。 調
本記事は前回私が掲載した記事Java11+Spring Boot+Dockerで作るWebアプリケーションの続きとなります。 前回はWebアプリケーションの雛形を作成してDockerでMySQLコンテナを立ち上げるところまでを構築しましたので、今回はWebアプリケーションからMySQLに接続して取得したデータを画面に表示するところまでを構築したいと思います。 バックエンド側とフロントエンド側のディレクトリ構造およびファイル構成は以下のようになります。 └── src └──main ├── java │ └── com │ └── example │ └── demo │ ├── DemoApplication.java │ ├── domain │ │ └── Customer.java │ ├── repository │ │ └── Custo
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事について Effective Java 3rd Edition が発行されました。Java7以降のJava9までの新言語要素が加味されていて、そういうのはとりあえずLambdaなのだろうと思うのですがそれ以外に変わった・追加されたところが気になりました。そこで、第2版と第3版を横に並べて見比べてそういう所をざっくり確認してみました。 この記事では新規の Item についてではなく既存の Item 内で変化した所について「特徴的かも!」と思ったところを並べています。1 多分あなたがこの記事を読まれてもわかった気分になることは決して
すでにJava12はRampdownフェーズに入り、機能がほぼ確定しており、順調に行けば3月19日にリリースされます。->されました。 ということで、Java12に入る機能をJEP、API、その他にわけてまとめます。 JDK 12 Early-Access Builds JEP まずは大きな機能をまとめたJEPベースの変更 http://openjdk.java.net/projects/jdk/12/ 全部で8個のJEPが入ってます。ふつうのJavaプログラマに影響ありそうなのは上の3つとDefault CDSですかね。残念ながらRaw String Literalsはドロップされました。 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 230: Microbenchmark Suite 325: Sw
Java のリリースサイクル が変更され、2019/01 現在の Java の最新バージョンは早 11。文法面での改善も進んでおり、モダンな Java のスタイルにも変化が見られる。この記事では Java 11 時代におけるモダンな Java プログラミングのスタイルをまとめてみたい。 筆者の主観を多分に含むため、その点ご注意を。 var(ローカル変数の型推論) var を積極的に利用する。 Java 10 で導入された var によるローカル変数の型宣言だが、基本的には使用できる場面では積極的に使用するというスタンスでよいだろう。モダンな言語の多くは同様の型推論を採用しているが、それで問題になったという話は聞かない。 高度に訓練された Java プログラマーにとっては左辺の型定義など IDE が自動補完してくれるので便利さを感じないという意見には一理あるのだが、コードを読むときに限っては
他にもAmazon/AzureでもOpenJDK提供、LTSサポートすると言ってますし、まさに戦国時代ですね。 他の言語ランタイムでは、こんな事態が起こりようがないため、皮肉な感じもしますが、いかにJavaの利用システムが多いかということがわかります^^; さらにGraalVMの存在も見逃せません。まだネイティブイメージ化においてDynamic Loadingに対応できてないなど、様々な制約があるため、SpringBootなどでは使えませんが、時間の問題のようではあるので、楽しみに待つしかないですね。 参考 JDKの長期商用サポート(LTS)の提供ベンダー比較(無償利用についても言及あり) - Qiita https://qiita.com/u-tanick/items/bb166929a58a4c20bb88 GraalVMを試してみた - Qiita https://qiita.com
手持ちのライブラリをJava11+Spring Bootモジュールに移行した際の振り返り記事です。 SPR-16391にあるように、Springは既にJDK11eaと互換性があるというスタンスだそうです。 (ただしGroovyはまだ駄目だったり、テスト時のクラスパススキャンで問題となるケースがあったりする模様) Java9以降のJavaは話題が多岐に渡りやすいです。 一方で今までのバージョンアップ同様、もともとあまり使わないものや、走りながらキャッチアップできるものも多いです。 この記事では影響の大きいモジュールやAOPのお話をメインにすることにします。 参考記事一番最初にすべきことはjdkの一次文書を斜め読みすることです。 ベーシック編ベーシックな情報としてここら辺を抑えておく必要があります。 JDK 11 Early-Access Release Notes ※もうなくなりました 最終
8u191でDocker対応がバックポートされたので、頭の整理と確認をしておいた。 ## まとめ Java 11使っておけばそもそも安心なんだけど、Java 8でも8u191以降を使えば安心。 ## 課題だったこと DockerでJavaを動かすときJavaが「そのコンテナに割り当てられたCPU・メモリ」じゃなくて「Dockerが動いてるHostのCPU・メモリ」を見てしまうことが課題だった。 ## Java 10以降 Java 10以降なら「そのコンテナに割り当てられたCPU・メモリ」を見る対応が入ってるから安心になった。 https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8146115 ## Java 8は? Java 8で入ってた対応は8u131のこれ: Bug ID:
今日の早朝、Java SE 11がリリースされました。 Java SEの機能はJEPでまとめられていますが、JEPに入っていないこまごまとした変更もいろいろ入ってます。ということで、Java SE 10に引き続き、Java SE 11についてもまとめてみます。 量が多いので、今回はjava.baseモジュールだけです。他のモジュールも引き続きまとめるつもりです。 基本的にはABC順にならんでいます。重要度順にしようかと思ったのですが、量が量なので... また、セキュリティ系のAPIはちゃんと理解していないので、省略してます。 廃止になったAPI Javaは互換性を重視する言語ですが、Java 9から使われなくなった機能はほんとに削除対象になっています。 Java SE 11でも多くのAPIが廃止になっています。 Java 11で一番大きな非互換性となるのが、Java EE関連のモジュールの
Recent posts: 29 Oct 2024 » AI Flame Graphs 22 Jul 2024 » No More Blue Fridays 24 Mar 2024 » Linux Crisis Tools 17 Mar 2024 » The Return of the Frame Pointers 10 Mar 2024 » eBPF Documentary 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan
どうも!@yokotaso です! 2018/05/26のJJUG CCC 2018で「ざっくりわかった気になるモダンGC入門」というタイトルで登壇させていただきました。 現在開発中の新しいGCアルゴリズムをざっくり理解することをテーマに発表しました。 発表練習用に作ったカンペの内容を公開します。ブックマークコメントでもツイートでも感想を書いていただけると喜びます! 発表資料は、speakerdeck にあります。はじまり〜はじまり〜 はじめに 今日はざっくりわかった気になるモダンGC入門というお話をさせていただきます。 現在開発中のGCアルゴリズムの全体像を理解してもらうことを目的としたセッションです。よろしくおねがいします。 さて今日のアジェンダですが、まず簡単にこれまでのGCを復習した後に新しいGCが必要になってきた背景について少し話します。 次にShenandoahGC、ZGC、E
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基本的にJava 8以降で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く