maven install 1. mvn install 할 때 spring-boot-maven-plugin 대신 maven-source-plugin을 추가해서 install spring-boot-maven-plugin을 써서 install하면 BOOT-INF안에 class들이 들어가게되서 , 해당 jar를 쓸 때 import가 안됨. 2. application-api-source.jar (source.jar) file 제외하고 install true pom.xml의 maven-source-plugin 에 configuration 추가
Java File Watch Service WatchService를 이용한 디렉토리 변경 감지 1. WatchService를 사용해서 디렉토리 내의 file 삭제, 생성, 변경 감지. watchservice 의 create, modify, delete 감지 간단한 설명은 주석으로 ..... WatchService watchService = FileSystems.getDefault().newWatchService(); Path path = FileSystems.getDefault().getPath("D:/watchTestDir"); path.register(watchService, // Create Event StandardWatchEventKinds.ENTRY_CREATE, // Delete Event ..
String, Stringbuilder, Stringbuffer 차이 1. String String은 immutable Object이다 String literal로 생성하게되면, Heap영역내의 String Constant Pool에 저장되어 재사용된다. 2. StringBuffer / StringBuilder 문자열의 추가, 삭제, 수정이 빈번하게 발생해야할 경우에 사용 StringBuffer, StringBuilder의 경우에는 append, delete와같은 API를 이용하여 객체 내의 문자열을 변경하는것이 가능해진다. 3 StringBuffer와 StringBuilder 차이 StringBuffer는 Thread-Safe하다는 점에서 StringBuilder와 가장 큰 차이를 가진다. 단일스레드에..
Map Map 생성 Map map = new HashMap(); map 에 key, value 입력 map.put("key1", "value1"); map.put("key2", "value2"); 생성할 때 선언한 type에 맞게 key, value put map의 모든 key 반환(Set) map.keySet(); map 에 있는 모든 key를 가져온다 map의 모든 value 반환 map.values(); map에 있는 모든 value를 가져온다 특정 key에 대한 value 반환 map.get("key1"); value 값 변경 map.replace("key1", "value001"); key1에 대한 value가 value1에서 value001로 변경 map의 key/value 존재 여부 확인 m..
List List 생성 List list = new ArrayList(); List에 Data add list.add("str1"); list.add("str2"); list.add("str3"); ... List의 0번째부터 순차적으로 add 된다. List의 Data get list.get(0); list의 0번째에 있는 str1을 가져온다 List의 Data 확인 list.contains("str1"); list의 값이 있으면 true, 없으면 false를 출력. true 출력 List의 Data remove remove("str"); remove(index); list.remove("str2"); list.remove(0); list의 data 삭제(data값이나, index로 삭제)
Java Collection의 모든 object 출력 1. Map Map map = new HashMap(); // 1. for (String key : map.keySet()) { String value = map.get(key); System.out.println("key : " + key + ", " + "value : " + value); } // 2. map.forEach((k, v) -> { System.out.println("key : " + k + ", " + "value : " + v); }); 2. Set Set set = new HashSet(); // 1. for (String str : set) { System.out.println("6. " + "set : " + set); } ..
Collection List 특징 index 순서로 저장되며, data 중복을 허용 data를 저장하면, 해당 data의 index가 부여되고, index를 통해 data 조회 및 삭제가 가능 ArrayList 생성 방법 : List list = new ArrayList(); List 인터페이스를 구현한 클래스. 비동기이기때문에 여러스레드가 동시에 동작할 수 있다 추가/삭제의 성능이 좋지 않고, 검색할 때 성능이 좋다 데이터가 들어올 때마다 자동으로 용랑이 늘어난다. LinkedList 생성 방법 : List list = new LinkedList(); 사용 방법은 ArrayList와 동일 비동기로 동작하므로 여러 스레드가 동시에 동작할 수 있다 추가/삭제의 성능이 빠르다 처음 노드부터 검색해야하기 때문..