반응형 Java19 JVM 메모리 구조 GeeksforGeek 사이트의 Java Memory Management란 글을 번역했습니다. 일부 내용을 의역했기 때문에 어색하거나 틀린 내용이 있으면 댓글에 남겨주시거나 위 링크에 접속해서 확인하세요. 번역 과정에서 일부 제가 강조하고 싶은 단어(몰랐던 단어)는 괄호로 표시 합니다. 번역이 힘들었던 부분은 아래에 원문을 별도로 기재합니다. JVM 메모리 구조: JVM을 프로그램이 실행되는 동안 사용되는 다양한 런타임 데이터 영역을 정의합니다. 몇몇 영역은 JVM에 의해 생성되는 반면 몇몇은 프로그램에서 사용되어지는 쓰레드에 의해 생성됩니다. 그러나 JVM에의해 생성된 메모리영역은 JVM이 종료될 때만 회수됩니다. 쓰레드의 데이터영역은 인스턴트화(instantiation)되는 동안 생성되고 쓰레드가 종.. 2022. 7. 29. CompletableFuture Default Pool 보호되어 있는 글 입니다. 2021. 10. 19. [번역] Garbage First Garbage Collector Tuning 보호되어 있는 글 입니다. 2021. 10. 12. Java 버전 별 특징 JDK 5 ~ JDK 17 보호되어 있는 글 입니다. 2021. 9. 29. TDD 잘하는 법! 3주간의 프리코스를 진행하며 아래와 같은 룰을 지키며 코딩할 것을 강조! https://google.github.io/styleguide/javaguide.html Google Java Style Guide 1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein. Like ot google.github.io https://my.. 2020. 9. 20. [퍼온 글] Checked vs Unchecked Exceptions (체크예외, 언체크 예외) 출처: http://www.nextree.co.kr/p3239/ 언체크 예외 - RuntimeException을 상속한 것들 - 런타임 예외라고도 함. - 따로 catch문으로 잡거나, throws로 선언하지 않아도 됨. - 프로그램에 오류가 있을 때 발생하도록 의도된 것들. 예외 처리 방식 1. 예외 복구 - 예외 발생 시 예외를 try, catch, finally 등을 사용하여 최대한 처리함으로써 , 프로그램의 흐름을 정상화 시키는 방식 2. 예외 회피 - 메소드 선언부에 throws ~~~Exception 이런 식으로 구현해서 현재의 메소드 내부가 아닌, 메소드를 호출한 곳에서 에러를 처리하게 하는 방식 남발하면 안됨, 막 던지다가 제대로 처리 안하면 에러남 3. 예외 전환 catch(SQLExce.. 2020. 5. 6. Objects 시리즈_4장.설계 품질과 트레이드 오프 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다. 이 정의에는 객체지향 설계에 관한 두 가지 관점이 섞여있다. 첫 번째 관점은 객체지향 설계의 핵심은 책임이라는 것이다. 두 번째 관점을 책임을 할당하는 작업이 응집도와 결합도 같은 설계 품질과 깊이 연관되어 있다. 설계는 변경을 위해 존재하고 변경에는 어떤 식으로든 비용이 발생한다 훌륭한 설계란 합리적인 비용 안에서 변경을 수용할 수 있는 구조를 만든느 것이다. 적절한 비용 안에서 쉽게 변경할 수 있는 설계는 응집도가 높고 서로 느슨하게 결합돼 있는 요소로 구성된다. 결합도의 응집도를 합리적인 수준으로 유지할 수 있는 중요한 원칙이 있다. 객체의 상태가 아니라 객체의 행동에 초점을 맞추는.. 2020. 4. 22. Objects 시리즈_3장.책임, 역할, 협력 객체 지향 패러다임의 관점에서 핵심은 역할(role), 책임(responsibility), 협력(collaboration) 이다. 객체 지향의 본질은 협력하는 객체들의 공동체를 창조하는 것이다. 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 한다. 객체가 협력에 참여하기 위해 수행하는 로직을 책임이라고 부른다. 객체들이 협력 안에서 수행하는 책임들이 모여 객체가 수행하는 역할을 구성한다. 협력 협력이란 어떤 객체가 다른 객체에게 무엇인가를 요청하는 것이다. 한 객체는 어떤 것이 필요할 떄 다른 객체에게 전적으로 위임하거나 서로 협력한다. 즉, 두 객체가 상호작용을 통해 더 큰 책임을 수행하는 것이다. 객체 사이의 협력을 설계할 때는 객체를 서로 분리된 인스턴스가 아닌 협력하는.. 2020. 4. 22. Objects 시리즈_2장.객체지향 프로그래밍 객체지향 패러다미으로의 전환은 클래스가 아닌 객체에 초점을 맞출 때에만 얻을 수 있다. 어떤 클래스가 필요한지를 고민하기 전에 어떤 객체들이 필요한지 고민하라. 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 봐야한다. 도메인 정의 문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야 클래스 구현 혹은 다른 개발자가 개발한 클래스 사용시 중요한 것. 클래스의 경계를 내, 외부로 구분 짓는 것. 어떤 부분을 외부로 공개하고 어떤 부분을 감출지 결정하는 것 객체 정의 객체가 상태와 행동을 함께 가지는 존재 스스로 판단하고 행동하는 자율적인 존재 캡슐화(데이터와 기능을 한 덩어리로 내부에 묶는 것)하여 문제 영역의 아이디어를 적절하게 표현할 수 있게 한 것. 접근 수정자(acc.. 2020. 4. 20. 이전 1 2 3 다음 반응형