전체 글

초보 개발자의 지식 공유의 장
메이븐 설정 파일 알아야할 설정 파일 settings.xml (메이븐 빌드툴 관련) pom.xml (메이븐 기반 프로젝트에서 사용하는 설정 파일) settings.xml 설정파일 MAVEN_HOME/conf 디렉토리에 위치하며 메이븐을 설치하면 기본으로 제공된다. (전역적)추가적인 설정이 필요한 경우 주석 처리되어 있는 부분을 제거하여 설정하는 것이 가능사용자별로 다른 설정을 하려면 USER_HOME/.m2 디렉토리에 settings.xml 설정 파일을 추가하여 설정하는 것이 가능하다. 사용자 설정 파일은 직접 생성해야한다. (MAVEN_HOME/conf/settings.xml 을 복사해서 사용가능)로컬 저장소의 위치를 바꾸고 싶다면 MAVEN_HOME/conf 디렉토리의 settings.xml 파일을 ..
빌드도구의 등장"개발자들이 단순, 반복적으로 실행하는 작업을 자동화함으로써 업무를 효율화할 수 있는 방법이 없을까?"지원 기능 목록 빌드 무선화 리포팅 의존 관계 소스 코드 관리 릴리즈 배포 앤트 메이븐메이븐은 메이븐이 접근할 수 있는 저장소를 지원저장소를 통하여 템플릿 프로젝트인 아키타입(Archetype), 의존관계에 있는 라이브러리, 메이븐 플러그인 기능을 지원(메이븐만 설치하면 프로젝트 빌드에 필요한 라이브러리, 플러그인을 저장소에서 개발자 PC로 자동 다운로드) 메이븐 설치 및 템플릿 프로젝트 생성 메이븐 설치 최신버전 다운(http://maven.apache.org/download.cgi) 시스템 환경 변수에 MAVEN_HOME 추가 시스템 환경 변수 PATH에 MAVEN_HOME/bin 추가..
느낀점maven 빌드의 이점을 정확하게 알기위해선 ant 빌드의 장,단점을 파악해야 그 진가를 알 수 있을 것 같이 보인다.ant 빌드를 간단히 알아보고, 왜 ant 빌드보다 maven이 많이 사용되는지 파악해보자
동기화된 컬렉션(thread-safe한 collection), 병렬처리 컬렉션 컬렉션 프레임워크 대부분 싱글 스레드 환경에서 사용할 수 있도록 설계Vector, Hashtable은 동기화된 (synchronized) 메소드로 구성되어 있기 때문에 멀티 스레드 환경에서 안전함하지만 ArrayList, HashSet, HashMap 은 멀티스레드 환경에서 안전하지 않다. 따라서 자바에서는 Collections의 synchronizedXXX() 메소드를 제공한다.매개값으로 컬렉션을 대입하면 동기화된 컬렉션을 리턴한다. 리턴 타입메소드(매개변수)설명 ListsynchronizedList(List list)List를 동기화된 List로 리턴MapsynchronizedMap(Map m)Map을 동기화된 Map으로 ..
알게된 것Spring의 bean 객체는 GarbageColecor 대상이 될까?Spring이 관리하는 bean은 스프링 컨테이너가 시작될 때 생성되고 스프링 컨테이너가 중지될 때 삭제가 됨Spring 싱글톤 객체가 단순한 Java 객체와 다른 이유는 컨테이너가 해당 객체에 대한 참조를 유지하며 언제든지 코드 아무곳에서나 사용할 수 있기 때문임즉, Spring Container가 bean을 잡고 있기 때문에 GC의 대상이 안되며, Spring Container가 중지되어야지만 삭제됨When is a Spring Singleton bean garbage collected?=> 대상 ㄴㄴ, The reason is spring containers always maintains a reference to it ..
eclipse.ini을 통해 이클립스를 최적화해보자 이클립스를 처음 설치하고 실행하다보면 Heap 메모리 사이즈가 적게 설정이 된다. 그렇기 때문에 이클립스를 사용하다보면 시스템 과부하나 메모리 부족현상을 경험할 수 있을 것이다. 이클립스를 사용할 때 메모리를 충분히 늘려주고 사용하는 것이 정신겅강에 좋다. eclipse 메모리 설정방법 eclipse가 설치된 폴더에 eclipse.ini 이라는 파일이 존재한다. 이 파일의 용도는 eclipse 툴의 설정파일이라고 생각하면 된다. 힙사이즈를 늘려주려면 이 eclipse.ini 파일 끝에 옵션을 추가하면 된다. (-Xms204m -Xmx5096m) eclipse.ini (내이클립스 설정 파일) -startup plugins/org.eclipse.equino..
JVM 메모리 구조 참조 2018/06/29 - [프로그래밍 노트/JAVA] - [JAVA] JVM 메모리구조 2020/12/19 - [프로그래밍 노트/JAVA] - [JAVA] JVM 가상머신 메모리 구조 2021/01/22 - [프로그래밍 노트/JAVA] - [JAVA] 가비지 컬렉터(GarabageCollector,GC) 애플리케이션을 실행하다가, outOfMemoryError 가 발생하였다면 우리는 JVM의 메모리 설정을 다시해 줄 필요가 있다. java.lang.OutOfMemoryError : Java heap space Heap size의 부족으로 Java Object를 Heap에 할당하지 못한 경우 발생하는 에러 java.lang.OutOfMemoryError : PermGen space ..
JVM Memory 관련 이슈eclipse.ini의 설정이 JVM의 heap Size까지 조절해주는 줄 알았으나, eclipse가 사용할 수 있는 메모리의 한계치를 설정하는 거 였음Junit Test시 outOfMemeory Error가 났음.. 프로젝트 실행시 JVM 메모리 사이즈를 늘리기 위해서는 JVM에 파라미터를 전달해야하는 것을 알았음 (톰캣 argument 설정처럼) -> 어찌보면 당연한거임2019/03/19 - [그 외 ... (정리해야함)/꿀팁] - [JAVA] 이클립스(eclipse) 메모리 설정2019/03/19 - [그 외 ... (정리해야함)/꿀팁] - [JAVA] JVM 메모리 관련 설정(옵션)
형상화관리 Gitgit flow 정의회사 모듈을 어떻게 관리할 것인지 생각해보기
Comparable과 Comparator Comparable, Comparator 항상 헷갈리는 부분이다. 예전에 포스팅을 했지만 항상 까먹기 때문에,,, 책에 나온김에 다시 한번 정리할겸 포스팅을 한다. (https://cornswrold.tistory.com/23)TreeSet, TreeMap은 정렬을 위해 java.lang.Comparable 구현한 객체를 요구한다. 우리가 아는 Wrapper 객체는 모두 Comparable 인터페이스를 구현하고 있다.(Integer, Double, String ..)Comparable에는 compareTo() 메소드가 존재하고 적절하게 오버라이딩하여 정렬을 할 수 있게 한다. 리턴타입메소드설명 intcompareTo(T o)객체가 같으면 0 리턴 주어진 객체보다 ..
깡냉쓰
평범한 개발자 노트