본문 바로가기 메뉴 바로가기

realizers

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

realizers

검색하기 폼
  • 분류 전체보기 (266)
    • JAVA (83)
      • JAVA기본 (38)
      • Design_Pattern (14)
      • Spring (10)
      • SpringBoot (19)
      • JPA (2)
    • Architecture (7)
    • 운영체제 (8)
    • Network (6)
    • 자료구조 (5)
    • Algorithm (0)
    • PHP (7)
      • Codeigniter (7)
    • CI&CD (12)
    • CentOs (2)
    • Ubuntu (4)
    • Mysql (13)
    • FrontEnd (3)
    • React Native (7)
    • 스터디 (108)
      • 오브젝트 (13)
      • 모던 자바 인 액션 (11)
      • 이펙티브 자바 (73)
      • 도메인 주도 개발 시작하기 (6)
      • 리팩토링 1판 (5)
      • 실전 자바 소프트웨어 개발 (0)
    • 일상 (1)
  • 방명록

전체 글 (266)
이펙티브 자바 - Item66. 네이티브 메서드는 신중히 사용하라

네이티브 메서드는 신중히 사용하라 자바 네이티브 인터페이스(Java Native Interface, JNI)는 자바 프로그램이 네이티브 메서드를 호출하는 기술입니다. 여기서 네이티브 메서드란 C나 C++같은 네이티브 프로그래밍 언어로 작성된 메서드를 말합니다. public class Object { @HotSpotIntrinsicCandidate protected native Object clone() throws CloneNotSupportedException; } 💡주요 쓰임 레지스트리 같은 플랫폼 특화 기능에 사용됩니다. 네이티브 코드로 작성된 기존 라이브러리를 사용합니다. 성능 개선을 목적으로 성능에 결정적인 영향을 주는 영역만 따로 네이티브 언어로 작성합니다. 💡성능 개선을 목적으로 네이티브 메..

스터디/이펙티브 자바 2022. 8. 16. 22:20
이펙티브 자바 - Item64. 객체는 인터페이스를 사용해 참조하라

객체는 인터페이스를 사용해 참조하라 적합한 인터페이스만 있다면 매개변수뿐 아니라 반환값, 변수, 필드를 전부 인터페이스 타입으로 선언하는게 좋습니다. 💡유연한 프로그램 작성 LinkedHashSet을 사용하는 인터페이스 타입 변수를 선언하면 유연하게 변경할 수 있습니다. //좋은 예 Set sonSet = new LinkedHashSet(); //나쁜 예 LinkedHashSet sonSet = new LinkedHashSet(); 💡다른 타입으로 변경 좋은 예는 Set 인터페이스 타입이기 때문에 다른 구현체로 변경해도 에러가 발생하지 않습니다. 하지만 나쁜 예의 경우 LinkedHashSet 인터페이스 타입이기 때문에 다른 구현체를 받는다면 컴파일 에러가 발생하게 됩니다. //좋은 예 Set sonSe..

스터디/이펙티브 자바 2022. 8. 16. 21:08
이펙티브 자바 - Item63. 문자열 연결은 느리니 주의하라

문자열 연결은 느리니 주의하라 문자열 연결 연산자(+)는 여러 문자열을 하나로 합쳐주는 편리한 수단입니다. 하지만 여러 문자열을 많이 합치게 되는 경우 성능 저하의 문제가 발생할 수 있습니다. 문자열 연결 연산자(+)로 문자열 n개를 잇는 시간은 n2에 비례합니다. 💡연결 연산자를 사용하는 경우 public class Example { public static void main(String[] args) { String str = ""; for (int i = 0; i < 100000; i++) { str += i; } System.out.println(str); // 16 sec, 948ms 소요 } } 💡StringBuilder를 사용하는 경우 상당히 빨라진것을 알 수 있습니다. public cla..

스터디/이펙티브 자바 2022. 8. 13. 12:50
이펙티브 자바 - Item62. 다른 타입이 적절하다면 문자열 사용을 피하라

다른 타입이 적절하다면 문자열 사용을 피하라 문자열(String)은 텍스트를 표현하도록 설계되었고, 그 일을 아주 잘해주고 있습니다. 그런데 문자열은 워낙 흔하고 자바가 잘 지원해주고 있어서 의도치 않게 사용하는 경우도 있습니다. 💡문자열은 다른 값 타입을 대신하기에 적합하지 않습니다. 많은 사람들이 파일, 네트워크, 키보드 입력으로부터 데이터를 받을 때 주로 문자열(String)을 사용합니다. 하지만 입력 받는 데이터가 수치형이라면 int, float, double형 또는 Y/N을 입력받는다면 boolean을 사용하는 것이 좋습니다. 💡문자열은 열거 타입을 대신하기에 적합하지 않습니다. // bad public static void typeV1(String fruitName) { if (fruitNam..

스터디/이펙티브 자바 2022. 8. 13. 12:12
이전 1 ··· 20 21 22 23 24 25 26 ··· 67 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 깃허브
  • 이메일
TAG
  • redis 대기열 구현
  • 람다 표현식
  • transactional outbox pattern
  • polling publisher spring boot
  • 공간 기반 아키텍처
  • java ThreadLocal
  • transactional outbox pattern spring boot
  • redis sorted set으로 대기열 구현
  • java userThread와 DaemonThread
  • 트랜잭셔널 아웃박스 패턴 스프링부트
  • space based architecture
  • JDK Dynamic Proxy와 CGLIB의 차이
  • spring boot 엑셀 다운로드
  • 레이어드 아키텍처란
  • spring boot excel download paging
  • pipe and filter architecture
  • redis sorted set
  • spring boot excel download oom
  • 서비스 기반 아키텍처
  • spring boot redisson sorted set
  • service based architecture
  • spring boot redisson 분산락 구현
  • spring boot redis 대기열 구현
  • @ControllerAdvice
  • 자바 백엔드 개발자 추천 도서
  • pipeline architecture
  • microkernel architecture
  • 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
  • spring boot redisson destributed lock
  • spring boot poi excel download
more
«   2025/07   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바