일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- dfs
- JPQL
- 지연로딩
- 힙
- fetch
- 낙관적락
- querydsl
- FetchType
- 다대일
- 유니크제약조건
- 연결리스트
- eager
- exclusive lock
- 스토어드 프로시저
- shared lock
- 데코레이터
- 백트래킹
- BOJ
- 비관적락
- CHECK OPTION
- 동적sql
- 이진탐색
- 스프링 폼
- execute
- 일대다
- SQL프로그래밍
- 다대다
- 연관관계
- PS
- 즉시로딩
- Today
- Total
목록Java (5)
흰 스타렉스에서 내가 내리지
# 원시 타입(Primitive Types) 장점: 메모리 효율성: 원시 타입은 작은 메모리 공간을 차지하므로, 객체 래퍼 타입보다 메모리 효율적입니다. 특히 배열 등 큰 데이터 집합을 다룰 때 이점이 큽니다. 속도: 연산이나 계산에서 원시 타입을 사용하면 래퍼 타입보다 빠른 처리 속도를 얻을 수 있습니다. 단점: Null 값 처리: 원시 타입은 null 값을 가질 수 없으므로, 값이 없음을 나타내는 데 래퍼 타입에 비해 제한적입니다. 기능의 부족: 원시 타입은 메서드나 기능을 호출할 수 없으므로, 객체 래퍼 타입을 사용할 때와 비교해 기능적인 제약이 있을 수 있습니다. # 래퍼 타입(Wrapper Types) 장점: Null 값 처리: 래퍼 타입은 null을 허용하므로 값이 없음을 나타내는 데 유용합니..
List responseDto = new ArrayList(); for(Folder folder : folders){ responseDto.add(FolderSimpleInfoDto.of(folder)); } return responseDto; 다음의 코드는 stream()과 람다식을 통해 한줄로 줄일 수 있다. return folders.stream() .map(FolderSimpleInfoDto::of) .collect(Collectors.toList()); folders.stream()으로 List를 스트림으로 변환하고, map(FolderSimpleInfodto::of) 로 각 Folder 객체를 FolderSimpleInfoDto로 변환한다. 마지막으로, collect(Collectors.toL..
1. Collections.reverse(list); 2. List list = new ArrayList(); // 리스트에 원소들 추가 List reversedList = new ArrayList(); ListIterator iterator = list.listIterator(list.size()); while (iterator.hasPrevious()) { reversedList.add(iterator.previous()); } 3. List list = new ArrayList(); // 리스트에 원소들 추가 list.sort(Collections.reverseOrder()); 성능 측면에서 1번이 효율적이다. 기존 List 를 변경하는 방식이라 메모리 사용 측면에서 효율적이다.
String, StringBuffer, StringBuilder 차이점 첫번째 차이점은 String은 불변하다는 특징을 가지고 있어서 수정을 하지못하고 새로운 String 인스턴스가 생성되고 전에 있던 String은 GC에 의해 사라지게 된다. 그래서 좋은 성능을 기대하기는 힘들다. (String 불변, StringBuffer, StringBuilder 가변) StringBuffer는 동기화 키워드를 지원하여 멀티쓰레드 환경에서 안전하다는 점(thread-safe) 입니다. 참고로 String도 불변성을 가지기때문에 마찬가지로 멀티쓰레드 환경에서의 안정성(thread-safe)을 가지고 있습니다. 반대로 StringBuilder는 동기화를 지원하지 않기때문에 멀티쓰레드 환경에서 사용하는 것은 적합하지 않..
List에서 중복을 제거하는 방법을 구글에 검색해보면, 다양한 방법을 소개해주지만 무엇이 더 효율적인지 알려주는 글은 찾지 못했다. 더 검색해보면 찾을 수 있겠지만, 그 전에 그냥 내가 직접 실험해보고 싶어졌다. List에서 중복을 제거하는 방법으로는 두가지가 있겠다. 1. Set을 이용하기 2. Stream을 이용하기 결론 : Stream이 대체적으로 더 빠르다. 테스트 코드 ////////////////////////////////////////////////////////// long startTime = System.currentTimeMillis(); Set sets = new HashSet(); for (Category category : member.getCategories()) { List..