9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O... 9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう! (Open Source Conference 2021 Online Hiroshima 発表資料) 2021年9月18日 株式会社NTTデータ 技術開発本部 先進コンピューティング技術センタ 阪田 浩一
![Java でつくる�低レイテンシ実装の技巧�](https://cdn-ak-scissors.b.st-hatena.com/image/square/f8d9f544a376e2bc32da9458e9e6f5ada58cf011/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fjjugccc2016fallm3-161221061554-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
公式ドキュメントにありました。一言でまとめると、Android Oのpreviewが出た現在においても「Android N (API version 24)と同水準」となっています。 Use Java 8 language features | Android Studio Android Studio 2.4 preview 4 (およびそれが要求するツールチェイン)の段階では、 desugar と呼ばれるツール(実体はAndroid Gradle PluginのTransform APIによるbytecode weaving tool)によって、一度javacでコンパイルしたバイトコードのJava8の言語機能(lambda, repating annotationsなど)をJava6水準のバイトコードに変換し、それをdxコマンドでdexにコンパイルするというプロセスを経るようです。この
普段よく使うJavaライブラリにも、GoFのデザインパターンが隠されています。日々の作業が忙しく見逃しがちですが、たまにはじっくり一種の芸術ともいえる美しい設計を味わってみましょう。 今回の芸術 import org.apache.http.client.fluent.Request; import java.io.IOException; ... String html = null; try { html = Request.Get("http://www.qualysite.co.jp/") .connectTimeout(1000) .socketTimeout(1000) .execute() .returnContent() .asString(); } catch (IOException e) { ... } 引数で指定したURLのソース(HTML)を取得するシーンですが、
mastodon4jをリリースしました。Kotlinで書かれていて、Javaからでも使えるように今後チューニングしていきます。現在の最新は0.0.3です。 最初はDroiDonの副産物としてmastodon4jを実装していて、まぁだれか出すだろうと思っていたけど1週間経っても出てこないので自分で出すことにしました。 公式ドキュメントのAvailable librariesに載せてもらえてやっぴー。 github.com mastodon4j github.com 0.0.1 mastodon4jでmastodonのAPI documentにかかれているデータ、メソッドをすべて実装 mastodon4j-rxで一部のメソッドを実装 0.0.2 Release v0.0.2 · sys1yagi/mastodon4j · GitHub ユーザ名/パスワードで認証する Apps#postUser
デブサミやJava Day Tokyoなど、会社の許可をもらってイベントにありがたく行かせてもらっているけど、ちゃんとレポートできていなかったということで、社内勉強会で話すことにしました。 まとめ資料を作ったので、このブログにて先行して公開してしまいます*1。少し前のエントリで資料をアップロードしたのはこのための準備でした。 資料の位置づけ 古いJavaの知識で止まっている人(自分含め)やこれから本格的にJavaを学ぼうと思っている人に、最近のJava関連の新機能などをざっくりつかんでもらうための資料です。内容の深さ・広さは、聴く人のJavaスキルに合わせた一応合わせたつもりです。 Java SE 8がリリースされて、その界隈では「for文禁止」などと言われる一方で、会社の新人研修で教えるJavaでは、「ループはforやwhileを使って書きます」みたいに教えるわけで、その辺のギャップを埋
このたび JSON パーザのベンチマークを書きましたので、どうぞご査収下さい。 taichi/json-benchmarks Java8 がインストール済みの環境で、当該リポジトリを clone して と実行する事で追試できます。 結果について#jackson-databind が最速なので殆どの皆様におかれましては安心して下さい。 特に驚きに値するような事は何も起きていません。 僕のマシンで実行した結果はこちらです。(エビデンスが無いとの指摘を受け追記しました。) Json benchmark results結構な長文になってしまいましたので、マニアな皆様だけが続きを読んで下さい。 課題設定について#まず、おおまかな課題設定について説明します。 JMH を使った本格的なベンチマークを書くJava 用 JSON パーザのショーケースを作る事で使い易いものを明らかにする結局どのパーザが速いの
JavaでJITというと、JITコンパイラを指す。 もともとJust-In-Timeのことで、JVMが実行直前にコンピュータが理解できる機械語に翻訳する仕組みだ。 Javaで使われるJITとは? JITとはJust-In-Timeのことである。英語の直接の意味は、「まさにその時に」となる。 JavaでJITというとJITコンパイラのことを指す。JITコンパイラは、様々なコンピュータが理解できる機械語の命令をJVM(Java仮想マシーン)が実行直前、つまり「まさにその時に」コンピュータが理解できる機械語に翻訳する。このような意味でJITという言葉が使われているのである。 段階を追ってもう少し詳しく見てみよう。 Javaのプログラムを実行するために、実行前と実行中のふたつの段階で翻訳が行われる。第一段階はプログラムを実行する前に、バイトコードと呼ばれる中間言語に翻訳することである。この中間言語
The Optional classs in Java 8 is a useful tool to help developers manage data. But advice on how to use it varies. This is my take on one good approach to using Optional in Java 8. Note that this article assumes you know what Optional is and how it works. See my previous article and other tutorials for more info. Also, be aware that Optional is a heavily argued topic, with some commentators liable
Optionalは意図的にSerializableではなくなってますね。 でその意図としては、一旦Serializableにして出力形式を決めてしまうと、今後ずっとその出力形式を維持しないといけないことになるので、そのメンテナンスコストを嫌ったというのがあるようです。 このメンテナンスコストの中には、仕様が変えれなくなる、というコストも含みます。 なので、シリアライズしたい場合には、フィールドはnullを持つようにして、getterでOptionalに変換するということになると思います。 基本的にOptionalは、Optional-returnイディオムをサポートするもの以上ではない、ということをBrian goetzさんも書いています。 Shouldn't Optional be Serializable? そこで、Optionalの使い方としては、基本的にメソッドの戻り値としてだけ、
これは Java Advent Calendar 2015 の 15 日目の記事です。 昨日は @opengl_8080 さんの Byteman 使い方メモ+α でした。明日は @irof さんです。 前置き ついこないだチームでちょっとだけ話題に上って、みんなある程度指針は持っているものの、割と悩みつつ明確に答えを出せなかったので、もっと良い意見があればと思って晒してみます。まぁよくある話だし、Java 8 で Optional が使えるようになって null について語られるケースが増えたと思うので、再考するちょうどよい機会になればいいなーと思います。初心者向けです。 どう処す?処す? こんな状況の時にあなたならどうしますか? // Generics なのは例です。String でもなんでもいいです public T doSomething(T input) { // input が
夜中に8/15頃のツイートが回ってきた。 Java 8u60 adds reflection on lambda param names DSLs https://t.co/cflxFK468e Hash-Literals https://t.co/5rOCrrckcB pic.twitter.com/NEzj4X3Bt1— Benjamin Weber (@benjiweber) 2015, 8月 16 曰く Java8u60でラムダのパラメーターの名前に対してリフレクションができるようになってるよ というわけで 早速、件のツイートにあったレポジトリーをダウンロードして(mavenレポジトリーにはない…(´・ω・`))、プロジェクトに追加して、試してみた。 コード import com.benjiweber.typeref.NamedValue; import java.util.Col
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く