jvm 3

[Java] 패키지

0. 목표 package 키워드 import 키워드 클래스패스 클래스패스 환경변수 클래스패스 옵션 접근지시자 1. package 서로 다른 용도로 만들어진, 같은 이름의 클래스를 구분하기 위해서 만들어진 개념이다. 다음의 요구사항을 가진 프로그램을 각각의 회사에서 기능을 나누어맡아 구현한다고 가정해보자. 카카오는 계산기에서 곱셈을 구현한다. 네이버는 계산기에서 덧셈을 구현한다. 이제 두 회사의 결과물을 모아서 종합적인 계산기를 만들려고 한다. 그런데 모아놓고보니 문제가 생겼다. 두 회사 모두 계산기 클래스의 이름을 Calculator라고 정한것이다. 동일한 패키지 내부에는 같은 클래스의 이름이 존재할 수 없다. 그렇다고 한 회사의 클래스 명을 바꾸자니 그것만큼 클래스의 이름을 대표하기에 적절한 단어가 없..

Java/STUDY HALLE 2020.12.29

[Java] 연산자

자바가 제공하는 다양한 연산자를 학습한다. 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 1.산술 연산자 + , - , * , / , % 와 같은 우리가 흔히 사용하는 연산자이다. 피연산자와 피연산자를 연산하는 이항 연산을 수행한다. 일반 수학에서 사용하는 것과 같이 사용할 수 있다. ex) 1+1 , 2 * 3 , 4 / 2 , 4 % 3 그렇다면 우리가 일반적으로 사용하는 계산이 자바 컴파일러를 거치면 클래스 파일에서 어떻게 변환되어 계산되는지를 살펴보자. 당연하다고 생각되는 점들은 굳이 따로 집어 표현하지 않았고, 새롭게 알게 된..

Java/STUDY HALLE 2020.11.27

[Java]JVM 기술 스택의 구조 이해하기

1주차. 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. "WHY?" 왜 우리는 자바 소스파일이 JVM 위에서 실행되는 과정을 알아야 할까? "자바는 블루칼라 언어입니다. 박사 학위 논문 주제가 아니라 일을 하려고 만든 언어죠." -제임스 고슬링 자바는 지극히 실용적인 언어이다. 개발환경이 충분히 빠르다면 개발자의 생산성이 높아지는 대가로 어느정도의 성능 희생은 감수할 수 있다는 것이다. 애초에 처음부터 자바는 개발자가 플랫폼을 저수준에서 다 알 필요가 없도록 설계되었다. 그래서 제대로 된 Java 개발자라면 기본적인 JVM 기술스택의 구조를 이해해야 한다. 생산성을 위해 어느정도의 성능을 희생했는지, 필요로 하는 만큼의 성능을 향상 시키기 위해서 다른 언어를 선택하는 것이 더 좋을지 ..

Java/STUDY HALLE 2020.11.14