タグ

Javaに関するw2allenのブックマーク (198)

  • Dalvik仮想マシン - Wikipedia

    Dalvik仮想マシン(ダルビックかそうマシン)は、Androidプラットフォームで採用されていたレジスタベースの仮想マシン[1]。ダン・ボーンスタイン(英語版)およびGoogle社のエンジニアによって設計・開発されていた。Android 5.0よりAndroid Runtime(ART)に置き換えられた。 Dalvikは低メモリ環境に対して最適化されており、オペレーティングシステムによるプロセス間の分離、メモリ管理、スレッドのサポートを用いて複数のVMインスタンスが同時に動作できるよう設計されている。DalvikはJava仮想マシンとされることもあるが、動作するバイトコードがJavaバイトコードではないため、これは明らかに正確ではない。また、Java互換性テストを通過していないので、法的にもJavaを名乗れない。Android SDKに含まれる dx と呼ばれるツールが正規のJavaコン

    w2allen
    w2allen 2012/07/27
    引用:Dalvik は携帯電話メーカーがコアの VM の改変をソースコードの公開なしに行うことができるよう、OpenJDK(GPLリンク例外を用いている )ではなくApache Harmony (Apache License で提供されている)のサブセットを用いている。
  • Dalvik VM(ダルビック バーチャルマシーン)

    Dalvik VM(ダルビック バーチャルマシーン) 現在 Android4.4からようやくARTというより高速な実行環境が出てきました。 Android黎明期(2008-2010) すべてのアプリはDalvik上で動いています。 Java実行環境のようなものです。 現在は、正式にはJava言語のみDalvik実行形式に変換可能です。 将来的にはC#などもサポートされるかもしれない。 動作速度ですが、Dalvikは普通のJava VMではないです。 Dalvik VMを介して実行するといっても画面とかはOpenGLやライブラリーを呼び出すのでネイティブと変わらないと思います。 Javaデスクトップアプリで言えばEclipse(SWT)ぐらい速いと推測します。 (ただAndroidそのもののチューニング不足で遅い可能性はあります) DalvikはモバイルJavaの分断とも言われますが、DoJ

    w2allen
    w2allen 2012/07/27
  • Twitterが、Ruby on RailsからJavaVMへ移行する理由

    オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail

    Twitterが、Ruby on RailsからJavaVMへ移行する理由
    w2allen
    w2allen 2012/07/27
    Rubyも併用されている模様。引用:JavaVMを採用する理由の1つはフレキシビリティだ。Twitterでは、ストレージレイヤにはScalaを使っているし、それ以外にJavaも使っていて、最近ではClojureも使い始めた。J
  • The Kaffe Virtual Machine

    Kaffe is a clean room implementation of the Java virtual machine, plus the associated class libraries needed to provide a Java runtime environment. The Kaffe virtual machine is free software, licensed under the terms of the GNU General Public License. Kaffe is not an officially licensed version of the Java virtual machine. In fact, it contains no Sun/Oracle source code at all, and was developed wi

    w2allen
    w2allen 2012/07/27
    引用:but Oracle controls the Java trademark, and has never endorsed Kaffe, so technically, Kaffe is not Java.
  • Rava / JavaVM on Ruby

    Tue, 15 Oct 2002 09:47:06 +0900、初稿。 Thu, 17 Oct 2002 18:43:17 +0900、改稿。/. に載った記念に、未実装部分追記(ぉぃ)。 Mon, 16 Dec 2002 14:55:36 +0900、./rava2.html を書きました。 なんじゃそりゃ Ruby で書いた JavaVM です。pure ruby です。ええ。 JRuby ってあるじゃないですか。あれは、JavaRuby インタープリタ動かすやつ(らしい)ですけど、これは、RubyJava バイトコードを動かします。 どう考えても、使う利点って(殆ど)無いような気もしますが。 誰か考えてそうで、だけど(その無意味さに)誰も作っていなかった(一応、Google様は知らなかった。作っていた人がいたらごめんなさい)。 まぁ、ジョークの一つとしてご笑覧ください。

  • 開発者が知っておくべきJavaと仮想マシンの歴史

    Javaの黎明(れいめい)期、多くの人々にJavaが知られ、広まった理由の1つは、WebブラウザにJava VMが組み込まれたことにあるでしょう。その当時のWebブラウザ開発のエキサイティングな様子は、雑誌『Wired』の古い記事「The Java Saga」で読むことができます。 Webブラウザ上で動作するJavaアプレットの勢いも借りて、各OSベンダが米サン・マイクロシステムズからライセンス提供を受け、各OSプラットフォーム用のJava環境が続々とリリースされます。 その一方、米マイクロソフトのWebブラウザ「Internet Explorer」(以下、IE)にJava VMが組み込まれたことは、歓迎とともに混乱を招きました。米マイクロソフトが提供したWindows 95/NT用のJava VM((MSJVM))が持つ「J/Direct」機能は高性能ながら、Win32 APIを直接呼び

    開発者が知っておくべきJavaと仮想マシンの歴史
    w2allen
    w2allen 2012/07/27
    VMだけでも、たくさん種類がある。Kaffeは、Icedteaに置き換えられた感じがする。
  • Java - Wikibooks

    オブジェクト指向プログラミング (OOP) クラス パッケージ 抽象クラス ラッパークラス オートボクシング 列挙型 (enum) レコード (record) インターフェース ジェネリクス アノテーション スレッドと並行処理 スレッドの基的な理解 スレッドの作成と制御 マルチスレッドプログラミングの基礎 ラムダ式とストリームAPI ラムダ式の構文と利点 ストリームAPIの基的な操作(map、filter、reduceなど) デザインパターン ソフトウェアデザインパターンの基概念 代表的なデザインパターンの理解と実装 特殊機能と技術 改廃された技術 リフレクション リフレクションの基的な理解 リフレクションを使用したダイナミックプログラミング ユニットテスト ユニットテストの重要性と基的な考え方 JUnitなどのテスティングフレームワークの使用方法 データベース連携 JDBCを使

  • いろいろなJavaを使ってみよう

    GCJというJavaコンパイラもあります。配布形態はGPLです。JavaソースコードをJavaバイトコードへコンパイルできますし、直接ネイティブな機械語へコンパイルすることもできます。クラスライブラリについては、GNU Classpathと統合を進めているようです。GCJが使用するライブラリのlibgcjにはJavaバイトコードをインタプリタ実行するgijコマンドが同梱されています。javacでコンパイルをしてからjavaコマンドで実行するのと同じように、gcjでコンパイルをしてクラスファイルを生成してからgijで実行することができます。 Kaffeでも、Javaコードを実行する仮想マシンと実行時に必要なクラスライブラリの開発をしています。これもGPLで配布されています。GNU Classpathのクラスライブラリをかなり利用しているようです。 IBMが産みの親「Jikes」 もともとはI

    いろいろなJavaを使ってみよう
    w2allen
    w2allen 2012/07/26
    Apache, GNU, IBMなど。
  • GNU Java, Sun Javaって何が違うんですか?出来るだけ詳細にお願いします。

    GNU Java, Sun Javaって何が違うんですか?出来るだけ詳細にお願いします。

  • JIT機能つきのJava仮想マシン CACAO 0.95 公開 | エンタープライズ | マイナビニュース

    w2allen
    w2allen 2012/07/26
    The CACAO Teamは14日(オーストリア時間)、CACAOの最新版となるCACAO 0.95を公開した。CACAOはJIT(Just-In-Time)を内包したJava仮想マシン。コアAPIとしてはGNU Classpathが採用されている。
  • 文字列から開始と終了インデックスを指定して部分文字列を取得する(String.substring)

    パラメータ: beginIndex - 開始インデックス(この値を含む) endIndex - 終了インデックス(この値を含まない) 戻り値: 指定された部分文字列 例外: IndexOutOfBoundsException - beginIndexが負であるか、endIndexがこのStringオブジェクトの長さより大きいか、あるいはbeginIndexがendIndexより大きい場合。 1 番目の引数に開始インデックス、 2 番目の引数に終了インデックスを指定します。戻り値として取得する部分文字列は開始インデックスから終了インデックス - 1 の文字列です。(終了インデックスの文字は含まれない点に注意してください)。 例えば文字列が "東京都港区赤坂" だった場合、それぞれの文字のインデックスは次のようになります。 この文字列の中から "港区" という部分文字列を取得する場合には、開始

    文字列から開始と終了インデックスを指定して部分文字列を取得する(String.substring)
  • アプリケーション実行基盤としてのOpenJDKの評価 調査報告書

    2009 情財第 517 号 オープンソフトウェア利用促進事業 アプリケーション実行基盤としての OpenJDK の評価 調査報告書 平成 22 年 5 月 独立行政法人 情報処理推進機構 • • • • • • Linux は米国およびその他の国において Linus Torvalds が所有する商標である。 JavaJava HotSpot、JMX、JVM、JRE、JDK、OpenJDK は米国およびその他の国における米国 Sun Microsystems, Inc.の商標もしくは登録商標である。 Red Hat、Fedora は米国およびその他の国で Red Hat,Inc.の登録商標若しくは商標である。 Apache、Tomcat は米国およびその他の国で Apache Software Foundation の登録商標ま たは商標である。 報告書に記載している会

  • [ThinkIT] いまさら聞けないTomcat~JSPサーバ構築のキソ

    Tomcatマスターになるために HTTP/HTMLを用いた静的ドキュメントの交換という目的からスタートしたインターネットは、産業や社会のコミュニケーションやパーソナライズされた情報を扱う媒体として発展してきています。こうした流れの中で、インターネットはリアルタイムのコンテンツ更新を求められるようになってきました。 検索エンジンや掲示板などはその一例です。こうしたWebアプリケーションを実現するためには、HTTPを介してリクエストを受け取り、リクエストに応じた処理を行った結果(動的コンテンツ)をリクエスト元に返す仕組みが必要になります。 動的コンテンツ提供のための仕組みの1つが「サーブレット/JSP」です。サーブレット/JSPは、Sun Microsystems(以下、Sun)によって開発されたサーバサイドのJava技術であり、オブジェクト指向に基づくプログラムの部品化の実現や、豊富なクラ

    w2allen
    w2allen 2012/07/01
    引用:サーブレット/JSPの概要
  • Javaで昇順に並べるには?配列の並べ替えはArray.sort [Javaプログラミング] All About

    配列の並べ替え・ソートはArray.sortで! たくさんの値を配列に入れて処理する、というのはプログラミングの基ともいえるものですね。単純に値をすべて表示させたりするならば誰でもできるでしょう。例えば、こんな具合です。 public class Sample { public static void main(String[] args) { int[] arr = new int[]{3,1,5,4,6,2}; for(int i = 0;i < arr.length;i++) System.out.println(arr[i]); } } では、質問です。この配列に入れた複数の数字を、小さい順に並べ替えて表示するにはどうすればよいでしょう? 「配列の最初から順番に値を取り出して、どちらが大きいか比較して入れ替えて‥‥」といった並べ替えの方法をすぐに思い浮かべた人。それももちろん正解

    Javaで昇順に並べるには?配列の並べ替えはArray.sort [Javaプログラミング] All About
  • オブジェクトを手軽にソートする

    int[] ia = {10, 5, 30, 20, -18, 0, 50}; // 適当なint型の配列 java.util.Arrays.sort(ia); この結果、iaが昇順にソートされます(-18, 0, 5, 10, 20, 30, 50)。iaの中身が書き換えられることに注意してください(sortの戻り値はvoidです)。ソートのアルゴリズムは修正クイックソートが用いられています。クイックソートは最悪の場合(ソート済のデータ)の時間計算量がデータ数nの2乗に比例することが知られていますが、このメソッドではそのような場合にも(n*log n)に比例する時間で実行できる修正がなされています。 オブジェクトをソートする 単に数値型の配列をソートするのではなく、データをフィールドに持つオブジェクトをソートすることもあります。例えば、String型のフィールドを持つDataクラスを、そ

    オブジェクトを手軽にソートする
    w2allen
    w2allen 2012/06/30
    引用:java.util.Arrays.sort(ia);
  • とほほのJava入門 - とほほのWWW入門

    I/O と NIO と NIO.2 自動クローズ(AutoCloseable) バイナリファイルを1バイトずつ読み込む FileInputStream (I/O) BufferedInputStream (I/O) newInputStream (NIO) バイナリファイルをすべて読み込む readAllBytes (NIO) テキストファイルを1文字ずつ読み込む InputStreamReader (I/O) FileReader (I/O) テキストファイルを1行ずつ読み込む BufferedReader (I/O) Scanner (I/O) newBufferedReader (NIO) lines (NIO) テキストファイルを全行まとめて読み込む readAllLines (NIO) バイナリファイルにバイト列を書き込む BufferedOutputStream (NIO) テ

    w2allen
    w2allen 2012/06/30
    引用:InputStream系クラスは主にバイナリデータを扱う際に、Reader系クラスは主にテキストデータを扱う際に用いられます。
  • Javaでの空文字の判定方法 — ありえるえりあ

    アリエル社内の掲示板Javaでの空文字の判定方法が密かなブームを読んでいます。例によって、かなり脱線した議論もあります。 そもそもの質問者は、 Javaでの空かどうかの判定は、どちらがいいのでしょう? str.equals("") str.length() == 0 最初の方法はタイプが楽ですが、効率が悪そうです。二つ目の方法は速そうですが、空文字の判定かどうかがわかりづらいです。 というものです。ここで、Pythonistaが Python的には、s is None と発言してしまったことに議論の発散が始まります。確かにPythonの方がJavaに比べてシンプルで直感的です。C/C++に慣れているおじさん世代には反論を呼びそうです。 質問者は、Pythonistaに反論して、 C的には、 *str == '\0' strlen(str) == 0 二つ目の方法はとても遅くなる可能性があ

  • とほほのJava入門 - とほほのWWW入門

    このページの内容は Java 1.4 時代の内容と Java 21 時代の内容が混在しています。順次、Java 21 に合わせて改版していきたいと思います。下記目次の各章に Java 1.4 か Java 21 かを示します。 索引 Javaとは ... Java 21 Javaとは JDKとJRE Javaのエディション(Java SE, Java EE, Java ME) Javaのバージョン Oracle JDKとOpenJDK OpenJDKのライセンス はじめてみよう ... Java 21 JDKをインストールする Javaアプリケーションのサンプル(Hello World) 文法 ... Java 21 コメント(//, /* */, /** */) キーワード リテラル プリミティブ型(boolean, byte, char, short, int, long, float

  • InfoQ: Sun社のJDK7、OpenJDK、そしてIcedTea:曖昧さの回避

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    InfoQ: Sun社のJDK7、OpenJDK、そしてIcedTea:曖昧さの回避
  • Fedora8のjavaパッケージについて

    いつも参考にさせて頂いています。 Fedora8をインストールし、jdk1.5.0_15をインストールしたのですが、# rpm -aq | grep java でパッケージを確認したところ、下記のように表示されました。 sun-javadb-client-10.3.1-4.1 tzdata-java-2007h-1.fc8 java_cup-0.10-0.k.6jpp.1 java-1.7.0-icedtea-plugin-1.7.0.0-0.19.b21.snapshot.fc8 sun-javadb-common-10.3.1-4.1 sun-javadb-docs-10.3.1-4.1 java-1.5.0-gcj-1.5.0.0-17.fc8 sun-javadb-core-10.3.1-4.1 sun-javadb-javadoc-10.3.1-4.1 java-1.7.0-ic

    Fedora8のjavaパッケージについて