//Skip to content
- ClassLoader
- classpath를 참조한다.
- class 정보를 읽을수 있는게 ClassLoader다.
- classLoader 한개에 classpath를 다수 가질수도 있다.
- 예를들어 String을 사용하면 classpath를 참조하여 classLoader가 stirng class를 Metaspace에 올린다. 2번째 호출부터는 Metaspace에 있는 것을 참조한다.
- 기본적으로 i제공하는 파일을 읽는다.(jdk에 있는 rt.jar등)
- 부모를 가질수 있다
- 부모에 있는지 먼저 찾은후 자신의 ClassLoader에서 찾는다.
- 부모는 자신의 것을 사용하지 못한다.
- java system <- was <- webapplication 순서를 가질수 있다.(classLoader)
- system classLoader가 있고 was에서 제공하는 classLoader가 있는데 war를 배포하면 was 가 webapplication classLoader 를 생성해준다.
- 수정후 재적용시 ClassLoader를 재구동 해야한다. webapplication단계에서 수정했다면 webapplication에서만 재구동 하면 된다.
- .class파일만 올려서 수정하는 방식도 내부적으로는 webapplication classLoader가 재구동 되는것이다.
- java8부터 PermGen이 Metaspace로 변경되었다.(https://dzone.com/articles/java-8-permgen-metaspace)
- Tomcat
- 웹어플리케이션 구조(WEB-INF, lib, classes, Web.xml 파일 및 폴더는 고정)
- was는 처음에 web.xml을 읽는다.
- TDD
- 소스를 알고 있기 떄문에 화이트 테스트를 할수 있다.
- 경계값을두고 작거나 큰값으로 테스트 할수도 있고 경계값으로 테스트할수도 있다.
- 100% 길과 경우의 수를 테스트 해야 100%테스트 커러리지가 된것이다.(현실적으로힘들다)
- 모든 길을 테스트를 다 한다고해서 모든 경우의수를 한것은 아니다.
- V-MODEL은 프로젝트마다 다르다.(요구사항-분석-설계-구현)
- 좋은 설계는 좋은 TEST 코드를 만들 수 있다.
- MOCK(구현이 안되어 있을 경우 가짜객체를 통해 결과값을 정할수 있다)
0 개의 댓글:
댓글 쓰기