javaに関するpata08のブックマーク (10)

  • Database Theory - ICDT'99

    Database Theory - ICDT'99: 7th International Conference, Jerusalem, Israel, January 10-12, 1999, Proceedings Databaseresearchisa?eldofcomputersciencewheretheorymeetsapplications. Many concepts and methods, that were regarded as issues of theoretical interest when initially proposed, are now included in implemented database systems and related products. Examples abound in the ?elds of database desi

    Database Theory - ICDT'99
  • Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek

    English version is here: http://www.slideshare.net/seratch/jjug-ccc-2014springeng http://www.java-users.jp/?page_id=1048#R2-4

    Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
  • JNI:Java Native Interface

    JavaからC/C++言語を呼び出す、またはその逆の方法として、JNI(Java Native Interface)というAPIが提供されています。記事では、JavaからC/C++言語をネイティブメソッドとして呼び出すコードとそのコンパイル・リンク・実行手順、およびC/C++言語からJavaを呼び出すコードとそのコンパイル・リンク・実行手順を記します。 JNIに必要なもの JNIは、Javaで記述する部分とC/C++で記述する部分があります。Java側はJDKがあればよいのですが、C/C++側はC/C++コンパイラが別途必要となります。 Windows環境で必要なもの Windows環境のJavaVMはネイティブメソッドをDLL(Dynamic Link Library)という形で用意されていないといけないので、DLLを構築できるC/C++コンパイラが必要となります。 Windows環境

  • 多重定義 - Wikipedia

    「オーバーローディング」はプログラミング言語の仕組みについて説明しているこの項目へ転送されています。その他の用法については「オーバーロード」をご覧ください。 多重定義 (たじゅうていぎ) あるいは オーバーロード (英: overload) とは、プログラミング言語において同一の名前(シンボル)を持つ関数あるいはメソッドおよび同一の演算子記号について複数定義し、利用時にプログラムの文脈に応じて選択することで複数の動作を行わせる仕組みである。 例えば整数型や浮動小数点型、複素数型の値について同じ「abs」という関数を定義して絶対値を求める、型ごとに個々の意味で名前やIDを返す関数を定義するなどが挙げられる。多重定義する対象に応じてそれぞれ関数の多重定義[注釈 1]、演算子の多重定義[注釈 2]、メソッドの多重定義[注釈 3]と呼ばれる。メソッドの多重定義の特殊なケースとして、コンストラクタの

    pata08
    pata08 2015/06/24
  • JNIの簡単なサンプル(Hello Worldを表示するプログラム)

    このページでは、JNIの簡単な使い方(Hello Worldを表示するプログラム)を紹介しています。 ▲記事トップへ 概要 このページでは、 JNI(Java Native Interface)の簡単な使い方を紹介するため、 Hello World(簡単なアプリケーションのサンプル)を作成する情報を掲載しています。 動作環境 以下の環境で動作確認をおこないました。 CentOS JDK1.7 gcc Nativeメソッドを定義したJavaソース作成 $ vi NativeClass.java public class NativeClass { public native void nativeMethod(); } Nativeメソッドを定義したJavaソースのコンパイル $ export PATH=$PATH:/usr/java/jdk1.7.0_40/bin $ javac *.ja

    pata08
    pata08 2015/06/11
  • JNIでNewGlobalRef, DeleteGlobalRefを使う|TechRacho by BPS株式会社

    JNIを使っていて、C/C++側からJavaのオブジェクトを任意のタイミングで使いたいことがあります。 たとえば、ネイティブ側で処理が終わったらonCompleteメソッドを呼び出すとか、javaのInputStreamをC側で保持しておき、適宜読み込むといった場合です。 JNIメソッドの引数やFindClass/GetObjectFieldで取得したjobjectを、Cのグローバル変数(やC++のメンバ変数など)に保持しておいて、後で使おうとすると JNI ERROR (app bug): accessed stale local reference 0x2d00025 (index 9 in a table of size 8) のようなエラーが発生することがあります。 これは、jobjectの参照するJavaのオブジェクトが、すでにGCによって回収されている場合のエラーです。 Cでj

    JNIでNewGlobalRef, DeleteGlobalRefを使う|TechRacho by BPS株式会社
    pata08
    pata08 2015/06/11
  • JNI 関数

    インタフェース関数テーブル 各関数には、JNIEnv 引数を介し、固定オフセットでアクセスすることが可能です。JNIEnv 型は、すべての JNI 関数のポインタを格納する構造体を指すポインタです。これは次のように定義されます。 VM は、コード例 4-1 に示されているように関数テーブルを初期化します。最初の 3 エントリは、将来の COM との互換性のために予約されていることに注意してください。さらに、関数テーブルの始めの近辺にいくつかの追加の null エントリを予約してあります。したがって、たとえば、これから現われる、クラス関連の JNI 演算は、表の終わりではなく FindClass のあとに追加することができます。 関数テーブルは、すべての JNI インタフェースポインタの間で共用されることに注意してください。 const struct JNINativeInterface .

    pata08
    pata08 2015/06/11
  • m12i: Scalaを単体で実行可能なJarファイルにまとめる

    【注】この記事の記述にはまちがいがありました。紹介されている参考記事の記述のうち、不要だったのは、マニフェストファイルでのクラスパス(Class-Path)の記述であって、scala-library.jarの展開は必須でした。 Scalaソースコードを、Javaクラスファイルにコンパイルしたあと、Scalaがインストールされていない環境でも(Java実行環境があれば)単体で実行可能なJarファイルにまとめる手順について。 jarコマンドとか、classpathとかそのへんすごい苦手なので、備忘録。 おおむね下記サイトに掲載されている通りでも問題ない。 ■ScalaをJar化してみるComments - ゲーム作ろうよ http://d.hatena.ne.jp/mitsu_chie/20100719/1279552867 だけど、要らない手順も含まれていたので、整理しておく。 1. Sca

  • いまさら聞けないHadoopとテキストマイニング入門

    ビッグデータ時代の救世主「Hadoop」とは 「Apache Hadoop」は今、最も注目を集めている技術の1つです。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 Hadoopを活用している企業は年々増え続けていて、不可欠な技術になりつつあるといえるでしょう。 連載では、Hadoopとは何か、Hadoopがどう活用できるのかということを、「テキストマイニング」に焦点を当てて解説していきたいと思います。 重い処理を複数のマシンに分散させる 複数のマシンに処理を分散させるには、プロセス同士の通信、監視、障害時の対応などを考えなければならず、プログラマにとってハードルが高いものです。しかし、Hadoopはそういった面倒くさい処理を一手に引き受けてくれ、プログラマは、やりたい処理だけに集中できます。 例えば、Hadoopを使うと、1

    いまさら聞けないHadoopとテキストマイニング入門
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
  • 1