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
Checkstyle とは Java のソースコードがコーディング規約に即しているかどうか判定するための静的解析ツール。 インデントサイズや変数名のつけ方(キャメルケースかどうかとか)、空白スペースの入れ方など、コーディングスタイルに関するチェックを行うことができる。 ビルドプロセス内に組み込むことで、自動でコーディングスタイルをチェックできるようになり、規約違反があればビルドを失敗させることができるようになる。 機械的にチェックできる問題はツールに任せることで、「実装が仕様を満たしているか?」「致命的なバグはないか?」「もっと効率的な実装方法はないか?」など、より重要な観点に集中してソースコードレビューをすることができるようになる。 Hello World インストール sourceforge から、最新の zip を落としてくる。 zip を解凍したら、中に jar ファイルが入ってい
Welcome to Apache Commons Apache Commons is an Apache project focused on all aspects of reusable Java components. The Apache Commons project is composed of three parts: The Commons Proper - A repository of reusable Java components. The Commons Sandbox - A workspace for Java component development. The Commons Dormant - A repository of components that are currently inactive. You may also read our ch
テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。 新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。 そこで今回は、"read-lines"の変遷についてまとめてみました。 最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。 目次 基本 BufferedReader (Java1.1~) Scannerと拡張for文 (Java5~) java.nio.file.Filesとtry-with-resources(J
以前、このような記事を書きました。 Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい (2013-12-26) 前回の内容は、Concurrency UtilitiesだけでなくJavaのマルチスレッドの話も一部含んでいましたが、今回は、Concurrency Utilitiesだけにフォーカスして、全体が分かるように整理してまとめ直しました。 目次 概要 準備 タスク・フレームワーク (Executor) 同期キュー シンクロナイザー 並行処理コレクション 時間単位 アトミック値型とアトミック操作 ロック・フレームワーク 概要 今回は、Concurrency UtilitiesのAPIをいくつかのグループに分類し、それぞれのグループの主要な機能を「広く浅く」紹介する、という形式でまとめています。 パッケージ単位で分け、それからjava.util.con
要素の取得時に両端キューが空でなくなるまで待機したり、要素の格納時に両端キュー内に空きが生じるまで待機するブロック操作を追加でサポートしたりするDequeです。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Javaのサポートについてのまとめ Javaのライセンスやサポート状況について混乱が発生しているように思います。Javaのサポートを各団体がどのように行なっているかをまとめてみます。 知っておいてほしいのは、Javaの実装やサポートはOracle JDKかOpenJDKの二択、ではなくAdoptOpenJDKやAzul Zulu、Corretteなど多くの選択肢があるということです。 ここでサポートはバグやセキュリティに対応したパッチがリリースされることを表しています。 Javaのリリースサイクル これまで、Javaは3年ごとを目標に結
syslogにJavaのlog4jでログを送信するためのメモです。 環境 $ cat /etc/os-release NAME="Ubuntu" VERSION="16.04.4 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.4 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial rsyslogの起動確認 まずは、rsyslogが動いているか確認します。 $ sud
このクラスは、オペレーティング・システムのプロセスの作成に使用されます。 各ProcessBuilderインスタンスは、プロセス属性のコレクションを管理します。start()メソッドはそれらの属性を使って新しいProcessインスタンスを作成します。同じインスタンスからstart()メソッドを繰返し呼び出して、同一の属性または関連する属性を持つ新規サブプロセスを作成できます。 各プロセス・ビルダーは、次のプロセス属性を管理します。 コマンド。呼び出される外部プログラム・ファイルと、その引数(存在する場合)を示す文字列のリストです。どの文字列リストが有効なオペレーティング・システム・コマンドを表すかは、システムに応じて異なります。たとえば、概念上の引数がリストの要素となるのが一般的ですが、プログラムがコマンド行文字列自体をトークン化することが要求されるオペレーティング・システムがあります。こ
The 5th major version of the programmer-friendly testing framework for Java and the JVM User Guide Javadoc Code & Issues Q & A Support JUnit JUnit team’s statement on the war in Ukraine As human beings, we stand with Ukraine and condemn the Russian government’s war against the Ukrainian people, including our own colleagues and their families. Donate to UN’s Ukraine Humanitarian Fund About JUnit 5
SLF4J、Logback、Log4Jの違いや関係を挙動とともに整理してみます。 SLF4Jとは Javaのロギング実装の柔軟な切り替えを実現するFacadeのことをSLF4Jといいます。 ※SLF4J Facade(ファサード)とは「建物の正面」を意味していて、GoFのデザインパターンの1つ「Facadeパターン」のことを指します。以下はFacadeパターンのクラス図です(TECHSCOREより)。 Javaのロギング実装には、Log4JやLog4J 2、Logback等がありますが、これらの実装の窓口となるのがSLF4Jです。上記図では、FacadeがSLF4J、classAがLog4J、classBがLogbackなイメージです。 公式にある以下の図がイメージしやすいかと思います。 つまり、アプリケーションから見るとSLF4Jはロギング実装のインターフェースの役割を担い、Logbac
Loggerオブジェクトは、特定のシステム・コンポーネントやアプリケーション・コンポーネントのメッセージをロギングするために使用されます。ロガーの命名は通常、ドットで区切られた階層化された名前空間を使って行われます。ロガーの名前はどのような文字列でもかまいませんが、通常は、java.netやjavax.swingなど、ロギング対象のコンポーネントのパッケージ名やクラス名に基づいた名前にすべきです。さらに、Loggerの名前空間に格納されない「匿名」のLoggerを作成することも可能となっています。 Loggerオブジェクトを取得するには、getLoggerファクトリ・メソッドのいずれかを呼び出します。これらは、新しいLoggerを作成するか、既存の適したLoggerを返します。getLoggerファクトリ・メソッドのいずれかによって返されるLoggerは、Loggerに対する強い参照が保持
この記事は、個人的なおさらいのための、Java Concurrency Utilitiesの一部を使ったサンプルとメモです。 目新しいものは特にありません。 記事内のサンプルとAPIドキュメント参照はJava7(Java SE 7)を基準にしていますが、Java Concurrency Utilities自体は一部を除いてJava5(Java SE 5.0)から使えるようになっています。 あと、いつものことですが、画像がありません。 追記(2014-01-05): この機能の呼称は (Java) Concurrency Utilities が公式で、この記事内の"Utility"というのは正確ではない+混在していますのでご注意ください。ごめんなさい。 追記(2014-08-15): この記事は、キーワード"Java Concurrency Utilities"でGoogle検索した時に2番
Javaのスレッド(thread)とは、プログラム上で複数の処理を同時に動かす仕組みです。スレッドをJavaで使うためのクラスjava.lang.Threadを指す言葉でもあります。 さて、多くの作業は人が手分けすれば早く終わります。違う作業であっても、それぞれの作業へ人を割り当てれば同時に行えます。当然、一人での作業より効率的です。 それと同じで、プログラムでも処理を複数同時に動かせば、短い時間で効率よく処理できます。その仕組みがスレッドです。スレッドは、今ではごく当たり前に使われているのです。 この記事では、Javaでのスレッドの考え方・使い方の基本から、スレッドを使う上で気を付けたいこと、スレッドに関する話題について、ポイントを絞って初心者向けに説明します。 ※この記事はJava 13時点の言語仕様・APIに基づいています。サンプルはJava 13の環境で動作確認しています。 1.ス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く