목록STUDY/JAVA (18)
9C BLOG

API를 호출하여 JSONArray 데이터를 받아와 파싱하는 부분을 개선하면서 파싱하는 부분을 유틸 함수로 만들어서 쓰면 편할 것 같다는 생각이 들어 함수로 만들어보았다. 개선하면서 작업한 파싱 코드 EduVO eduVO = objectMapper.readerFor(EduVO.class) .with(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS) .readValue(jsonArray.get(i).toString()); 파싱하면서 에러나던 부분을 ALLOW_UNESCAPED_CONTROL_CHARS 옵션을 주어 해결하였고 파싱된 데이터를 setter를 사용하여 일일이 다 class에 세팅해주던 부분을 @JsonCreator를 사용하여 알아서 매핑되도록 변경하였다. 이런 ..

1. 신규 데이터를 받기 위해서 API를 호출하여 JSON Array 를 String으로 받아오게 되어있는데 해당 데이터를 받아서 ObjectMapper로 읽어오다가 에러가 났다. ObjectMapper objMapper = new ObjectMapper(); String plainJson = "~~";// String 으로 받은 JsonArray JsonNode listNode = objMapper.readTree(plainJson); com.fasterxml.jackson.databind.JsonMappingException: Illegal unquoted character ((CTRL-CHAR, code 9)) readTree에서 JsonArray를 파싱하다가 에러가 난 것 같았다. 데이터 중 뭔가..
프로세스는 운영체제로부터 자원을 할당받는 작업의 단위이고 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위이다. - 프로세스는 실행될 때 운영체제로부터 프로세서, 필요한 주소 공간, 메모리 등 자원을 할당받는다. - 스레드는 한 프로세스 내에서 동작되는 여러 실행의 흐름으로 프로세스 내의 주소 공간이나 자원들을 같은 프로세스 내에 스레드끼리 공유하면서 실행된다. 멀티 프로세스로 할 수 있는 작업들을 굳이 하나의 프로세스에서 스레드로 나눠가면서 하는 이유는? - 운영체제는 시스템 자원을 효율적으로 관리하기 위해서 스레드를 사용하는 것이다. - 멀티 프로세스로 실행되는 작업을 멀티 스레드로 실행할 경우, 프로세스를 생성하여 자원을 할당하는 시스템 콜이 줄어들어 자원을 효율적으로 관리할 수 있다. 뿐만..

동시성(Concurrency) - 동시성은 하나의 시스템이 여러 작업을 동시에 처리하는 것처럼 보이게 하는 것이다. - 실질적으로는 한번에 하나의 작업만을 처리한다. - 동시성은 대개 스레드, 코루틴, 비동기 프로그래밍 등의 방법을 사용하여 구현된다. 동시성은 여러 작업을 번갈아가며 처리하므로 작업이 빠르게 완료될 수 있다. 예를 들어, 웹 서버에서 여러 클라이언트 요청을 동시에 처리하면서 각 요청을 번갈아가며 처리할 수 있다. - 이와 가장 비슷한 개념으로 멀티태스킹이 있다. - 멀티태스킹 (multitasking) : 멀티태스킹 또한 동시성과 같이 하나의 시스템이 여러 작업을 동시에 처리하는 것처럼 동작한다. 멀티태스킹은 주로 운영체제에서 제공되며, 여러 개의 프로세스나 쓰레드를 동시에 실행하고 관리..

Java Collection Framework (JCF) : Java에서 데이터를 저장하는 기본적인 자료구조들을 한 곳에 모아 관리하고 편하게 사용하기 위해서 제공하는 것을 의미한다. 다음은 JCF의 상속 구조이며 사용 용도에 따라 List, Set, Map 3가지로 요약할 수 있다. 각 인터페이스의 특징 인터페이스 구현 클래스 특징 List LinkedList Stack Vector ArrayList 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. Set HashSet TreeSet 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. Map HashMap TreeMap HashTable Properties 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합이다. 순..