/*
* 설치 프로그램들
*
* 개발도구 openJDK11 / oracle JDK
* openJDK + 유료코드 = OracleJDK
* IDE eclipse EE / 인텔리j
* DB mariaDB / oracle / mysql
* DBTool HeidSQL / DBeaver / workbench
* 서버 Tomcat9
* 스프링 sts3
*
*/
//oracle.org에서 javase 11버전 다운 후 설치
/*
* 가비지 컬렉션
*
* 가비지 컬랙션은 가비지 컬랙터가 더이상 사용하지 않는 객체를 제거하는 것을 말합니다.
* 가비지 컬랙션을 자동 메모리 관리라고 부릅니다.
*
* 가비지 컬랙션의 특징
* 1. 자동 메모리 관리
* 2. 가비지 컬랙션은 프로그래머가 구현할 수 없다.
* 3. 가비지 컬랙션은 참조가 아닌 객체이다.
* 4. 가비지 컬랙션의 대상은 살아있는 쓰레드가 더이상 참조하지 않는 객체이다.
* 5. 다른 참조 변수가 참조하고 있는 객체는 가비지 컬랙션의 대상이 될 수 없다.
* 6. 객체에 할당된 메모리를 명시적으로 해제할 수 없다.
* 7. 가비지 컬랙터가 객체를 어떤 순서로 정리하는지 알 수 없다.
* 8. 가비지 컬랙터가 언제 수행될 지 알 수 없다.
* 9. 가비지 컬랙터는 JVM이 결정하며 우리는 단지 요청만 할 수 있다.
*
* 가비지 컬렉션이 되려면
* 1. 참조 변수에 null 할당하기
* 참조 변수에 null을 할당하면 이 변수 이전의 값은 더이상 접근할 수 없습니다.
* 그래서 이 객체는 가비지 컬랙션이 됩니다.
*
* 2. 참조 변수에 다른 객체의 참조값을 할당하기
* 참조 변수에 다른 객체의 참조 변수를 할당하면 참조 변수가 가리키고 있던 객체를
* 접근할 수 없으므로 가비지 컬렉션이 됩니다.
*
* 가비지 컬랙션 요청하기
* 어떤 객체가 가비지 컬렉션 대상이 되었다고 해서 바로 가비지 컬랙션이 동작하지 않습니다.
* 가비지 컬랙션은 JVM이 스스로 동작시키므로 프로그래머가 강제시킬 수 없습니다.
* 다만 아래와 같은 방법으로 요청은 할 수 있습니다.
*
* System.gc();
* Runtime.getRuntime().gc();
*
*/
//html과 jsp, db 연결 java