개발/JAVA
-
Z GC(초안)개발/JAVA 2021. 8. 9. 01:48
자바 버전별 기능을 다시 찾아보던 중 java 10에서 병렬 처리 가비지 컬렉션 도입으로 성능 향상이라는 글을 보았다. https://www.skyer9.pe.kr/wordpress/?p=287 JAVA 버전별 특징 – 상구리의 기술 블로그 JAVA 버전별 특징 출처1 : https://thatisgood.tistory.com/entry/Java-10-버전-특징 출처2 : https://ggomi.github.io/jdk-version/ JDK 1.0 JDK1.1 1997년 JDBC, RMI, Reflection, JIT, Inner Class JDK 1.2 1998년 자바를 세가지 버전으로 나눴 www.skyer9.pe.kr 병렬처리 가비지 컬렉션 parallel GC는 이미 java 7,8에 기본으로..
-
boolean 타입 명 앞의 is에 대해개발/JAVA 2021. 7. 11. 20:33
dto 객체에서 비어있는지 여부를 판단하기 위해 empty 라는 변수를 추가했다. 그리고 boolean형을 가져올때 isEmpty 식으로 boolean 타입을 묻곤 하기 때문에 큰 생각없이 변수 명을 isEmpty와 같이 지정하고 값을 가져올때도 isEmpty() 로 isEmpty 값을 가져 오도록 했다. 하지만 이처럼 is가 붙은 경우 isEmpty 값이 true를 주고 다시 isEmpty() 메서드를 통해 가져올 때 메서드의 내용은 public boolean isEmpty() { return isEmpty; } 로 isEmpty의 값을 그대로 리턴하지만 isEmpty 의 값을 true로 줬기 때문에 false로 리턴한다. boolean 형의 변수명의 규칙과 주의할 점을 찾아봐야 하겠다. 발견 1 Lo..
-
JVM(Java Virtual Machine) 구조개발/JAVA 2021. 3. 19. 23:09
학습을 기록하기 위한 글로 아래 블로그를 통해 학습 하였습니다. jeong-pro.tistory.com/148 출처: https://jeong-pro.tistory.com/148 [기본기를 쌓는 정아마추어 코딩블로그] JVM 구조와 자바 런타임 메모리 구조 (자바 애플리케이션이 실행될 때 JVM에서 일어나는 일, 과정 JVM(Java Virtual Machine) : 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체다. CPU나 운영체제(플랫폼)의 종류와 무관하게 실행이 가능하다. 즉, 운영체제 위에서 동작하는 프로세스로 자 jeong-pro.tistory.com JVM - Class Loader, Execution Engine, Garbage Collector, Runtime Data Are..
-
Garbage collection -가비지 컬렉션개발/JAVA 2021. 3. 19. 22:55
가비지 컬렉션을 학습을 기록하기 위에 쓰는 글이며, 다른 분들이 잘 정리한 글들을 적은 것이며 참조한 글들은 아래와 같습니다. yaboong.github.io/java/2018/06/09/java-garbage-collection/ d2.naver.com/helloworld/1329 www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html 다른 블로그들을 참고하여 잡힌 개념 : JVM의 Runtime Data Area 에서 참조를 잃은 Heap 메모리 데이터를 삭제 하는게 garbage collector의 역할. garbage collection이 일어나는 동안에는 수행하는 쓰레드를 제외한 모든 쓰레드가 일시정지된다(stop-the-..
-
Collection과 Map개발/JAVA 2021. 3. 19. 14:30
Collection 인터페이스는 List, Set, Queue로 크게 3가지 상위 인터페이스로 분류 된다. 종류와 특징은 다음과 같다. 인터페이스 인터페이스 특징 구현클래스 특징 Collection Set 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. HashSet - 가장빠른 임의 접근 속도 - 순서를 예측할 수 없음 TreeSet - 정렬방법을 지정할 수 있음 List 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. LinkedList - 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치정보만 수정하면 되기에 유용 - 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임 Vector - 과거에 대용량 처리를 위해 사용했으며, 내부에서 자동으로 ..
-
array형 json string값을 object로 변환할때 ( json string array to object)개발/JAVA 2021. 3. 17. 16:11
{"id" : "아이디", "name" : "이름"} 과 같이 json 형태의 string을 object로 변환하는 것은 obejct mapper로 간단하게 변환할 수 있다. String userStr = "{"id" : "아이디", "name" : "이름"}"; ObjectMapper objectMapper = new ObejctMapper(); User user = objectMapper.readValue(userStr, User.class); 하지만 [ {"id" : "아이디", "name" : "이름"}, {"id" : "아이디", "name" : "이름"}] 와 같이 array인 형태는 어떻게 해야할까? list형태로 생각되어 List로 변환하려 하였으나 잘 되지 않았다. -> List가 아닌 ..
-
double 형 비교개발/JAVA 2020. 3. 3. 17:34
값 비교에서 string은 equals() 함수를 잘 활용하지면 숫자값은 주로 == 연산자로 값 비교를 해왔다. 그러던 중 똑같은 double형 값을 비교했는데 == 연산자로 확인이 되지 않았다. @Test public void compareNumber(){ List aList = new ArrayList (); double a = 10.0; aList.add (a); List bList = new ArrayList (); double b = 10; bList.add (b); System.out.println (a==b ); System.out.println (aList.get (0)==bList.get (0) ); } 위 처럼 double a와 b 를 연산자로 비교하였을때 true지만
-
Gson을 사용한 JsonArray 형태의 String을 JsonArray로 변환하기개발/JAVA 2019. 11. 27. 18:26
[{A:a,B:b,C:,c},{A:a,B:b,C:,c},{A:a,B:b,C:,c},{A:a,B:b,C:,c}...] 형태로 저장된 파일을 읽어 다루는 일이 있었다. jsonArray 데이터를 toString화 하여 저장한 듯한 이 데이터를 다시 jsonArray로 돌려놓기 위해서는 의존 설정 build.gradle dependencies에 compile group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: '2.1.9.RELEASE' //'org.springframework.boot:spring-boot-starter-web' 에 포함되어 있어 보통 생략 가능 implementation 'com.google.code.g..