2015.04.24 JJUGナイトセミナ Javaのプログラムはどうやって動いているの? JVM編Read less
![Javaのプログラムはどうやって動いているの? JVM編](https://cdn-ak-scissors.b.st-hatena.com/image/square/9efcff9910e94267ac7b9b05e4554ca047e88408/height=288;version=1;width=512/https%3A%2F%2Ffanyv88.com%3A443%2Fhttps%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fjvm-150425052754-conversion-gate01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
2015.04.24 JJUGナイトセミナ Javaのプログラムはどうやって動いているの? JVM編Read less
夏のJAWS-UG 三都物語 2014というイベントで「そろそろJavaみなおしてもええんやで」というプレゼンしてきました。 Javaのイベントではなかったので、Javaを使ってない人を想定したプレゼンでしたが、実際会場のほとんどがJavaメインではなかったようです。 for(int num : nums){ if(num > 10) continue; sum += num * 2; } というコードが、NetBeansの「関数操作を使用」というリファクタリングで sum = nums.stream().filter((num) -> !(num > 10)).map((num) -> num * 2).reduce(sum, Integer::sum); になったところがハイライト。 ここまでできるとは思ってなかった。 そろそろJavaみなおしてもええんやで from なおき きしだ
Javaは決して悪い言語ではない。 C++からポインターの「*」やアロー演算子の「->」とかスコープ演算子の「::」とか気持ち悪いものを廃止・整理して、比較的読み易いシンタックスになったと思う。1995年当時から見れば、十分に出来の良い言語だったと思われる。 でも後発のC#でコーディングする機会が増えてきたら、如何にJavaが駄目(というか保守的な)言語かってのもまた同時に痛感してしまう。2005年リリースの2.0の時点で既にJavaをほぼ完全に上回っていると思うのに、その後ラムダ式・LINQ・拡張メソッドなど数多くの新機能が加わった現行C#とは最早比べるまでもないと思う。 以下は根拠。 ■注(2014年2月18日) このエントリーは殴り書きに等しい状態で放置してましたが、最近は思わぬところで読まれ始めたりしたので、ちょっと加筆修正しました。 ①そもそも純粋なオブジェクト指向言語ではない。
Todd L. Montgomery氏。Informatica Ultra Messagingのアーキテクチャ担当副社長で29Westの低遅延メッセージング製品の主任設計者および実装者。 Dr Andy Piper氏。最近、OracleからPush TechnologyにCTOとしてジョイン。 質問: 低レイテンシとは何を意味するのですか? リアルタイムと同じ意味でしょうか? 一般的に、高パフォーマンスなコードにどう関係しているのですか? Javaを使う利点として、豊富なライブラリ、フレームワーク、アプリケーションサーバなどへのアクセスや、使えるプログラマが多いことが挙げられます。こうした利点は低レイテンシコードにも当てはまるのでしょうか? もし当てはまらないなら、C++よりも何か利点はあるのでしょうか? JVMは並行プログラムをどのようにサポートしていますか? ガベージコレクションは少し
ほんと、どうしてこうなったかなぁ。 Oralceの対Google訴訟、プログラミングの将来を危うくしている 二分された世界 JVM と .NET、もろに競合なわけですが。少しレイヤーが違うとか、棲み分けできるポイントがあるならともかく、ほんとに2個あってもしょうがない状態。競争があるのはいいと思うものの、どうせ競争するなら最低ラインの仕様そろった中で性能改善とかで競って欲しく。 でも、後発の .NET だけが悪いわけでもないのは今の DalvikVM の状況を見ての通り(Oracle になってひどくなったわけでもなく、Sun の時代も大概)。このままだと仕様が違う第3の仮想マシン(VM)ができてしまってもおかしくない状況… 個人的な意見として、「もしもの話」で、一番よかっただろう道筋は、2000年前後の訴訟がなくて、Microsoft Java VM が生きている状態。.NET が生まれる
Dalvik仮想マシン(ダルビックかそうマシン)は、Androidプラットフォームで採用されていたレジスタベースの仮想マシン[1]。ダン・ボーンスタイン(英語版)およびGoogle社のエンジニアによって設計・開発されていた。Android 5.0よりAndroid Runtime(ART)に置き換えられた。 Dalvikは低メモリ環境に対して最適化されており、オペレーティングシステムによるプロセス間の分離、メモリ管理、スレッドのサポートを用いて複数のVMインスタンスが同時に動作できるよう設計されている。DalvikはJava仮想マシンとされることもあるが、動作するバイトコードがJavaバイトコードではないため、これは明らかに正確ではない。また、Java互換性テストを通過していないので、法的にもJavaを名乗れない。Android SDKに含まれる dx と呼ばれるツールが正規のJavaコン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く