백엔드

[아이템 7] 다 쓴 객체 참조를 해제하라 메모리 관리 자바처럼 가비지 컬렉터를 갖춘 언어를 사용하면 다 쓴 객체를 알아서 회수해주기 때문에 훨씬 편해집니다. 메모리 관리에 더 이상 신경 쓰지 않아도 된다고 오해할 수 있는데, 사실이 아닙니다. 메모리 누수가 일어나는 위치는 어디인가? 다음은 스택을 간단히 구현한 코드입니다. public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Obje..
클래스가 내부적으로 하나 이상의 자원에 의존하고, 그 자원이 클래스 동작에 영향을 준다면 정적 유틸리티 클래스와 싱글턴과 는 사용하지 않는 것이 좋습니다. 이 자원들을 클래스가 직접 만들게 해서도 안되며, 그 대신 필요한 자원을 생성자에 넘겨주는 것이 바람직합니다. 의존 객체 주입을 통해 클래스의 유연성, 재사용성, 테스트 용이성을 개선할 수 있습니다. 정적 유틸리티 클래스를 사용하여 구현 public class SpellChecker { private static final Lexicon dictionary = ...; private SpellChecker() {} // 객체 생성 방지 public static boolean isValid(String word) { ... } public static ..
· Internet
📌요약 인터넷은 웹의 핵심적인 기술입니다. 인터넷은 컴퓨터를 서로 연결하여 TCP/IP라는 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크입니다. 인터넷은 컴퓨터들이 서로 통신 가능한 거대한 네트워크이다. 인터넷은 1960년대 미 육군에서 기금 한 연구프로젝트에서 시작되었다. 이후 1980년대에 많은 국립대학과 비공개 기업의 지원으로 공공의 기반으로 변화되었다. 인터넷을 지원하는 다양한 기술은 시간이 지남에 따라 진화했지만 작동방식은 그다지 변하지 않았다. 인터넷이란 모든 컴퓨터를 연결하고 어떤 일이 있어도 연결 상태를 유지할 수 있는 방법을 찾는 방법이다. '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결을 줄여 인터넷(Internet)이라고 명명한 것에 어원을 두고 있다..
규니95
'백엔드' 태그의 글 목록