본문 바로가기

국비/JAVA19

JAVA : 파일 입출력 파일 입출력 Stream이라는 연결통로를 통해 원본 데이터가 알맞는 인코딩 방식으로 전송된다. byte단위로 입출력되기 때문에 개별처리이며, 상세 연산이 필요하지 않다면, Buffer를 사용한 입출력을 권장한다. Buffer를 사용하면 일괄처리가 가능해진다. ※ 인코딩 방식 인코딩 방식은 완성형과 조합형이 있다. - 완성형 : 각, 간, 갇, 갈, 감, .... ,갛 - 조합형 : ㄱ + ㅏ + ㄱ 조합형이 효율적이며 byte단위로 데이터를 전송할때 고정된 byte가 아니기 때문에 가변형 인코딩 방식을 선호한다. 조합형이면서 가변형인 인코딩 방식은 UTF-8이며, 전세계에서 가장 많이 사용되는 방식이다. Writer(출력) BufferedWriter : 버퍼를 사용한 출력 클래스 FileWriter : .. 2022. 8. 22.
JAVA : Thread(쓰레드) 프로그램 실행되지 않은 상태. 프로세스 실행된 프로그램 쓰레드 프로세스 처리 경로 - 단일 쓰레드 처리 경로를 한개만 가지고 있기 때문에 직렬적이다. 동시에 많은 양을 처리하기 힘들기 때문에 상대적으로 비효율적이다. 하지만 하나의 작업에 문제가 발생하더라도 다른 작업에는 영향을 끼치지 않는다. 따라서 안정성이 보장되고 설계 시 멀티 쓰레드에 비해 쉽다. -멀티 쓰레드 하나의 프로세스를 동시에 처리하는 것처럼 보이지만 사실은 매우 짧은 단위로 분할해서 차례로 처리한다. 여러 개의 처리 경로를 가질 수 있도록 하며, 동시 작업이 가능해진다. 설계하기 굉장히 어려우며, 하나의 쓰레드 문제 발생 시 모든 쓰레드에 문제가 발생하게 된다. JAVA 웹 서버가 대표적인 멀티 쓰레드이다. 멀티 쓰레드로 설계했다면, 처.. 2022. 8. 18.
JAVA : Map Map 구현 클래스 HashMap(서버 간 데이터 교환) Key와 Value 한쌍으로 저장되며, 검색의 목적을 가지고 있다. Key는 중복된 값을 넣으면 Value가 최근 값으로 수정되고 중복되지 않은 값을 넣으면 새롭게 추가된다. Value는 중복이 가능하다. 2022. 8. 17.
JAVA : Set extends Collection Set extends Collection 구현 클래스 HashSet 집합에서는 중복되는 원소를 포함할 수 없는 것처럼 HashSet이라는 자료구조는 중복되는 값을 무시한다. 저장된 값들을 인덱스가 없기 때문에 순서가 없다. 값의 유무 검사에 특화되어 있는 자료구조이고 해시코드로 유무 검사가 진행되고 속도가 상대적으로 좋다. 순서 부여 : iterator( ) 순서가 없는 객체에 순서를 부여하거나, 순서가 있어도 iterator 방식의 순서로 변경하고자 할 때 사용한다. hasNext()를 통해 다음 값이 있는지 검사하고, next()를 사용하여 값을 가져온다. Set 과 ArrayList의 차이점 Set은 검사의 목적이 있기 때문에 순서 정보를 관리할 필요가 없어서 데이터 크기에 상관없이 검색에 걸리는 .. 2022. 8. 17.