오늘은 java에서 &과 &&, |과 ||에 대한 설명과 차이점을 알아보도록 하겠습니다.검색을 해보니, 어떤 곳은 비트 연산자, 논리연산자 차이라고 하고, 어떤 곳은 조건문 앞뒤 전부 비교의 차이라고 하고.. '대체 어떤게 맞는 걸까' 더 혼란스러워지기만 했습니다그래서
오늘은 Serialize에 대해 글을 작성하려고 합니다.한글로는 직렬화입니다.객체를 파일 등에 저장하거나 네트워크로 전송하기 위해 연속적인 데이터로 변환하는 것반대의 경우는 역 직렬화(deserializatin)이렇게 그림처럼 내용을 연속적인 데이터로 변환하는 것을 직
Java로 코딩테스트를 볼 때에는 무엇보다 시간을 줄이는 것이 중요하다. 그 중에서 입출력에 대해 이야기해보고자 한다.파일, 입력 스트림과 같은 다양한 입력 소스에서 데이터를 읽어 구분자로 토큰화하고 다양한 타입으로 변환하여 값을 리턴해주는 역할의 클래스다. 입력 스트
JDK 자바 개발기트(Java Development Kit)의 약자로 개발자들이 자바로 개발하는데 사용되는 SDK 키트라고 생각하면 된다. 그래서 JDK 안에는 자바를 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들이 포함되어 있고, 개발을 하려면 자바 프로그램을 실행도 시켜줘야 하기 때문에 뒤에서 배울 JRE(Java Runti...
저번 포스팅에서는 JRE와 JDK, JVM을 간략하게 알아보았습니다.이번에는 JVM을 자세히 알아봅시다!Java 프로그램이 실행될 때, 컴퓨터가 이해할 수 있는 기계어로 변환해야 한다. 하지만 운영체제마다 기계어가 다르기 때문에, Java 개발자들은 윈도우, 리눅스 등
앞 포스팅에서 Class Loader에 대해서 설명했다.Class Loader는 간단히 얘기하면 class 파일들을 동적으로 로드하고, 메모리 영역(Runtime Data Areas)으로 올려주는 역할을 한다.그러면 class loader가 자바 클래스들을 메모리에 언
Class Loader 글 이후로 이어서 포스팅 해보겠다.JVM에는 Class Loader, Runtime Data Areas, Execution Engine 이렇게 3개로 구성되어 있다.Class Loader에서 class 파일들을 동적으로 로드하고, Runtime
실행 엔진(Execution Engine) 클래스 로더를 통해 런타임 데이터 영역에 배치된 바이트 코드를 명령어 단위로 읽어서 실행한다. 실행 엔지는 바이트 코드를 실제로 JVM 내부에서 기계가 실행할 수 있는 형태로 변경해준다. 이 수행 과정에서 실행 엔지는 인터프리
면접 질문에서 왜 자바 17을 쓰셨나요? 왜 21을 쓰셨나요? 너무 두려운 질문입니다... "자바 버전이 그렇게 차이가 있는가? 내 서비스에 맞는 자바 버전은?" 이런 의문을 가지고 포스팅을 해보겠습니다. 가장 많이 쓰는 버전은? 출처: https://new
삼성 S/W 알고리즘 특강 사전문제를 풀다가 TreeSet을 써야만 하는 문제가 있었다. TreeSet을 add할 때, 같은 객체임을 구분하는게 무엇인지 아는가? 답은 compareTo를 통해서 구분해서 넣어준다. 이 부분을 알고 있다면 이 글을 읽을 필요가 없다
문자열을 붙이는 문제가 있었는데, 그것을 풀다가 시간 초과가 났었다. 시간 초과가 난 이유는 바로 String을 썼기 때문이었다. 문자열을 붙이거나 수정할 때는 String 보다는 StringBuilder를 써야 메모리와 시간을 지킬 수 있다.
성능 개선이나 list를 순회하면서 지우고 싶을 때 iterator를 많이 쓰게 된다. 그래서 이번 포스팅으로 iterator에 관련된 모든 것을 정리하고자 한다.
이번엔 Enum의 내부 동작을 알아보겠다.