Java

· 언어/JAVA
먼저 "자바 최적화" 라는 책을 읽게 된 계기는 난 자바 백엔드 개발자라고 소개하지만, "자바" 언어 자체에 그렇게 딥하게 공부한 적이 없는 거 같다는 생각이 들었고, 프레임워크에 의존하지 않고, 언어 자체만으로 최적화를 해보고 싶었다. 들어가며JIT와 GC 성능이 향상되면서 작은 메서드를 적절히 인라이닝하고 인터페이스 및 타입 체크는 저렴하게 처리하면서 JIT컴파일러가 만든 네이티브 코드는 간결하고 효율적으로 유지하는, "좋은" 코딩 패턴을 따를게 맞습니다.그러나 경우에 따라 사람이 직접 코드를 작성하고 컴파일러 및 CPU 한계를 감안해 추상화 아키텍처를 재조정하애할 때도 있습니다.모든 성능 문제는 한가지 정답이 있는게 아니라 여러개 정답이 있고 그 중 요건에 가장 알맞은 해결책을 조합하는 게 기술이다..
· 언어/JAVA
C언어에서 LinkedList라는 자료구조를 사용하려면 직접 구현해야함 → 자바는 JCF에서 만들어놓은 클래스를 사용하면 됨.💡 직접 구현하는 것과 JCF 사용하는 것 중 무엇이 좋은가?만들어 놓은데는 다 이유가 있다..알고리즘의 속도와 안정성에 있어 자바 언어 개발진들이 수십년에 걸쳐 JVM에 최적화시켜 개량해왔으니 우리는 그걸 가져다 쓰면 된다. 장점인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화 되어 있기에, 사용법을 익히기에도 편리하고 재사용성이 높다데이터 구조 및 알고리즘의 고성능 구현을 제공하여 프로그램의 성능과 품질을 향상관련없는 API 산의 상호 운용성을 제공 (상위 인터페이스 타입을 업캐스팅하여 사용) → 인터페이스 중심으로 사용 → 객체지향적이미 구현되어 있는 API를 제공..
· 언어/JAVA
예외 계층 Error 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외. 애플리케이션 개발자는 이 예외를 잡으려고 해서는 안된다 상위 예외를 catch로 잡으면 하위 예외까지 함께 잡는다. 따라서 애플리케이션 로직에서는 Throwable 예외도 잡으면 안된다. Exception 애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다. 체크 예외와 언체크예외로 나뉜다. Check Exception 체크 예외는 RuntimeException 클래스를 상속받지 않은 예외 클래스들이다. 체크 예외는 복구 가능성이 있는 예외이므로 반드시 예외를 처리하는 코드를 함께 작성해야 한다. 예외를 처리하기 위해서는 catch 문으로 잡거나 throws를 통해 메소드 밖으로 던질 ..
hapBday
'Java' 태그의 글 목록