빌드 > 컴파일(고급언어->기계어)+링크(라이브러리+기계어=실행파일(.exe)) 빌드는 컴파일+링크를 일컫는 말로, 소스코드를 실행할 수 있는 독립적인 소프트웨어(Artifact)로 가공하는 과정을 의미한다. 더 세분화한 과정을 설명하면... 소스코드를 컴파일한다.
메모리에 데이터를 직접 저장하는 데이터 타입primitive type은 null로 지정이 불가능하다. wrapper class를 사용하면 primitive type을 reference type으로 변환하여 null로 지정이 가능해진다. 클래스, 열거, 문자열, 배열,
위와 같이 Block 이라는 클래스가 있는데, 넓이, 높이, 무게를 저장하는 클래스이다. 이 클래스의 객체를 여러개 ArrayList로 입력받아 areaSize를 기준으로 정렬하고자 한다.이와 같이 객체의 어떤 멤버변수를 기준으로 객체를 정렬하고자 할 때, 어떻게 해야
코딩테스트 문제를 풀다가 내가 원하는대로 코드가 동작하지 않아 디버깅을 통해 실수를 찾았는데, 다음에도 이러한 실수를 하지 않기 위해 정리해본다. 반복문을 한번 돌 때, 큐에 데이터가 두개씩 들어간다. 따라서 처음에는 A, B가 들어가고, 다음 반복에서 A를 꺼내고 C
2부터 자기 자신을 제외하고 배수를 모두 지우면 남은 수가 소수가 되는 알고리즘. 준비 : boolean\[] arr = new booleann + 1 --> 어떤 수의 배수인지 아닌지 표시할 배열1부터 N까지 소수의 개수를 출력하는 프로그램 가장 바깥쪽 반복문에
오름차순 정렬 내림차순 정렬 : 내림차순 정렬은 primitive type을 정렬하지 못한다. 따라서, Object를래스를 상속하는 Wrapper클래스로 Boxing해준 후, Collections.reverseOrder() 를 사용한다. 오름차순 정렬 내림차순 정렬
리터럴은 상수이다. 그런데, 프로그래밍에서 상수를 '값이 한 번 저장되면 변경될 수 없는 저장공간' 으로 정의하였기 때문에 상수를 리터럴이라는 다른 이름으로 부르는 것이다. 위 코드에서 num은 변수, 100은 리터럴, num2는 상수, 400은 리터럴이다. 정수형은
코딩테스트 문제를 풀다 보면 컬렉션을 여러 기준으로 정렬할 일이 많이 생긴다. 그 방법을 알아보자. 자바 공식 문서 ComparablecompareTo(T o) 매서드 하나가 선언되어 있다. 자바 공식 문서 Comparatorcompare(T o1, T o2) 매서드를
스프링 공부를 하다보니, 스프링 빈 이라는 개념이 너무 많이 나왔다. 그런데, 자바에서 빈 이라는 개념이 있는걸 알고 있었기에, 그냥 지나칠 수 없었다. 자바 Bean이 뭔지 알아보자. 자바 빈은 어떤 규칙을 다르는 클래스를 뜻한다. 규칙인자 없는 생성자를 갖고 있어야
배열(int) -> 리스트(Integer) 리스트(Integer) -> 배열(int)List로 Map 만들기 특정 값으로 리스트 만들기만약, class 필드가 private이면 getter를 만들고 다음과 같이 쓴다
toList()로 바꿀 수 있다고 한다. 좀 더 알아보자collect(Collectors.toList())로 반환된 리스트는 일반적으로 mutable (변경 가능)하다.보통 ArrayList를 반환한다. 따라서, 수정이 가능하다. toList()로 반환된 리스트는 im
일단 먼저 이 세 개념에 대해 정리하고 시작하자. 자바 바이트코드(.class)를 실행할 수 있는 환경이다.JVM에서는 바이트코드를 실행하고 가비지 컬렉션을 통해 메모리를 관리한다. JVM은 OS, 하드웨어에 제한되지 않고 자바 바이트코드를 실행할 수 있도록 해준다.
프로젝트를 하면서 String에서 '+' 를 사용할 일이 많았다. String은 불변 객체라 +를 사용하면 내부적으로 new 를 사용해 객체를 계속 생성하여 성능에 좋지 않다는 이야기를 들은 적이 있는 것 같아서 한번 찾아보고 정리해보았다.Inpa 글 참고String