728x90 Java33 자바 StringBuilder와 StringBuffer는 뭐가 다를까? 개요최근 개발을 하며 문자열을 여러 개 이어붙일 일이 있었는데, 기존 코드를 보니 StringBuilder를 많이 사용하는것을 볼 수 있었다. 하지만 해당 프로젝트 외에 다른 프로젝트에서는 StringBuffer를 사용해서 문자열을 이어 붙였었는데 두 클래스간 어떤 차이가 있을지 궁금하여 비교해서 정리하려고 한다. StringBuilder와 StringBuffer일단 StringBuilder와 StringBuffer는 모두 문자열을 수정할 수 있는 가변 클래스이다. 둘 다 문자열을 효율적으로 처리할 수 있도록 설계되었으나, 사용 목적에 따라 선택해야 한다. 두 클래스의 대표적인 큰 차이는 아래와 같다. 동기화(Synchronization) 여부StringBuilder: 동기화되지 않은 클래스. 멀티스레드.. 2024. 9. 20. Cursor<T> 개요 최근 회사 프로젝트 PR을 보던 중, Mapper 파일에서 그동안 보지 못했던 리턴 타입을 보았다. 주소록 그룹에서 FAX 번호를 대량으로 조회하는 쿼리의 리턴 타입이 Cursor으로 되어 있었는데, 해당 리턴값을 사용하는 곳을 보니 일반 List처럼 for문을 사용해서 순회하는것을 확인할 수 있었다. 이를 통해 Cursor는 리스트와 비슷하게 순회가 가능하지만 다른 이점이 있을것이라고 생각했고, 그 내용에 대해 정리해 보았다. Cursor? Cursor contract to handle fetching items lazily using an Iterator. Cursors are a perfect fit to handle millions of items queries that would not n.. 2023. 3. 9. [Java] Spring Boot Actuator 개요 어플리케이션을 개발하는 것도 중요하지만 개발하는것만큼 중요한 것이 어플리케이션을 잘 운영하는 것이다. 서비스를 잘 운영하기 위해서는 여러 요소가 필요하겠지만, 모니터링은 빠질 수 없는 요소이며 이를 위한 도구들이 많이 개발되어 있다. 서비스의 운영에 있어서 모니터링은 필수 요소이지만, 모니터링만을 위해 별도의 엔드포인트를 만들거나 기능을 개발하는데 시간이 많이 든다면 배보다 배꼽이 더 커지는 경우일 수 있다. 스프링 부트에서는 spring-boot-actuator 모듈을 통해 이러한 모니터링 기능을 지원할 뿐만 아니라 서비스를 일부 조작할 수 있게 한다. Actuator 사용해보기 의존성 추가 Spring boot에서 엑추에이터를 사용하려면 spring-boot-starter-actuator모듈에 .. 2023. 2. 14. [Spring Cloud] HA of Service Discovery Service Discovery의 고가용성 지난 글에서는 MSA에서 각 마이크로 서비스의 위치를 기억하고, 각 서비스가 다른 서비스의 위치를 조회할 수 있게 DB 역할을 해주는 Service Discovery에 대해 정리해 보았다. 이 주제는 나 뿐만 아니라 함께 스터디를 진행하고 있는 팀원도 다룬적이 있었는데, 당시에 했던 여러 질문 중 ‘만약 Service Registry에 장애가 발생한다면 전체 시스템에 영향을 줄 수 있을것 같은데 이에 대한 대비책이 있는지’ 라는 질문이 있던 것으로 기억한다. 각 서비스 간 통신을 통해 거대한 어플리케이션을 이루는 MSA 특성 상, 각 서비스의 위치를 저장하는 Serviece Discovery에 장애가 생긴다면 그 장애가 서비스 전체로 번지게 된다. 따라서 앞서 .. 2023. 2. 7. 이전 1 ··· 3 4 5 6 7 8 9 다음