분류 전체보기86 [JAVA] Comparable vs Comparator Comparable, Comparator는 정렬 인터페이스로 List의 정렬이나 클래스의 정렬조건을 설정할 때 등 정렬과 관련된 기능을 수행할때 사용할 수 있습니다. 둘은 정렬기준을 설정한다는 공통점이 있고 사용법에는 차이가 있는데 Comparable, Comparator의 차이점과 사용방법에 대해 작성해 볼까 합니다. 시작하기에 앞서 의문점이 하나 있었는데요 @FunctionalInterface 두 인터페이스 모두 함수형 인터페이스로 알고 있었는데 어째서 인지 Comparable에는 @FunctionalInterface 애노테이션이 보이지 않습니다. Comparable은 compareTo()추상메소드 오직 하나만을 가지고 있는데 말입니다. 그렇다면 @FunctionalInterface 애노테이션이 없으.. 2023. 7. 31. [Linux] openfiles, max user processes 시간차를 두고 openfiles, max user processes이 연관된 이슈를 만나게 되었고 해결과정에서 부끄럽게도 처음 듣는 내용들임과 동시에 서버 설정과 관련이 있는 사항이라 꼭 한번 정리하고 가야겠다 생각되어 관련 정보들을 공부하는 과정 속에 글을 작성합니다. 1. open files 리눅스의 open files 옵션은 프로세스가 가질 수 있는 소켓 포함 파일 개수로 해당 프로세스의 필요한 File Descriptor/openfiles 수가 옵션의 크기를 넘어가게 되면 Too many open files라는 에러 메세지함께 에러가 발생합니다. 해당 옵션값은 "limit -a(soft Limit)", "ulimit -aH(Hard Limit)" 두 가지 명령어로 확인 가능합니다. -> JDK는 .. 2023. 7. 9. [인텔리제이] Gradle 프로젝트 인식 못할 경우 프로젝트를 import 했을 때 Gradle 프로젝트로 인식하지 못하여 Gradle Plugin탭이 나오지 않고 변경된 라이브러리 의존관계를 반영하지 못할 경우 직접 Gradle 프로젝트로 연결하여 해결하는 방법이 있습니다. build.gradle파일 > 마우스 우클릭 > Link Gradle Project 혹은 Import Gradle Project 클릭 이후 Gradle Plugin탭이 생기고 프로젝트가 정상적으로 import 됐는지 확인합니다. 2023. 7. 5. [인텔리제이] 디버그 모드 활용 STS에서도 디버그 모드를 지원해 주지만 제공되는 기능에 비해 사용을 효과적으로 하지 못했는데 더욱 견고한 기능들을 제공하는 인텔리제이에서는 효과적으로 사용하기 위해 작성합니다. Break Point LIne Number와 코드 사이 여백을 클릭하면 Break Point를 설정할 수 있다. 해당 Break Point을 우클릭하여 Break 조건을 입력할 수 있다. 조건을 입력하면 해당 조건이 true일 때만 Break가 걸린다. 반복문 실행중에 특정 조건의 상황을 확인할 때 용이하게 사용 가능하다. 디버그 제어 break가 걸린 상태에서 여러 기능을 통해 제어가 가능하다. resume 단축키 : F9 기능 : 로직 계속 수행(다음 Break Point로 이동) 로직을 계속해서 수행하되 다음 Break P.. 2023. 5. 5. 이전 1 2 3 4 5 6 ··· 22 다음