JAVA

JAVA 기본정리

hyeonju50 2023. 7. 10. 22:13

 

java

플랫폼 독립성 -WRITE Once Run Anywhere :하나의 프로그램이 모든 플랫폼에서 실행 가능

객체지향언어

함수형 코딩 지원

분산처리 지원

멀티쓰레드 지원

 

 

 

.class :  자바 실행 파일

 

jdk(Java Development Kit):자바 개발 도구 -컴파일러,디버거

 

jre(Java Runtime Environment) : 자바 실행 환경 -클래스로더,자바api,런타임 라이브러리

 

jvm(Java Virtual Machine): 자바 가상 머신

 

자바 소스코드 실행 과정------------------------------------------------------------------

. java 소스파일 생성     ->    컴파일    ->     . class 바이트 코드파일 생성-> 실행

 ->   JVM 메모리 할당 ->   메서드 영역에 클래스 로딩   ->main() 메서드 실행

------------------------------------------------------------------------------------------------------

 

자바 가상 머신 메모리: 클래스 내에 포함 되어 있는 main() 메서드를 실행하는 역할

- 메서드 

            1)클래스 (class) 

            2)정적     (static)

            3)상수     (final)

 

메모리 할당 이후 실행파일인 바이트 코드는 메서드 영역에 로딩됨.

 

-스택

-힙

 

주석

/*
여러줄
주석
*/

//한줄주석

 

클래스  선언부

public class Test{

					필드,메서드,생성자,이너클래스
        		  }





/*
접근제한자 class 클래스명{


						필드,메서드,생성자,이너클래스	
                    	}

*/

main() 메서드

public static void main(String[] args){}

/*
접근제한자 static 리턴타입 main(String[] args){}
*/

바이트 코드가 메서드 영역에 로딩되면 JVM이 main()메서드 부터 찾는다.

즉, 실행 후 가장 먼저 실행되는 메서드는 main 이라는것.

 

 

소스파일 컴파일, 바이트코드 생성

 

소스파일명은  반드시  클래스명과  같아야 한다.

-> 소스파일과 이름을 일치시켜야 하는 클래스는 public 이 붙은 클래스 ,

    따라서 하나의 소스파일에 public이 붙은 클래스는  최대 하나이다.

 

-바이트코드는 클래스당 하나씩 생성

-클래스 중첩시 아우터 클래스 $ 이너클래스 . class로 생성

class A{}//A.class



class B{
    class C{}
      }
      //B.class, B$C.class
      
  class D{
  		class E{
        	class F{}}
        }
        
        //D.class, D$E.class, D$E$F.class

 

 

문자열

-String 자료형으로 저장됨

-"hello world " 큰따옴표 안에 표기

-문자열 연결시  "문자열"+ "문자열" 

 

   1)개행 없이 출력하기 -System.out.print()

 

   2) 줄 바꿔서 출력하기 -System.out.println()

   3)-형식대로 출력         -System.out.printf()