728x90 Programming23 [동시성 이슈해결] HashMap보다는 ConcurrentHashMap을 쓰자! 인프런 강의를 듣던 중 회원 도메인 설계를 하다가 동시성 이슈 때문에 HashMap보다는 ConcurrentHashMap을 사용한다라고 배웠습니다. 과연 두 개의 차이점은 어떤 점 있는지, 각 각의 장단점을 깊게 파보고 싶어서 정리해보았습니다. 해외 문서를 찾아보다가 잘 정리되어 있는 문서를 발견하고 정리해보았습니다. HashMap과 ConcurrentHashMap의 차이점 1) Thread Safe 주요 차이점은 ConcurrentHashMap는 내부적 동기화 때문에 스레드가 Safe합니다. HashMap는 내부적으로 동기화되지 않고 스레드로부터 안전하지 않습니다. HashMap 메서드를 사용하여 외부에서 동기화 할 수 있습니다. 2) Internal Structure(내부구조) ConcurrentHa.. 2022. 10. 27. 자바 환경변수 설정(JAVA_HOME, PATH, CLASSPATH) ● 환경 변수를 설정하는 이유 PATH는 파일이 있는 그 폴더가 아닌 다른 폴더에서 해당 폴더에 접근하기 위해 지정해 준다. 자바에서 PATH를 잡는 이유는 javac의 컴파일 때문이다. JVM에 의해선 자바는 다른 폴더에서도 실행 되지만, 컴파일 할 때 필요한 javac는 PATH를 잡지 않으면 실행이 안된다. 즉, javac를 어디서든 사용하고 bin 디렉토리 내 모든 자바 전용 툴을 사용하기 위해 환경변수를 설정 해야만 한다. 시스템 변수 : 하나의 OS에 여러명의 사용자 계정이 있더라도 공통으로 적용 사용자 변수 : 하나의 OS에 여러명의 사용자 계정이 있을 경우 특정 사용자만 적용됨 ● JAVA_HOME 자바 프로그램에서 JAVA_HOM을 인식하기 때문에 설정한다 자바로만 프로그래밍한다면 PAT.. 2022. 10. 26. 자바 로또 당첨 확인 class lotto1 { private final static int[] lottoResult = new int[6]; /** * 이번주 로또 1등번호 */ public static int[] lottoResult() { for (int i = 0; i 2022. 6. 18. 이전 1 ··· 3 4 5 6 다음 728x90