JVM이라는 프로그램위에서 Java를 실행시키는것
JVM은 관리를 해줘야함
Java로 서버를 만들때는 모니터링을 해줘야한다.
Istio - 서버를 실행하면 아이콘이 하나 나오고 알아서 화살표로 표시를 해줌. 하나로 온 트래픽이 어디로 몇퍼센트 어디로 몇퍼센트 보내고 있는지를 숫자로 표현해줌. 예거라는게 있는데 어떤 코드들이 실행되서 얼마나 시간이 걸렸는지가 다 나와서 어떤코드를 개선해야하는지 파악이 가능함.-> 서비스가 큰 회사에서 사용하는 편
핀포인트 - Istio와 비슷. 하나의 요청이 들어왔을때 특정서버를 선택하면 어떤 코드가 돌아가고 있는지 알려준다. 어떤코드에서 얼마나 시간이 걸리는지 보여줌.
SQL실행을 자바프로그램 코드로 실행시켜주기 가 첫번째!
자료구조, 알고리즘을 무조건 내가 해결을 해야한다. 언어를 코드로 통역을 한다고 생각하면된다.
spring framework - 쓸땐 편한데 문제가 생기면 해결이 어렵다. 안에 쪽을 파야지 문제해결이 가능하다. 처음에는 사용법을 배우다가 안에가 이렇게 생겼으니 이렇게 설정을 바꿔야한다. 등을 배울것. MSA에 필요한 Spring Framework를 배울것.
MSA(서버) - Spring cloud gateway, Spring Batch, Sprin Cloud data flow(일정주기에 돌려하는 쿼리, 정산시스템, 결제를 돌리는 프로그램에서 필요할 수 있음)
컴파일 언어 - 소스코드를 운영체제에서 실행시키려면 운영체제의 실행파일로 변경하고 실행해야한다.
C언어 코드를 윈도우에서 실행시키려면 윈도우의 실행파일인 exe(윈도우는 PE파일이라고함)로 변경하고 실행해야한다.(확장자는 파일의 이름중 일부! 사람이 알 수 있게 하는 약속! 컴퓨터는 파일의 내용을 읽어서 파악함)
포
C언어 코드를 윈도우에서 실행시키려면 리눅스 실행파일(ELF)로 변경하고 실행해야한다.
변경한다 = 컴파일
변경해주는애 - 컴파일러
컴파일러를 먼저 깔고 코드를 배워서 컴파일을 해주는 과정
자바
인터프리터언어 - 소스코드를 운영체제에서 실행시키려면 OS의 인터프리터에서 실행해야한다.
코드를 컴파일러로 프로그램을 바꾸고 해당 운영체제에 맞춰서 프로그램을 실행시키는게 컴파일러이다.
해당 운영체제에 인터프리터를 설치하면 운영체제에 맞춰서 인터프리터를 실행하고 그 위에 코드를 올리는게 인터프리터 - 느릴 수 밖에 없다.
자바는 자바 컴파일러를 거쳐서 클래스로 만들어준 후 거기에 맞는 자바프로그램위에 올린다.
CI/CD - 만든 모든코드를 합쳐서 리눅스 서버에 배포하는걸 자동적으로 해주는 기술 -> 자바가 특화가 되어있는 편이다.
Java 17
zulu jdk
명령어 : 실행프로그램 -> 경로를 입력
PATH : 자바를 찾아가는 길 설정
현재 환경변수에서 java의 경로가 없다.
그래서 프로그램에서 직접 경로를 입력해서 찾아가는게 귀찮으니 환경변수에 설정을 해놓는것
환경변수에 java폴더의 경로를 추가해주고
cmd에서 java로 실행시키면 확인가능
메모장에서 java코드를 입력하고 파일을 만들어준 후 파일이 있는 폴더로 들어간 후 컴파일을 해주어야한다.
jvm으로 코드를 실행
.jar -> java코드를 묶어놓은것
빨간영역이 다 java의 option
남이 만든프로그램을 쓸때 남이 하라는대로 씀. java도 쓰라는대로 써야하기 때문에 java jvm 의 메모리가 잘못되거나 메모리 사이즈, gc설정등을 보는 설정 등의 option을 까볼 수 있다.
메모장으로도 만들 수 있지만 개발도구를 사용할거임!
IntelliJ 무료버전을 쓸거임
폴더생성후 인텔리제이를 실행시키는데 .idea 파일은 깃헙에 push할때는 올리면 안된다.
자바파일 생성시 대문자로 시작
연산순서 - 왼쪽부터
반복문
변수 1개만저장
배열 똑같은것 여러개저장
구조체 다른것 여러개저장 -> C언어
객체 다른것 여러개와 각 기능을 같이 저장