728x90 분류 전체보기60 [Java] 향상된 try catch문: try-with-resources 개요최근 차세대 프로젝트에서 파일 입출력을 자주 다루게 되면서 자원 관리를 어떻게 최적화할지 고민하게 되었다. 기존의 try-catch-finally 구조를 사용해 자원을 닫는 코드를 작성했지만, 코드가 복잡해지고 실수할 가능성도 많았다. 코드 리뷰를 통해 자바 7에서 도입된 try-with-resources 문법을 알게 되었고, 자원 관리가 훨씬 간편해졌다. 이 글에서는 try-with-resources의 동작 방식과 이점에 대해 알아보고, 예제를 통해 쉽게 설명하려고 한다. 자바의 자원관리자바에서 파일, 데이터베이스 연결, 네트워크 소켓과 같은 자원은 프로세스가 사용한 후 반드시 명시적으로 해제해야 한다. 그렇지 않으면 메모리 누수와 같은 심각한 문제를 초래할 수 있다. 전통적으로는 try-catch.. 2024. 9. 21. 자바 StringBuilder와 StringBuffer는 뭐가 다를까? 개요최근 개발을 하며 문자열을 여러 개 이어붙일 일이 있었는데, 기존 코드를 보니 StringBuilder를 많이 사용하는것을 볼 수 있었다. 하지만 해당 프로젝트 외에 다른 프로젝트에서는 StringBuffer를 사용해서 문자열을 이어 붙였었는데 두 클래스간 어떤 차이가 있을지 궁금하여 비교해서 정리하려고 한다. StringBuilder와 StringBuffer일단 StringBuilder와 StringBuffer는 모두 문자열을 수정할 수 있는 가변 클래스이다. 둘 다 문자열을 효율적으로 처리할 수 있도록 설계되었으나, 사용 목적에 따라 선택해야 한다. 두 클래스의 대표적인 큰 차이는 아래와 같다. 동기화(Synchronization) 여부StringBuilder: 동기화되지 않은 클래스. 멀티스레드.. 2024. 9. 20. 제 컴퓨터에서는 되는데요??🙄 개요 최근 차세대 프로젝트를 진행하며 IE 호환을 지원하기 위해 gulp를 이용한 트랜스파일링을 적용하게 되었는데, 자바를 쓰며 자연스럽게 잊고 있었던 package.json을 마주하게 되었다🤬. 자바스크립트는 여러 모듈의 버전을 package.json 파일을 통해 관리하는데, 학부생 시절에는 어떤 방식으로 버전을 관리하는지 잘 알지못해 버전 충돌로 인해 많은 고생을 했었다. 오랜만에 마주한 김에 어떻게 package.json을 이용하여 버전을 관리하는지 정리해보려고 한다. Package.json 자바스크립트라는 언어를 사용해 보았으면 누구나 한 번쯤은 보았을 파일 이름이다. 간단히 정리하면 package.json은 자바스크립트 프로젝트에 관한 정보와, 패키지 매니저(npm, yarn)을 통해 설치한 모.. 2023. 6. 7. 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. 이전 1 ··· 6 7 8 9 10 11 12 ··· 15 다음