728x90 전체 글381 [Effective Java] 다쓴 객체 참조 해제 하기 다쓴 객체 참조 해제하기 자바같은경우 GC 가 있어서 자동으로 메모리를 해제해준다. 자바의 가장큰 이점이다 하지만 메모리 누수가 발생하는경우도 많다. 메모리누수가 생기는경우 Static 변수 남용 래퍼 클래스(Wrapper)로 의미 없는 변수 선언 스트림객체 사용후 닫지 않는경우 다쓴 참조(Obsolete reference)를 가지고 있는경우 다쓴 참조를 가지고 있는경우 여기서 정리할건 다쓴 참조를 가지고 있는 경우 를 살펴볼것이다. Stack Code 아래 코드에서 pop() 부분에서 메모리 누수가 발생한다. 이유는 엘리먼트를 꺼내기만 했다 그렇게 되면 앞으로 쓰지않는 객체들을 참조하고 있어 GC 가 메모리를 회수 하지 않는다.. null 처리를 해줘야한다. package ObsoleteReferenc.. 2022. 5. 18. [LeetCode] 14. Longest Common Prefix 문제 분석 분석할게 없다 분석할게 있다면 시간복잡도, 메모리 부분일것 같다. 정렬을 할것 인가 안할것인가? 구현 class StringSizeComparator implements Comparator { @Override public int compare(String o1, String o2) { return o1.length() - o2.length(); } } class Solution { public String longestCommonPrefix(String[] strs) { StringBuffer prefix = new StringBuffer(); Arrays.sort(strs,new StringSizeComparator()); String minLengthString = strs[0]; for.. 2022. 4. 30. [LeetCode] 13.Roman to Integer 문제 분석 주어진 로마문자를 수로 변경해서 더한다. 단 예외가 있다. 아래 처럼 문자가 이루어져 있는 경우는 다음 값을 따른다. - "IV", 4, "IX", 9 - "XL", 40, "XC", 90 - "CD", 400, "CM", 900 좀더 분석을 해보면 - 앞에 놓여진 문자의 값 보다 뒤에 있는 문자의 값이 크면 - IV 인경우 V(뒤에 있는 문자값) - I(앞에 있는 문자값) 이 된다. 구현1 (무식하게 구현해보기) class Solution { private Map numberMap = new HashMap(); private Map complexNumberMap = new HashMap(); private class RomanScore { public StringBuffer s; public.. 2022. 4. 23. [Spring] 로그인 처리 쿠키 쿠키를 사용하여 로그인 처리 쿠키의 종류 영속 쿠키: 만료 날짜를 입력 하면 해달 날짜 까지 유지 세션 쿠키: 만료 날짜를 생략하면 브라우저 종료시 까지만 유지 쿠키 생성 과정 1. 로그인 시도 2. 로그인 성공시 DB 에서 MemberId 로 쿠키를 생성 3. 쿠키를 Header 에 포함시켜 response 를 준다. 4. 브라우저 쿠키 저장소에 쿠키가 저장된다. 쿠키생성 후 처리과정 1. 저장된 쿠키 조회후 요청시 쿠키를 담아 서버에 요청 2. 해당 정보를 가지고 DB 조회 3. 응답. 쿠키를 이용한 로그인 로직 @PostMapping("/login") public String login(@Valid @ModelAttribute LoginForm form, BindingResult bindingRes.. 2022. 4. 16. 이전 1 ··· 28 29 30 31 32 33 34 ··· 96 다음 728x90 반응형