- [백엔드 로드맵] 입출력(IO / NIO)2024-01-11 21:35:32입출력 IO와 NIO Java의 입출력 관련 클래스는 너무나 많은데, 크게 Java.io 패키지와 java.nio 패키지로 구분할 수 있다. 둘의 차이를 쉽게 말하면 IO의 기능들을 개선하고 새로운 기능을 추가(대표적으로 비동기 / Non-Blocking 지원)하여 나온 것이 NIO라고 생각하면 된다. 그럼 무조건 IO보다 NIO가 좋은가? 답은 아니다. NIO가 많은 기능을 개성한 것은 사실이나 특정 상황에서는 IO보다 성능이 떨어지는 경우도 있다. [1] IO (Old IO) 대략적인 IO 패키지 구조이다. 1. File 클래스 파일의 위치 정보를 가진다. 파일의 내용이 아닌 파일 자체를 다룬다. 파일 자체에 대한 정보를 가져오고 다루는 메서드를 포함하고 있다. File 정보를 String 타입으로 ..
- [백엔드 로드맵] 언어 배우기 - JAVA2024-01-04 00:08:57백엔드 개발자로서 다룰 수 있는 언어가 다양하다면 많은 장점이 있을 것이다. 하지만 여러 언어를 조금씩 파는 것보다 주 언어를 더 깊게 파는 것이 중요하다고 생각하여 Java에 대해 공부하였다. 1. Java 기본 1-1. 기동 원리 1. 시스템으로부터 메모리 할당(JVM) 2. Java 컴파일러에 의해. java 형식에서. class 형식으로 변환(바이트 코드 변환) 3. 클래스 로더에 의해 클래스 파일들은 JVM에 로드된다. 4. 실행기(Execution Engine)에 의해 클래스 파일을 해석하며 프로그램 실행 1-2. 변수 지역 변수 : 함수 안에 선언 / 함수가 실행될 때 전역 변수(필드 변수) : 함수 밖에 선언 클래스 변수 : static 변수 인스턴스 변수 : 객체 변수 변수의 사용처에 따..