정리 노트/쌍용 KDT_(자바 Spring)

23.01.26(목): 오전 추천 루틴, 메모장 코딩, .class , JVM

우주바다 2023. 2. 2. 22:49
728x90

이성적인 뇌. 오전시간 활용하기 


0. 아침에 it 기사 읽기. 힘들면 헤드라인이라도 읽기
    >  관심분야가 생기고 낯선 단어에 익숙해진다.


1. 채용공고 보기
    > 회사보는 눈. 처음엔 없어도 자주보면 생긴다.

2. 이력서 /자소서 
    > 아침마다 열어보고 수정. 거창하지 않아도 됨
    > 쓰기 싫으면 다른 사람거 구경을 하든 차라리 날짜만이라도 수정.

더보기

오전은 이성적, 오후는 감성적이다. 추천하는 아침 루틴.

듣자마자 바로 실천하고 싶었는데 밀린 포스팅이 많아서 아직 못했다.

조만간 복습 다 끝내면 시작해야겠다.



[ 오늘 수업 내용 ]

01. 메모장 코딩 

02. 클래스 파일(자바 바이트 코드)

03. 자바 프로그램  vs 가상머신

04. JVM, 속도와 안정성?



01. 메모장 코딩 

FirstJavaProgram.java
문서 생성 - 빈 상태로 저장하고 끈 후 메모장으로 열기 .
내부에 아래 코드 입력, 저장.

public class FirstJavaProgram
{
	public static void main(String[] args)
	{
		System.out.println("Welcome to Java");
		System.out.println("First Java Program");
	}
}



뒤에 자동으로 txt 붙으면 이름 수정으로 삭제. 경고창 무시. 

프로그램 실행 확인 
cmd에서 cd\                                            //최상위 루트로 이동.
cd JavaStudy                                        // 폴더 이동
javac FirstJavaProgram.java         // 실행했을 때 출력문 없이 넘어가고
JavaStudy 폴더에 .class  파일이 생성되면 ok


02. 클래스 파일(자바 바이트 코드)

java FirstJavaProgram 입력, 실행 시 출력문을 볼 수 있다. 
원칙적으로는 .class 를 붙이겠지만 자바 런처는 어차피 클래스만 실행하기때문에 생략한다.
결국 실제로 실행되는 건 자바 파일이 아닌, 클래스(자바 바이트코드) 파일.

class 파일을 메모장으로 열어보면 이상한 문자가 뜨는데
실제 그 문자는 아니고 실제 값 표현이 어려워서 대체되어 표시되는 문자.


03. 자바 프로그램  vs 가상머신

자바 프로그램은 운영체제에 독립적, (os에 영향받지 않고 실행가능)
자바 가상머신운영체제에 의존적. (os가 바뀌면 따라서 바뀌어야함)

(os 별로 jvm 따로 있는 이유)                 


04. JVM, 속도와 안정성?

대부분의 소프트웨어는 속도보다 안정성이 우선.
자바가상머신으로 인해 속도가 느려지긴 해도 엄격한 문법으로 안정성이 높음(단점 상쇄)

그리고 최근에는 기술 발전으로 속도가 유의미하게 향상되었음.


개발중인 소프트웨어의 90% 이상은 인터넷, 네트워크 기반 소프트웨어.
인터넷, 네트워크상에서는 속도보다 데이터 전송속도가 더 중요
자바의 속도 문제가 있다면 데이터베이스 문제일 가능성이 높음


느낀 점

:  입문했을 때 부터 최근까지 늘 에디터를 사용했기 때문에

메모장 코딩이 새롭고 재밌었다. 원리를 아는 건 늘 즐겁다.

JVM 덕분에 자바 프로그램이 어디서든 실행할 수 있다는 건 알고 있었는데 정확히 어떤 원리인 지 몰랐다.

하드웨어 - OS - JVM - 프로그램의 계층 구조와 함께 공부하니 이전보다 잘 와닿아서 좋았다.

728x90
반응형