Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Java 17: What’s new in OpenJDK's container awareness | Red Hat Developer の翻訳記事です。 OpenJDKは、以前からLinuxコンテナ(DockerやPodman、またKubernetesのようなコンテナオーケストレーションフレームワークなど)を意識してきました。コンテナ対応とは、OpenJDKがコンテナ内で動作していることを検出することを意味します。この記事では、コンテナ対応がなぜ有用なのか、OpenJDKのその領域で最近何が変わったのか、そして、開発者がJVMの設定決定方法について理解を深めるために利用できる診断
プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山本 裕介,杉山 貴章技術評論社Amazon 予約していたので、早速届きました。 Javaを使ってプログラミングを学ぼうとする人は、とりあえずこれ買っておけばいいんじゃね?っていう全部入りの1冊ですね。 JDKのインストールから、IDE/REPLの使い方、基本的な文法、エラーメッセージの読み方、オブジェクト指向、関数型プログラミング、各種ツールチェーン(ユニットテスト、ビルドツール、バージョン管理)と、全部入りの全部入り。 全般的に単なる文法の解説に終始せず、初学者がつまづきやすいところにページを割いているところが良くて、特に「最初からIDEを使う」と、「エラーが出ることと、その読み方を最初から書いていること」、「理解が難しそうな”ループ”の概念にフォーカスしていること」あたりは、上手
Google Best Practices for Java Libraries Google Best Practices for Java Libraries are rules that minimize problems for consumers of interconnected Java libraries. These practices come from decades of aggregated experience in maintaining open source Java libraries and are informed by many hard-learned lessons from mistakes that have been made. We have found that following these rules results in hig
Photo by Ruth Hartnup こんにちは。谷口です。 Javaは開発の幅が広くライブラリも豊富で、長年にわたり世界中の幅広い開発分野で使用されている言語です。 Javaエンジニアの求人も、以前は金融関係のシステム(ATM等)など比較的大規模な開発案件が中心でしたが、近年はAndroidのネイティブアプリ開発現場などでも増加しています。 ただ、プログラミング初心者の人が勉強をしようと思うと「独学でどう勉強したらいいのか分からない」「経験者向けの解説などを読んでも難しくて理解できない」といった悩みもあるかと思います。 そこで今回は、「Javaを学びたい」という初心者の方のために、ゲーム感覚で楽しくJavaを学べるサイトを紹介します。 ■Javaでタッチタイプゲーム Javaでタッチタイプゲームは、サンプルコードの写経にタイピングゲーム要素が合わさったアプリです。 タイピングに慣れ
いよいよ今日、Java 10がリリースされますね。 たぶんここからダウンロードできるようになると思います なりました。 http://jdk.java.net/10/ Java 10の新機能について、JEPがあるものについてはこちらにまとめました。 Java 10新機能まとめ - Qiita ただ、JEPがあるもの以外にも結構変更はあります。 ここではJEP以外の変更について、影響がありそうなものをAPIとその他についてまとめてみます。 ここからの抽出です。詳しく知りたい人はこちらを。 109 New Features In JDK 10 - Azul Systems, Inc. OpenJDKのダウンロードはこちら JDK 10 GA Release Oracle JDKのダウンロードはこちら Java SE Development Kit 10- - Downloads APIの変更
来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり) 2017年9月に「Java 9」が登場したばかりですが、いまから1カ月後の2018年3月には早くもJavaの新バージョン「Java 10」がリリースされます。そしてその6カ月後の9月にはさらに次の「Java 11」がリリース予定です。 Java 9以後のJavaは、毎年3月と9月の年2回メジャーバージョンアップを行う、タイムベースのリリースモデルを採用することになりました。今年はその最初の年となります。 オラクルによるJDKの提供方法やサポートポリシーも、これから大きく変更されることが明らかになっています。一般公開され無償でダウンロードできたOracle JDKの公開はJava 10が最後となり、サポートは3年
Java 10が本日付で正式リリース。ローカル変数の型推論、ガベージコレクタが入れ替え可能、不揮発性メモリ対応など。Java 9は早くもサポート期間終了 昨年9月に登場したJava 9から、Javaは6カ月ごとのタイムベースによるアップデートサイクルが採用されました。そしてその最初のワンサイクルが経過し、今日3月20日付けでJava 9の次のメジャーバージョンアップとなるJava 10が登場する予定です。 おそらくJava 10の正式な発表は米国時間の3月20日、日本時間では休日となる明日の午前中あたりになると思われます。 Java 10の新機能:ローカル変数の型推論、ガベージコレクタが入れ替え可能など Java 9では、通称「Project Jigsaw」と呼ばれるJavaのモジュール化機能が入り、Javaに対する大きな変更が行われました。しかし今回のJava 10では、それほど大きな機
JVMにチューニング項目は多々あれど、プロダクションで運用する際に予めおさえておきたい項目をまとめてみるエントリです。*1 勿論、OSもJVMもデフォルトである程度のパフォーマンスは発揮でき、計測を伴わないチューニングは悪手であることはよく知られています。 しかし、設定しておかないとパフォーマンスにそのまま影響すると分かるものを調べないのは裸で戦場に赴くようなものです。*2 どんな項目をどう変更すれば良いのか知っていることは重要な武器なのです。 なぜ調べるのか 今回、チューニングポイントを調べるにあたって、私のモチベーションはどこにあるのかを考えると、以下の要件を満たしたいということがあげられます。 アプリケーションとして求められる品質水準として動作する → 性能目標 異常時に事象を追うことができる ここでいう品質水準・異常とは、パフォーマンスが明らかに低い、アプリケーションがクラッシュす
Privilege Escalation on Windows 7,8,10, Server 2008, Server 2012 … and a new network attack How it works Hot Potato (aka: Potato) takes advantage of known issues in Windows to gain local privilege escalation in default configurations, namely NTLM relay (specifically HTTP->SMB relay) and NBNS spoofing. If this sounds vaguely familiar, it’s because a similar technique was disclosed by the guys at Go
What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability. What? The most underrated, underhyped vulnerability of 2015 has recently come to my attention, and I’m about to bring it to yours. No one gave it a fancy name, there were no press releases, nobody called Mandiant to come put out the fires. In fact, even though proof of concept code was re
若手Javaエンジニア必見。知っておきたいフレームワーク・ツール23選 システム開発において、登場頻度が非常に高いJava。数多くのフレームワークやツールが存在しますが、一体どれを選べば、効率的な開発が行えるのでしょうか。おすすめのものを一挙にご紹介します! システム開発をする際、欠かせない存在なのが各種フレームワークやツールです。これらを導入することで、工数の削減やアプリの品質向上、セキュリティの堅牢化など数多くの利点があります。中でもJavaのフレームワーク・ツールは、Javaを開発に使用している企業の多さゆえ、利用される頻度も高いものです。 しかし、それらは数えきれないほどの種類があるため、知識の少ない若手のうちは「どれを選べばいいんだ……」と途方に暮れてしまうケースも少なくありません。 そんな悩みを解決するため、今回はよく使われるものから珍しい機能のもの、最近注目されているものまで
OWASP ZAPもそうですが、セキュリティ関連のツールにはJavaで作られたものがわりと多いようです。クロスプラットフォームだし、必要なライブラリもまとめて配布するスタイル(?)なので使う側もラクです。以前自作したクローラ耐性診断ツールも、そういう状況に合わせてJavaで作りました。ただ Mac OS X上でそれらを実行するとなると、どのJavaが使用されているのか?や、そもそもMac OS XのデフォルトのJavaと自分でインストールしたOracleのJavaがどのような扱いになっているのかを知っておかないとトラブルがあった時などに困ります。そこで、Mac OS X 上でのJavaの扱いについてまとめておくことにしました。意外とこの手の情報は少なく不正確な部分もあると思うので、間違っているところがあれば指摘してもらえるとありがたいです。 環境Mac OS X 10.9.2Java関連の
「クラスは知ってるけどクラスの使い道がわからない」 「クラスとインスタンスの違いがよくわからない」 初心者にありがちなことだと思います。 クラスの存在価値がわかるまでって意外と大変です。 クラス・インスタンス・オブジェクト指向といえばJavaな気がします。 今日はクラスのありがたみをJavaのサンプルコードを用いながら、 簡単にではありますが説明してみたいと思います。 ここではクラスの「使い方」ではなくて「使い道」について話していきます。 (使い方がわからなくても、ついていけるとは思います) それではまずは、簡単な問題を出してみたいと思います。 怖がらないでください。 (1)あるグラフの上に、図のようなに3つの点が有ります。この3つの点の座標を持つプログラムを書いてみてください。 特に強いこだわりがなければ、ファイル名はLesson.javaとつけることにしましょう。 かけましたか? 書け
2019/1/1追記:メンテの気力もなくなり、でもサーバー代はかかっており・・・という状況なのでクローズしました 1週間ほどブログの更新をサボっていたんですが、何をしていたかというと新しいWebサービス作ってました。 作ったもの http://www.programmerprofile.net/ ソースも公開しちゃうよ! nakazye/ProgrammerProfile · GitHub 何コレ? プログラマーのツイッターアカウントを言語毎に並べ立てるサービスです。コンセプトだったり作ったきっかけだったり諸々あるんですが、それは正式リリース時にとっておきます(Topに書いてある通り、まだα版の位置づけ) 趣味プログラミングのススメ ここからが本題。 デザインが酷いとか、コードが投げやりとか、色々意見はあるかと思うんですが、一応動いてます。 コレ、2/1(日)の23時から開発始めたので、休
こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、
いつの時代もより高速に動作するフレームワークや言語に対する関心は高いものですが、そんな疑問に答えるWeb Framework Benchmarksの最新版が公開されています。こちらのベンチマークはテスト用のコードや環境がオープンソースになっており16の言語(C C# Clojure D Erlang Go Groovy Haskell Java JavaScript Lua Perl PHP Python Ruby Scala)と57のフレームワークについて最適な実装が集められてテストされているという点で一般性があります。また実行環境もEC2と実マシンの2種類をそれぞれ実行している点も興味深いです。 気になるテスト結果のうち特に複雑度の高いデータベースから複数件のデータを取得してHTMLページとして出力した場合の結果は下記のとおりです。 堂々のトップに輝いているのはServletで最大で1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く