Java #1 About Java


Java起動


JAvaの特徴

  • オペレーティングシステムとは独立して
  • を実行
  • は自動メモリ管理をサポートし、他の言語よりも信頼性が高い
  • 演算子のオーバーロードを禁止し、JENICを導入することで、コードの読み取り可能性が向上します.
  • 関連資料が多い
  • Java仮想マシンによる
  • Javaの実行速度が遅い
  • 異常処理は完了していますが、開発者は完全な処理プロセス
  • を指定する必要があります.
    作成するコードの長さはです.

    Javaプログラムの実行手順



    java compiler


    JavaソースコードをJava仮想マシンが理解できるJavaバイトコードに変換します.javac.exeの実行可能ファイル形式でインストールします.

    java bytecode


    Java仮想マシンを理解可能な言語のJavaソースコードに変換します.Javaコンパイラによって変換されるコードの命令サイズは1バイトであるため、Javaバイトコードと呼ばれる.拡張子は.classです.どのオペレーティングシステムでも実行できます.

    java virtual machine, JVM


    Javaバイトコードを実行するための仮想マシン.JVMのみをインストールすると、異なるOSでも同じJavaプログラムを実行できます.ただし、jvmはオペレーティングシステムに依存するため、各オペレーティングシステムにjvmをインストールする必要があります.また、このため実行速度が遅い.

    JVMの構成

  • java解釈器:javaバイトコード
  • の読み取りと解釈
  • クラス・ローダ:すべてのコードがJava仮想マシンに関連付けられるのは、プログラムの実行時にクラスを動的に読み込む場合のみです.クラスローダ
  • Just-In-Timeコンパイラ:プログラム実行時に実際のマシンに変換します.動的翻訳と呼ばれるテクノロジーを使用して、プログラムの実行速度を向上させます.すなわち,Javaコンパイラを用いて生成されたJavaバイトコードは,実行時に直接マシン言語に変換される.
  • ゴミ収集器:未使用のメモリを自動的に回収します.
  • Javaプログラム


    Javaプログラムは1つ以上のclassで構成されています.これらのクラスは、1つ以上のフィールドまたはメソッドで構成されます.
    class 클래스 이름{
    
        필드 선언
        필드 선언
        ...
        메소드 선언
        메소드 선언
        
    }
    class Test {
    	int field1;
        String field2;
        
        public void method1() {
        	System.out.println("자바 프로그래밍!");
        }
    }

    main()メソッド


    Javaプログラムを実行する場合、まずmain()メソッドを検索し、その文を実行します.したがって、Javaプログラムにはmain()メソッドを持つクラスが必要です.
    public static void main(String[] args) {
    	...
    }
    Javaクラスファイル(*.java)にpublicクラスが存在する場合、ソースファイルの名前はpublicクラスの名前と同じである必要があります.Javaクラスファイルごとに共通クラスは1つしかありません.

    comment

    //または/* */と書くcppに似ている

    System.out.println()


    C言語のprintf()またはscanf()関数などの標準I/Oクラスを定義し、提供します.これらのシステムクラスはjavaです.langパッケージに含まれます.システムクラスは標準I/O定義クラス変数(静的変数)です.
    1. System.入力基準
    2. System.out-標準出力
    3. System.Err-標準出力タスクに含まれます.

    System.out.println()

    System.out.println();
  • 印刷()はPythonとは異なり改行されません.
  • println()には、数値と文字列を接続できます.System.out.println("like this "+3333);
  • JAVA 8変更

  • lambda expression
    識別子なしで実行できる関数式.匿名関数とも呼ばれます.クラスとオブジェクトを作成する必要がなく、メソッドを使用できます.
  • new Thread(new Runnable() {
    	public void run() {
        	System.out.println("전통적인 방식의 일회용 스레드 생성");
        }
    }).start();
    
    
    new Thread(() => {
    	System.out.println("람다 표현식을 사용한 일회용 스레드 생성");
    }).start();
  • Stream API
    Javaは、配列または集合を使用して大量のデータを格納します.格納されたデータにアクセスするには、毎回繰り返し文または反復器を使用してコードを記述する必要があります.StreamAPIは、データを再利用可能に抽象化するため、データの読み書きに汎用的な方法を提供する.
  • String[] arr = new String[]{"넷","둘","영","하나"};
    
    // 배열에서 스트림 생성
    Stream<String> stream1 = Arrays.stream(arr);
    stream1.forEach(e -> System.out.print(e + " "));
    System.out.println();
    
    // 배열의 특정 부분만을 이용한 스트림 생성
    Stream<String> stream2 = Arrays.stream(arr, 1, 3);
    stream2.forEach(e->System.out.print(e+" " ));

    java.time package

    LocalDate today = LocalDate.now();
    System.out.println("올해는" + today.getYear() + "년임.");
    
    LocalDate otherDay = today.withYear(1982);
    System.out.println("다시 설정한 올해는" + otherDay.getYear() + "년임.");

    Nashorn Nazhon


    JavaScriptの新しいエンジンはOracleのNazzhoonを使用しています.既存のRhinoバージョンのパフォーマンスとメモリ管理において、スクリプトエンジンが大幅に改善されています.