Javaが普及した理由を教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

1番の理由は、プラットホームに依存しない事です。


WindowsでもUNIXでも、Macでも一度作成したら基本的には、どのOSでも
動作することです。ただし、JavaVM(実行環境)が必要ですが・・・。
iアプリもJavaですよ。
2番目は、Javaはネットワークに対する命令が標準で用意されているので、
現在の様なインターネットが普及した環境にて、ネットワークを意識した
プログラムを作成する事が容易であること。同時にセキュリティーに
対する配慮も最初から成されている。
3番目に、プログラムを機能単位に作成し、プログラムを再利用することにより、プログラムの開発が大幅に短縮できることです。(過去に似たような処理の
プログラムがあれば、部品として利用することができる)
4番目、サーバー側のプログラムとして、もっとも利用しやすく(上記3つ)
軽いために、CGIの代わりとして注目されています。
    • good
    • 0

私見ですが、


1.Classの考えを徹底したこと。
2.C言語の素地を使っている風に見えるので奇異な感じはない。
3.プログラムを組んだ側のコンパイル的なものは、統一された中間言語で止めていること。
4.中間言語->マシン語の変換と実行は動かす側で用意すること。
5.したがって、アプリプログラムを組んでいる側は、どんなマシン で実行されるか、一応意識しなくて良いこと。
今まではプログラムを組んだ側でマシン語までコンパイルしていた
ので、機種の違うマシンに送っても動かない訳です。
    • good
    • 0

「スキマ技術」という言葉をご存知でしょうか。


既存の技術のスキマをぬって、既存の技術の組合せではできない事をやってのける。
「JAVA」は「スキマ技術」というとらえかたが出来ます。
(1)コンパイラとインタプリタの併用。
(2)オブジェクト指向の採用。
(3)C言語をベースにし、しかも難解なポインタを削除した仕様選択。
(4)ネットワーク技術を意識した仕様設定(アプレット、中間言語転送)

WINDOWSもある意味で「スキマ技術」ですが、「JAVA」もまさしく「スキマ技術」です。
JAVAを称して、「中途半端」だという人もいます。でも、「スキマ技術」で世の中を旋風に巻き込む、・・・、醍醐味でしょう。

この回答への補足

プログラミングとかはやったことがあるんですが、用語などに関する知識があまりないものでよく分からないです。就職試験で聞かれたのですが、そのときは答えられませんでした。だから、きちんと理解くらいはしたいと思いまして・・・。

補足日時:2002/04/09 23:54
    • good
    • 0

学校の課題か何かですか?



JAVA普及の理由…
mrt136さんの意見に追加して、

ブラウザ上で動作させる事が出来るアプレットという形態を取る事が出来る。
携帯電話用にも利用されている。

普及率の高いC言語がベースのため、C→JAVAの移行が容易。
オブジェクト指向言語であるので開発がしやすい。(いろんな意味で)
というよりも開発のしやすさを念頭に作られている。

ネットワーク関連の機能が充実しているため、
ネットワークが急速に発展している今の時代のニーズにピッタリフィット。

初期はマルチプラットフォーム+アプレットで普及し、
現在はネットワークで普及、といったところでしょうか。

この回答への補足

プログラミングとかはやったことがあるんですが、用語などに関する知識があまりないものでよく分からないです。就職試験で聞かれたのですが、そのときは答えられませんでした。だから、きちんと理解くらいはしたいと思いまして・・・。

補足日時:2002/04/09 23:55
    • good
    • 0

プラットホームに依存しなくて、オープンソースで、無償だからかな?

    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qjava アップデート後の旧バージョン削除の件

javaのアップデートで質問です。javaのアップデートをインストールし行いました。インストール後、旧バージョンは削除したほうがよいとコメントがありました。パソコンのコントロールパネルを開き確認したところjava7update51(バージョン7.0.510)とjava7update60(バージョン7.0.600)があるのですがどちらを削除したらよいでしょうか?windous8でパソコンは初心者レベルです。宜しくお願いします。

※OKWaveより補足:「富士通FMV」についての質問です。

Aベストアンサー

Java7u51->7u55->7u60の順で新しくなりますから、
7u60以外は全て削除すれば良いです。

Qjavaについて教えてください。java初心者です。int arr[] = new int[

javaについて教えてください。

java初心者です。

int arr[] = new int[] { 3, 1, 4, 1, 5, 9, 2, 6 };はどういうことなんでしょうか?
教えてください。

Aベストアンサー

int[] arr = new int[8];
arr[0] = 3;
arr[1] = 1;
arr[2] = 4;
arr[3] = 1;
arr[4] = 5;
arr[5] = 9;
arr[6] = 2;
arr[7] = 6;

https://ideone.com/OMAI0E

QJava等の自動アップデート画面を詐称されたら?

JREやAdobeのFlashPlayer、AdobeReaderなどは、自動アップデート機能がバックグラウンドで動いており、アップデートがあれば自動でウィンドウが立ち上がり、アップデートをユーザーに促してきます。

この際、UACがアップデートの許可を求めてきますが、もし仮に全然別のウィルスがそれらアップデートの画面と全く同じものを表示してきてユーザーに許可を促す、ということはありうるのでしょうか?
ありうる場合、「ウィルスの騙りではなく正真正銘Javaのアップデートである」判断する方法はあるのでしょうか?
今まで「Javaのアップデートなら」とそのままOKしていましたが、詐称されていたらどうなるんだろう、と恐くなりました。

アップデートの有無の判断だけやらせて、更新自体は手動でWebサイトからやれば安全そうですが、できれば
自動アップデートの告知⇒その画面からアップデートを開始する
という流れはそのままにしたいのですが。

Aベストアンサー

はい、これ

やったばっかの動作検証

新Kingsoft Internet Security 2013の一つの売りである外部からのWebCam操作防止機能は有効のようです。

起動元がJava Update Schedulerになってるのがわかるかな? 要はマルウェアによる他のプロセスへのなり済ましが行われています。

日頃、システム上でどんなプロセスが動いているかざっとでも把握してると違うんだよね。


http://www.dailymotion.com/video/xxkz7a_yyyyyremote-admin_tech#.USGpWme_M2s




話変わるけど、異変を察知できた人↓

http://www.nhk.or.jp/gendai/kiroku/detail02_3263_all.html


「CPU使用率が・・・・・・・・・」

QJava と .net どちらが普及してますか?将来性は?

今の時点(2005年9月)で Java と .net ではどちらのほうが普及してるんでしょうか。それぞれの将来性は?
詳しい人の解説を聞きたいです。

Aベストアンサー

2002年11月時点では若干.net(C# + VB.net)の方がシェアが上のようです
http://www.atmarkit.co.jp/fdotnet/questionnaire/2002-11/2002_11.html

Java と .net は言い換えれば
SunとMicrosoftの争いでもあるともいえると思います。
今後Windows系のシェアが拡大するようなら
.netが有利になるでしょう。
現実的に.netはWindows上でしか動作しません。
(.netをUNIX等で動かすプロジェクトはあります。)

ただどちらも、長く残っていく言語だと思うので
どちらは将来性があると思いますが。

QJavaアップデートの更新の案内がきていますが?

Javaアップデートの準備が出来たと、更新の案内が来ているのですが、Javaなるものを使っているものやらわかりません。詳細文には「Java Update には、お使いのコンピュータで実行する Java アプリケーションのパフォーマンス、安定性、セキュリティーを改善するための重要な拡張機能が含まれています。この無料の更新をインストールすれば、お使いの Java アプリケーションを引き続き安全かつ効率的に活用できます。」ということで、自分のPCにインストールしているから更新の案内が(自動で)来るのだとは思うのですが。あまりメモリーの大きなPCでもないので、変なソフトは出来るだけ入れたくないのでどうしたものかと迷っています、教えてください。

Aベストアンサー

場所によってはホームページを閲覧するだけでもJavaを使うことがあります。
よほどの理由が無い限りは最新のアップデートは実施しましょう。

・Java Update
・Flash アップデート
・お使いのセキュリティソフトのアップデート

以上の3点はインターネットを使う上で重要なポイントなので必ず更新しましょう。
(もちろん必要無いとはっきりわかっているなら不要なものもありますが。)

QJava-Tomcatのみをjre 1.5で起動して標準のJavaアプリはjre1,4を利用したいです。

Java~標準で利用するのはjre1.4でTomCatの起動のみを jre1.5 で起動したいです ...

Java~標準で利用するのはjre1.4でTomCatの起動のみを jre1.5 で起動したいです が可能でしょうか?

Tomcatってjre バージョン1.4では動作しないのでしょうか?
Tomcatをインストール時のウィザードで jre1.5インストールしないと Next できないのですが、1.5は標準利用したくありません・・
TomCatのみをjreバージョン1.5で起動させて、その他で利用するJavaアプリはバージョン1.4で利用したのですが 方法がわかりません。初歩的質問ですみません。。お詳しい方 方法教えて下さい。。ネットで調べるとBatファイルで一時的に実行アプリの環境変数を設定できると書いていたのですが・・・ お願いします。
--環境--
Windows XP SP2
Tomcat5.0
Eclipse3.0.1

Aベストアンサー

そもそもTomcat5.0は1.4以上対応のはずですが。
5.5系の話でしょうか?

5.5系の話として。
インストール後にモニターでJVMとCLASSPATHの設定を個別に行うことができるので、標準はJRE1.4で、Tomcatだけ1.5という用法は可能です。

QJAVAのアップデートは必要ですか?

OSはXP-HOME、IE6です。
PCを起動して、インターネットに接続したら
「Java(TM)Update」を促すポップが出たので、
内容もわからないままダウンロード&インストールしてしまいました。
そしたら、オンライントレードで利用している個別銘柄の株価時価表示の
画面がみれなくなってしまいました。
このトラブルは当該ネット証券に問い合わせて解決しました。
そこで質問なのですが、

1.このアップデートは必ず必要なのですか?必要だとしたら、その理由は?

2.今後また同様のJAVAのアップデートを勧めるポップが表示された時は、
上記のようなトラブル防ぐためには、どういう点に注意すべきなのでしょうか?

Aベストアンサー

あくまで主観だけど・・・・

>1.このアップデートは必ず必要なのですか?必要だとしたら、その理由は?

「必ず」とは言えない。

>2.今後また同様のJAVAのアップデートを勧めるポップが表示された時は、上記のようなトラブル防ぐためには、どういう点に注意すべきなのでしょうか?

changelog(更新履歴)を見て、旧バージョンと比較して「どこが変更されたのか」を把握しておく。できることなら影響しそうな場所のヘルプやフォーラムのコメントを読んでみる

QJavaで、TomCatプロジェクトを使用したJDBCを使用したデータベースのアクセスについて教えてください。

すぐに回答を! TomCatプロジェクトでDBアクセスできず困っています。

●Javaプロジェクトの場合(成功)
 ・Javaプロジェクト作成 → 新規 → クラスを作成。
 ・プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー
  → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー
  → 新規 → MySQLドライバを追加
 ・次のソースの実行にて、JDBC Dirverの接続を確認。

[JdbcSample.java]
import java.sql.*;
class JdbcSample {
public static void main(String[] args) {
try {

// 1.JDBC Driver の登録
Class.forName("com.mysql.jdbc.Driver").newInstance();

// 2.データベースへの接続
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/db1", "(ユーザー名)", "(パスワード)");

// 3.SQL ステートメント・オブジェクトの作成
Statement stmt = con.createStatement();
// 4.SQL ステートメントの発行
ResultSet rs = stmt.executeQuery("SELECT * from null_test_tbl");
// 5.結果の出力
while (rs.next()) {
System.out.println(rs.getString("allow_null"));
}

// 6.データベースのクローズ
rs.close();
stmt.close();
con.close();

} catch (SQLException e1) {
System.out.println(
"SQLException: " + e1.getMessage());
System.out.println(
" SQLState: " + e1.getSQLState());
System.out.println(
" VendorError: " + e1.getErrorCode());
} catch (Exception e2) {
System.out.println(
"Exception: " + e2.getMessage());
}
}
}

●TomCatプロジェクト作成の場合(失敗)
 (1)TomCatプロジェクト作成 → 新規 → クラスを作成。
 (2)プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー
  → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー
  → 新規 → MySQLドライバを追加
 (3)サーブレットからBeanの呼び出し。
 「​http://localhost:8080/test_mvc/jdbcSample​」
 (4)エラー「Exception: com.mysql.jdbc.Driver」 が発生。(ドライバーが見つかりません?)

[servlet]
package ne.jp;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestMvc extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {


JdbcSample da = new JdbcSample();


try {
da.dbAccessTest(); (※)←ここでBeanのデータベースアクセスメソッドを呼び出し
} catch (Exception e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}


// HTML出力の準備
response.setContentType("text/html;charset=Shift_JIS");
PrintWriter out = response.getWriter();

out.println("<html><body><p>こんにちわ!</p></body>");
}

}

[Bean]
package ne.jp;
import java.sql.*;

class JdbcSample {

//Beanコンストラクタ
public JdbcSample(){
}

//データベースアクセス確認
public void dbAccessTest(){

try {

// 1.JDBC Driver の登録
Class.forName("com.mysql.jdbc.Driver").newInstance();

// 2.データベースへの接続
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/db1", "***", "*****");

// 3.SQL ステートメント・オブジェクトの作成
Statement stmt = con.createStatement();
// 4.SQL ステートメントの発行
ResultSet rs = stmt.executeQuery("SELECT * from null_test_tbl");
// 5.結果の出力
while (rs.next()) {
System.out.println(rs.getString("allow_null"));
}

// 6.データベースのクローズ
rs.close();
stmt.close();
con.close();

} catch (SQLException e1) {
System.out.println(
"SQLException: " + e1.getMessage());
System.out.println(
" SQLState: " + e1.getSQLState());
System.out.println(
" VendorError: " + e1.getErrorCode());
} catch (Exception e2) {
System.out.println(
"Exception: " + e2.getMessage());
}
}
}

すぐに回答を! TomCatプロジェクトでDBアクセスできず困っています。

●Javaプロジェクトの場合(成功)
 ・Javaプロジェクト作成 → 新規 → クラスを作成。
 ・プロジェクト選択 → メニューバー「プロジェクト」 → プロパティー
  → Javaのビルド・パス → ライブラリーの追加 → ユーザーライブラリー
  → 新規 → MySQLドライバを追加
 ・次のソースの実行にて、JDBC Dirverの接続を確認。

[JdbcSample.java]
import java.sql.*;
class JdbcSample {
public static void main(S...続きを読む

Aベストアンサー

Tomcatは起動時に "[Tomcatディレクトリ]/lib" ディレクトリ配下のライブラリがクラスパスに追加されます。

Javaプロジェクトの場合は「Javaのビルド・パス=実行時のクラスパス」として設定されますが、TomCatプロジェクト作成の場合は「Javaのビルド・パス=実行時のクラスパス」とはなりません。

"[Tomcatディレクトリ]/lib" ディレクトリ配下にMySQLのJDBCドライバのjarファイルを置いてもう1度確認してみて下さい。

Qjavaのアップデートをしようとしたら、次のようなメッセージが出て出来

javaのアップデートをしようとしたら、次のようなメッセージが出て出来ませんでした。

『システムの現在のインターネット接続ではjava updateを続行できません。
 windowsの「コントロールパネル」で「インターネットオプション」→「接続」を選択して
 LANの設定とプロキシ情報が正しいことを確認して下さい』

上記の画面を開いてみましたが、何がどういう状態であれば正しいのか分かりません。
どなたか教えていただけないでしょうか?

よろしくお願いします。

Aベストアンサー

直接の回答ではないですけど、Javaのアップデートが目的なら。

インターネットでサイトの閲覧とかはできる環境ですか?
JavaのアップデートはSun Microsystemsのサイトに
アクセス出来るのならオフライン インストール用のパッケージを
ダウンロードしてインストールすればよろしいかと思います。
(他機でダウンロードしてUSBメモリとかで持ってきても可)
http://java.com/ja/download/

QJavaは全く扱ったことがないのですが、Javaのコードを読んでいて意

Javaは全く扱ったことがないのですが、Javaのコードを読んでいて意味の理解できないところがあったので質問させてください。

次のような宣言を行った場合、配列Xの内容はどうなるのでしょうか?
4つめの0x78だけはbyte型への型変換が行われていないようなのですが・・・。

final byte[] X = { (byte)0x12, (byte)0x34, (byte)0x56, 0x78};

よろしくおねがいします。

Aベストアンサー

すべての要素はbyte型になります。

byteの配列で宣言してるので、byte型の値(-128から127)しかはいりません。

つまり、最初の3つもキャストしなくてもおなじです。

もし、初期化時に200などのbyteの範囲外の値の場合はコンパイルエラーになります。


人気Q&Aランキング

おすすめ情報