ErrorSpringBoot에서 MongoDB에 데이터를 insert하는 로직에서 아래와 같은 에러가 발생함.Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value SolutionInsert 데이터에 개행문자(\n)가 포함되어 있었고, 개행문자가 포함되어 있는 json 데이터를 아래와 같이 파싱을 할때 에러가 발생함.objectMapper.readValue(requestDto.getData(), Entity[].class) data 문자열의 \n을 \\n으로 아래와 같이 치환 후 저장하면 정상적으로 저장됨.objectMapper.readValue(..
반응형
Language/Java
Error Java 17로 생성한 SpringBoot 프로젝트를 다른 PC에 클론받아 실행하였더니 아래와 같은 에러가 발생함. A problem occurred configuring root project 'example'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.3. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.3 > No matching variant of org.springfr..
JVM GC(Java 8 이전): 특징: 직렬 GC : 단일 스레드에서 메모리를 처리하여 기본적인 가비지 수집 기능을 제공합니다. 병렬 GC(Parallel GC) : 직렬 GC의 멀티스레드 버전으로, 성능 향상을 위해 가비지 수집을 병렬로 수행합니다. CMS(Concurrent Mark-Sweep) GC : 백그라운드에서 GC 작업을 동시에 수행하여 메모리 사용량을 최소화하고 응답 시간을 최적화합니다. 장점과 단점: 직렬 GC : 간단하고 효율적이지만 멀티 코어 시스템에서는 성능 제한이 있을 수 있습니다. 병렬 GC : 멀티 코어 시스템에서 성능 향상을 제공하지만 일시 중지 시간이 길어질 수 있습니다. CMS GC : 짧은 일시 중지 시간으로 응답성을 향상하지만 CPU 사용량이 높아 처리량에 영향을 미..
JVM 1.0 – 1.1 :기본 기능을 갖춘 JVM의 초기 버전입니다.성능 향상을 위해 JIT(Just-In-Time) 컴파일을 도입했습니다.동적 언어에 대한 지원이 제한적이고 최신 최적화가 부족했습니다.JVM 1.2 – 1.3 :향상된 가비지 수집(GC) 알고리즘.Java 보안 모델이 추가되어 보안 기능이 강화되었습니다.JNDI(Java 명명 및 디렉토리 인터페이스) 도입.JVM 1.4 :비차단 I/O 작업을 위한 java.nio 패키지가 추가되었습니다.JMX(Java Management Extensions)를 통해 모니터링 및 관리가 향상되었습니다.코드 테스트를 위한 어설션 기능 도입.JVM 5(자바 SE 5.0) :주요 기능에는 제네릭, 메타데이터 주석 및 향상된 for 루프가 포함됩니다.적응형 최..
VS Code에서 java로 코딩할 때 Vue쓸때 쓰던 Prettier로 포메팅이 안먹혀서 봤더니 JavaScript · TypeScript · Flow · JSX · JSON 등은 지원하지만 Java를 지원하지 않는 포메터였음... "Java prettier formatter"라는 플러그인을 설치하고 Ctrl + , 로 설정에 들어간 후 Default Formatter을 Java prettier formatter로 바꿔주면 정상적으로 포메팅됨..ㅎㅎ
스트림 특징 스트림이 제공하는 대부분의 요소 처리 메소드는 함수적 인터페이스 매개타입을 가진다. 매개값으로 람다식 또는 메소드 참조를 대입할 수 있다. 함수적 인터페이스란 - 메소드가 하나인 인터페이스 람다식은 결국 메소드를 정의하여 메소드 주소를 매개변수로 던지는 것이 아니라 메소드가 하나인 함수적 인터페이스를 구현한 객체를 매개변수로 넘기는 것이다. - 예제 List list = Arrays.asList( new Student("홍길동", 90), new Student("김자바", 80) ); Stream stream = list.stream(); stream.forEach(s -> { String name = s.getName(); int score = s.getScore(); System.out...
- 자바 8 이전 코드 List list = Arrays.asList("홍길동", "신용권", "김자바"); Iterator iterator = list.iterator(); while(iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } - 자바 8 이후 코드 List list = Arrays.asList("홍길동", "신용권", "김자바"); Stream stream = list.stream(); stream.forEach( name -> System.out.println(name) ); 출처 : www.youtube.com/watch?v=2D9NRBIKKCc
반응형