본문 바로가기
728x90
반응형

Programming222

[EffectiveJava] Item7 다 쓴 객체 참조를 해제하라 Item6은 객체 참조 해제에 관한 내용입니다. Java같은 경우에는 C와 C++과 다르게 메모리를 직접 관리하지 않아도 알아서 회수해가니 메모리 관리가 필요없다! 라고 생각하시는 분들이 많을거라고 생각합니다. _ 저 또한 그렇게 생각하고있었습니다. 어차피 다 관리해주는데?? 라고 생각했습니다 _ 이말은 즉 메모리 관리에 더 이상 신경쓰지 않아도 된다는 말이 맞는말이 아니라고 생각합니다. 도서에는 스택을 예로들어 소스코드와 함께 나와있지만 글로만 간단하게 중요 포인트를 집고 넘어가겠습니다. 간단하게 말하면 다음과 같다 . 다 사용한 참조객체는 null처리 하여 참조 해제 하면된다. 그렇다고 무작정 객체를 다 사용하자마자 null 처리를 하는것은 필요 이상으로 지저분해지게 만들어 바람직하지 않다. 그렇다면.. 2020. 12. 11.
[EffectiveJava] Item6 불필요한 객체 생성을 피하라 Item6은 불필요한 객체를 매번 만들지 말고 재사용해서 쓰는편이 좋다에 대한 개념으로 시작합니다 지금 보는 코드는 Item6에 해당하는 극단적인 예입니다 바로 String 을 new 를 통해 인스턴스를 만드는 방법입니다 String owner = new String("윤들윤들"); 위의 코드는 해당 코드가 실행될때 마다 새로운 String 인스턴스를 생성합니다. 해다 코드가 반복문이나 반복 호출되는 메서드 안에 있다면 쓸데없는 String 인스턴스가 엄청나게 많이 만들어지게 됩니다. 따라서 위의 코드는 아래와 같이 개선시킬 수 있다. String owner = "윤들윤들"; 이 방식을 사용하면 반복되어 호출되어도 "윤들윤들"이라는 리터럴을 사용하는 모든 코드가 같은 객체를 재사용함이 보장된다. 생성자 .. 2020. 12. 10.
RDS를 만들어보자 이것저것 공부좀 해보려고 하는데 컴퓨터에 DB를 설치하기가 너무 싫었습니다... 그러던중 회사 동료분에게 허락을 맡고 회사 AWS계정으로 DB를 만들어서 놀아도 된다는 허락을 받아 이렇게 RDS를 만들겸 포스팅해보려고 합니다! 일단 당연하게 AWS계정으로 로그인을 한 후 검색에 RDS를 검색한다음 데이터베이스 생성을 누릅니다. 그러면 밑에있는 화면처럼 나올것입니다. 무료로 회사에있는것을 사용하는 것이기때문에 손쉬운 생성으로 제일싼 프리티어로 사용해보겠습니다. 마스터 사용자 이름과 비밀번호는 각자 사용하실 내용으로 적고 생성해주시면됩니다. 생성된 RDS정보입니다. 저같은 경우 DB tool로 DBeaver를 사용하기 때문에 DBeaver로 테스트를 진행하였고. 혹시나 모르는상황에 대비해 집에서만 접속하기위.. 2020. 12. 10.
[Effective Java] Item5 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 Item5 같은 경우는 Spring 개발을 하는 개발자라면 누구나 알만한 내용이라고 생각합니다. 따라서 간단하게 중요한 내용만 정리하고 넘어가도록 하겠습니다. 의존 객체 주입에 대해 처음 접해보시는분들은 다른 클래스의 자원을 사용하기위해 해당 클래스에 static 또는 final 클래스를 사용하여 객체를 생성해줄것입니다. 하지만 이럴경우 확장성에 용이 하지도 않을 뿐더러 하나의 기능에 종속되게 됩니다. 그러면 final을 때고 변경가능한 메서드를 추가해서 넣어주면 되는거 아닐까?? 란 생각을 할수 있지만 이방식은 멀티스레드 환경에서는 쓸수 없다 . 자원에 따라 동작이 달라지는 클래스에는 정적 유틸리티 클래스나 싱글턴 방식이 적합하지 않는다고 합니다. 그러면 어떻게 의존 객체 주입을 해야할까요 그건 바로 .. 2020. 12. 10.
728x90
반응형