Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし
Recently, something remarkable happened on Twitter: On Saturday, August 3 in Japan, people watched an airing of Castle in the Sky, and at one moment they took to Twitter so much that we hit a one-second peak of 143,199 Tweets per second. (August 2 at 7:21:50 PDT; August 3 at 11:21:50 JST) To give you some context of how that compares to typical numbers, we normally take in more than 500 million Tw
1. Locking and Synchronization 第7回JVMソースコードリーディングの会 (OpenJDK) 中村 実 nminoru@nminoru.jp nminoru1975@gmail.com Twitter @nminoru_jp 1 2. Javaのスレッド排他機構 • Objectはすべて同期オブジェクトになれる – Critical section型の排他処理 – 再帰的なロックも可能 • 文法 – synchronizedメソッド – Synchronized文 • バイトコードレベルではmonitorenter、 monitorexit – wait & notify 2 3. Java Synchronizationの問題点 • 安易に書けるため使いすぎる – 不要な場所にもsynchronizedを書いてしまう。 – 衝突しないsynchronizat
やあ、3月に延期になったとはいえ、Java 8リリースが具体化してきましたね。 もうこれで、Lambdaがはずれるとかいうことはなさそうです。 ところで、Java 8で関数型っぽいことができるようになってうれしいのですが、ちょっと記述が冗長です。ということで、短く書けるおまじない考えてみました。 Function型 さて、まずはJava 8で標準で入ったFunction型をみてみましょう。パッケージ名まで含めるとjava.util.funciton.Functionです。 こんな感じで使います。 Function<String, String> enclose = s -> "[" + s + "]"; Genericsでの型指定の最初が引数、あとが戻り値の型です。ここではStringをとってStringを返す関数としてencloseを定義しています。 これを呼び出そうとすると、こんな感じ
ThreadとHashMapに潜む無限回廊は実に面白い?:現場から学ぶWebアプリ開発のトラブルハック(10)(1/3 ページ) 本連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) マルチスレッドのトラブルハックはさっぱり分からない… 対処が難しいトラブルといえば、GC(ガベージ・コレクション)とマルチスレッド処理に起因することが多い。 前々回(「肥え続けるTomcatと胃を痛めるトラブルハッカー 」)と前回(「JavaのGC頻度に惑わされた年末年始の苦いメモリ」)の2回にわたってGC、特にメモリ周りのトラブルを取り上げた。そこで今回は、マルチスレッド処理のトラブルの1つ、「レースコンディション(競合状態)
ThreeTenが JSR 310 Date and Time API のリファレンス実装として,JDK 8 Early Access b75 に含まれることになった。このJava Time API for JDK 8がパッケージjava.timeとなり,従来の実装であるjavax.timeは削除される。Java Time Javadoc のドラフト版も公開されている。 Java Time のクラスはすべて,不変(immutable)かつスレッドセーフだ。実装としては 予期的グレゴリオ歴 (Proleptic Gregorian Rules) に準拠した事実上の世界カレンダであるISO 8601カレンダシステムに基づく。そ例外のカレンダシステムのサポートは,java.time.calendar および java.time.temporal パッケージが提供する。日付と時刻を扱うクラスに加え
093 Java の MS932, Cp943C, SJIS の違い <森山 将之> 2003/08/26(火) 23:44 Java の MS932, Cp943C, SJIS の違い Java※ の MS932, Cp943C, SJIS の変換で異なる点、および注意を要する点をまとめてみました。 ※調査したバージョン:Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06) ■概要 MS932 と Cp943C の両者は、Windows-31J の文字セットを扱えます。 主な違いは、Unicode への変換で一部異なるコードポイントに変換される事と、NEC特殊文字とIBM拡張文字の両方で定義されている文字を、Unicode から MS932/Cp943C に変換する際に、どちらのコードポイントかという点
最近みた TechTalks の中で STM (Software Transactional Memory) の話が面白かった. 紹介しようと思ったものの, まず STM の認知度はどれほどなのだろうか. 日本語でぐぐると CPU 会社の宣伝くらいしか見当たらない. 友達にたずねたら "そんなので騒いでいるのは君と Haskell ユーザくらいだよ" とのたまう. 私の脳内では STM 派とメッセージ通信派が激烈な争いを繰り広げていることになっているけれど, 気のせいなのかもしれない... 念のため TechTalks を眺める前に少し STM の話を書いてみる. そのあと話の肴に作ってみた STM のトイ実装 (500行くらい) を紹介したい. Software Transactional Memory の話 ではさっそく STM のことを簡単に説明してみよう. 専門家による一次資料を読
毎度毎度、文字コードの話は面倒である。開発のメインストリームでないことと、外部調整が必要であることが原因だと思う*1。 プラットフォームが変わるたびに、毎回検証しているような気がする。私の場合だと、毎回OSが違う。Windows Server、AIX、HP-UX、Red Hat Linux。毎回Java仮想マシン(JVM)が違う。SunのJDK(今はOracleか)、JRockit(これもOracleか)、IBMのJVM、HPのJVM。データベースエンジンは、だいたい同じ。 本当にみんな、毎回やっているのだろうか? とりあえず、Javaで開発することは決まっている前提で、外部設計と内部設計にて、やるべき(と思っている)ことをまとめておく。 以降で挙げる例は、次のようなシステムをイメージしている*2。 構築対象システム Webアプリケーション バッチ 外部システム ホスト 外部設計 画面や帳
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く