본문 바로가기
728x90
반응형

java106

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.
C++ 코드를 JAVA로 바꿔보자 오늘은 https://www.acmicpc.net/problem/2557 문제를 통과하는 코드인 cpp 코드를 java코드로 바꿔주는 소스를 작성해 봤습니다. 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 코드 컨벤션을 준수한 코드를 기준으로 작성했습니다. 테스트 cpp 코드 #include using namespace std; int main(){ cout 1 && s[1].contains("main")) { sb.append("public class Main {").append("\n"); sb.append("public static void main(String[] args)").append(iostream ? "throws IOException.. 2023. 10. 10.
728x90
반응형