본문 바로가기
728x90

java143

.yaml 파일 수정하기 기본적으로 .yaml파일을 읽어오는 방법은 2가지가 존재합니다.1. class를 활용하여 값을 저장하기2. new Yaml()을 활용해서 map형태로 받아오기 class를 활용하여 가져오기해당 방식을 사용하기 위해서는 yaml파일에 저장되어 있는 1step의 값들로 이루어진 class가 필요힙니다. a: b: c:d: e: f: 해당 형식으로 이루어진 yaml파일을 읽어오기 위해서는@Getter@Setterclass Node{ static A a; static D d; public Node(A a, D d){ this.a = a; this.d = d; }}해당 형식으로 된 class와 A와 D에 해당하는 class에 각각 b,c와 e,.. 2024. 5. 12.
Map<String, List<String>> 관련 clear() 자바에서 특정 key에 대한 value로 list를 지정하여 해당 key에 대하여 값들을 모아두는 형태로 코드를 작성하는 경우가 있습니다. Map map = new HashMap(); 이런 경우 GC가 발생하게 된다면 어떻게 될까요? 값들을 저장해서 계속 사용한다면 괜찮겠지만, 이렇게 만들어두고 값을 전달한 후, 더이상 사용하지 않는 경우에서 gc가 발생할 경우? 이런 형태로 해당 값이 사용중인지 확인하는 단계를 거치게 될 것입니다. '그치만 값 전달 후 map.clear()를 통해 map을 비워버리면? gc는 해당 map이 바로 사용하지 않는 상태라는 것을 확인하여 지우는데 오랜 시간이 걸리지 않을까?' 라는 생각을 하게 되었습니다. map.clear()를 하면 gc가 발동하기 전 실제 프로그램 속도에.. 2024. 2. 26.
변수 선언 후 인자 전달 vs 인자 전달 개발을 진행하던 중, 한가지 궁금점이 들었습니다. String s = "1"; print(s); print("1") 의문점 둘 중 어느게 빠를까? 둘의 메모리 사용량은 같을까? 다르다면, 어느게 메모리를 적게 사용할까? 정확하게 분석이 불가능하여 시간 측정 및 메모리 측정을 하였습니다. 1. String s; for (int i = 0; i < 1000000000; i++) { s = "1"; print(s); } 2. for(int i = 0; i < 1000000000; i++){ print("1"); } 해당 코드들로 시간 측정을 하였고, 함수는 System.currentTimeMillis() 을 사용하였습니다. 결과 1. 시간차이(ms) : 5 2. 시간차이(ms) : 4 미세하게 변수를 선언하지.. 2024. 2. 14.
LinkedHashSet에 대하여 JAVA에는 다양한 Set, Map의 종류가 있습니다. 그 중, 저장 순서를 보장하면서 중복을 제거해주는 HashSet의 역할을 하는 LinkedHashSet이 있습니다. LinkedHashSet set = new LinkedHashSet(); 으로 선언할 수 있고, 일반적인 set과 동일하게 사용하시면 됩니다. 해당 라이브러리를 활용해서 풀 수 있는 문제 https://www.acmicpc.net/problem/13414 13414번: 수강신청 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목 www.acmicpc.net ※ 추후 CPP로 구현해 볼.. 2023. 11. 1.
728x90