[TIL]W1D1
[DAY1-8/2]
(1) JAVA 개발환경
-
JVM: 자바 가상머신으로 java가 실행되기 위해 필요하다.(자바 실행환경=JRE)
-
JRE: 실행환경->java 명령만 있음(실행환경만 있는것)
-
JDK :JRE와 개발툴이 합쳐진 형태->개발환경->java+javac(빌드)
JDK만 중요하게 생각하고 다른 것들이 어떤 역할인지 자세하게 몰랐는데 알게 되었다.
(2) Build Tool
-
자동으로 빌드,실행해주는 툴
-
ex) Ant,Maven,Gradle
-
Build script: 소스는 어디에 있고 어떻게 컴파일 해야하는지에 대한 정보가 담김
-
task 들로 이루어져 있다.
예전에 Gradle으로 프로젝트를 할때 구글링을 통해 찾아보다가 Maven으로 개발한 코드를 보고 놀래며 그냥 껐었는데 내가 buildtool개념에 대해 무지했던 것 같다...
(3) IDE(통합 개발 환경)
- Build tool을 이용하여 Gradle에 있는 task들을 한번에 해주고 프로젝트 생성을 해주는 역할
빌드 툴과 ide가 어떤 관계인지 정확하게 알게 된 것 같다.
(4) Refernce
-
포인터와 비슷한 개념
-
java에서는 다음과 같은 값 말고는 다 Refernce 값이다
- 8개 primitive(boolen,byte,short,long,float,double,char)
-
array는 reference 값이다
-
Call by value=> 사용되는 인자가 값을 넘겨줌 따라서 결과 값에 변화가 없음
-
Call by reference=> 사용되는 인자가 주소를 넘겨주어 주소를 참조하여 데이터 변경가능
(int a-> Call by value/ Integer b-> Call by reference)
(5) Constant Pool
String s1= "박연수"
Sring s2="데브코스"
이런 식으로 될때마다 Sting Pool에 문자열이 쌓이게 된다.
결과적으로 += 연산이 지속될때마다 Sting Pool에 계속해서 문자열들이 쌓이게 되며 많은 메모리가 필요하다--> 비효율적이다
[그냥 궁금해서 찾아본것] String s="박연수" VSString s= new String("박연수")
-
전자: Heap안에 s라는 객체 생성(주소값으로 참조하여 값 변경가능)
-
후자: Constant String Pool에 "박연수"라는 리터럴이 생성
String Buffer을 사용
- Sting Buffer은 Buffer을 만들어 놓고 문자열 연산을 진행한후 한번에 문자열을 만들어 출력한다.
(6) Git
-.gitignore을 잘 활용하기
-
빌드 결과, 바이너리, 로컬 설정, 키/보안 관련 파일들
+.class, .jar, build/예전에 ec2서버 연동과정에서 ignore에 build/ 파일을 추가하지 않아서 계속 build fail났었던 적이 있었는데 잘 활용해야겠당...
Author And Source
이 문제에 관하여([TIL]W1D1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pinoa1228/W1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)