Kindle, Programming, Network, Linux, iPhone/iPad/Apple TV, etc
サンフランシスコで開幕した「JavaOne 2017」。基調講演の最後に、Java 9以降のJavaのために現在開発が進んでいる新機能が紹介されました。 Project Panamaは、Javaとネイティブなコードのデータのやりとりを可能にするもの。JavaからC関数をコールし、C関数からJavaにコールバックしたときにデータにアクセスするといったことが可能。 Project Valhallaは変数の型付けに関するもので、変数の基本的な型をプログラマブルに設定できるというもの。 参考:Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015 参考:JavaOne 2016が開幕、JDK 9ではJava Shellが登場予定。JavaOne 2016 Javaコードの可読性を向上させ、バグの混入を減少させるProj
ファイル・ディレクトリ操作2 Javaのファイル操作クラスは、JDK1.7(Java7)で新しいものが導入された。(通称NIO2(New I/O 2)。自分はニオツーって呼んでる) →旧ファイル操作 Filesクラスでファイルのコピーや移動などを行うことが出来る。 また、ファイルやディレクトリーの場所を表すPathというインターフェースが新たに設けられた。 Path java.nio.file.Pathは、ファイルやディレクトリーの場所を表すインターフェース。 従来はjava.io.Fileクラスがその役割だった。 import java.nio.file.FileSystem; import java.nio.file.FileSystems; import java.nio.file.Path; FileSystem fs = FileSystems.getDefault(); Pat
1度やってみたかったんですよね、これ。DIコンテナとかで、よく特定のパッケージ配下のクラスを検索するような機能がありますが、これを自分で書いてみようと思います。 検索対象のクラスが配置されているパターンとしては、 ディレクトリ配下に.classファイルが配置してある JARファイル内にパッケージングしてある というのがよく考えられると思います。今回は、とりあえず上記2つを対象に考えます。 まず、検索対象のスケープゴートとして、以下のようなディレクトリ構成のクラスを用意しました。 ソースコード root/RootPackageClass1.java root/RootPackageClass2.java root/sub/SubPackageClass1.java root/sub/SubPackageClass2.javaクラスファイル root/RootPackageClass1.cla
Java EE 8 Planning 2014 1. Java EE の新たな旅立ち : Java EE 8 へ向かって Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Yoshio Terada Java Evangelist Oracle 2. SAFE HARBOR STATEMENT 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません 。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約) するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル 製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量 により決定さ
といっても、そんなに小難しい話をするつもりはなくて JavaのCollectionインタフェースに関して、各操作についてどの程度パフォーマンスが違うか測ってみた、というだけです。いつも無意識にListならArrayList、MapならHashMapを選んでしまう自分への警鐘ということで。 まずはListインタフェース。測定対象は以下。CopyOnWriteArraySetとか、この実験やろうとして初めて知った件。 List vector = new Vector(); List array = new ArrayList(); List linked = new LinkedList(); List stack = new Stack(); Set tree = new TreeSet(); Set hashset = new HashSet(); Set linkedset = new
<noscript> <div>JavaScript がブラウザで無効になっています。</div> </noscript> <h2>フレーム関連の警告</h2> <p>このドキュメントはフレーム機能を使って表示するように作られています。フレームを表示できない Web クライアントの場合にこのメッセージが表示されます。<a href="overview-summary.html">フレームなしバージョン</a>へのリンク。</p>
ASTParserとは † さてさて、いままでEclipseのウィジェットとか、リスナーとか比較的IDEよりでないところを見てきましたが、今回はソースコードを解析するパーサ、ASTParserを見てみたいと思います。 ASTParserはパッケージエクスプローラなどに表示されているJavaソースからソースコードを取得し解析するとか、ユーザ入力値に応じてJavaのソースコードを生成するとか、Javaソースをプログラマブルに操作するときに使用します。 ↑ やってみる † 触ってみましょう。ソースコード情報はパッケージエクスプローラから取得するとして、そのクラスを操作するリーダを作ってみました。 package nu.mine.kino.plugin.astsampless; import java.util.Iterator; import org.apache.log4j.Logger; i
<H2> フレーム関連の警告</H2> <P> このドキュメントはフレーム機能を使って表示するように作られています。フレームを表示できない Web クライアントの場合にこのメッセージが表示されます。 <BR> リンク先<A HREF="overview-summary.html">フレームなしのバージョン</A>
同期コレクション 同期コレクションのイテレーション 同期コレクションのプット・イフ・アブセント 並列コレクション ConcurrentHashMap CopyOnWriteArrayList CopyOnWriteArraySet 同期コレクション 同期コレクションは、JDK1.2以降で追加された Collections.synchronizedXxx 系のファクトリメソッドから同期ラッパークラスを作成します。 List<String> list = Collections.synchronizedList(new ArrayList<String>()); Set<String> s = Collections.synchronizedSet(new HashSet<String>()); Map<Long, String> m = Collections.synchronizedMap
【概要】 オブジェクトをディープコピーに対応させる際に、コピー対象のオブジェクトごとに clone() メソッドを定義していく手間を省くことができるシリアライズを利用したディープコピーの方法の紹介。 【キーワード】 ディープコピー、Deep Copy、シリアライズ、直列化、Serialization、Serialize Java でディープコピー(DeepCopy)を行うには clone() メソッドをオーバーライドしてディープコピーの動作を自分で記述しけばよいが、他にも直列化(シリアライズ)の機構を利用してディープコピーを行う方法もある。 例えば次のような File クラスを考えてみる。 import java.util.Date; public class File { private String name; private String description; private D
【概要】 クラスローダーを自作する方法の紹介。クラスローダーの自作が有効なケースとして代表的なものは次の通り。 ・同一 FQN で異なるクラスを扱いたい(複数バージョンのライブラリを同一 JVM 上で取り扱いたいときなど) ・クラスの定義を Jar ファイルからの読み込み / HTTP からのクラス定義のロードなどの標準的な方法ではなく、独自の方法で動的にロードできるようにしたい。 【キーワード】 クラスローダー、ClassLoader、自作、つくり方 1. DirectoryClassLoader の作成 今回はクラスローダー作成のはじめの一歩として、極めてシンプルで原始的、かつ不完全なクラスローダーを作成する。具体的には指定されたディレクトリに格納されているクラスファイルを動的にロードするだけの DirectoryClassLoader を作成する。 import java.io.Bu
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "Javaクラスローダー" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2021年6月) Javaクラスローダー(英: Java class loader)とは、Java仮想マシン (Java VM; JVM) の一部で、JavaクラスをJava仮想マシンに動的にロードする役割を持つ[1]。通常、クラスは必要になったとき初めてロードされる。Javaの実行系は、クラスローダーがあるおかげでファイルやファイルシステムについて知る必要がない。クラスローダーについて学習する場合には、この委譲が重要な考え方である。 ソフトウェアのライブラリとは、オ
J2EEがミッションクリティカルな分野に適用されるようになり、Javaのパフォーマンスチューニングの重要性はさらに高まっています。パフォーマンスチューニングにはさまざまなパラメータがありますが、中でもJava VMに関連するチューニングの効果は大きいといわれています。本稿は、Java VMに関連するチューニング手法を学ぶための前提知識を提供することを目的にしています(編集部)。 ガベージコレクション(Garbage Collection:以下GC)と聞くと、「プログラマの煩雑なメモリ管理作業を軽減してくれるのはいいけど、アプリケーションの応答時間を遅らせたり、スループットを低下させたりして、パフォーマンスの観点からは非常に困ったものだ」というイメージを持つ人も多いのではないでしょうか。 GCはJava HotSpot仮想マシン(Java HotSpot Virtual Machine:以下
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く