Lang/Java 15

Java jar 윈도우 서비스 등록하기

2개 버전 테스트Eclipse Adoptium jdk-8.0.412.8-hotspot, 윈도우 11JDK 1.8 202, 윈도우 서버 2019WinSW(WinSW.NET4.exe) v.2.12.0 Spring Tool Suite 4 Version: 4.13.0.RELEASE 1. apache common daemon자료가 많이 없다. 2. nssm블로그에 참고 자료가 매우 많고 무난하게 사용하기 좋아보였다.Bugs in nssm can cause severe issues such as excessive CPU usage, memory exhaustion, data loss and even bluescreens. CPU, 메모리, 블루스크린 등의 버그가 생길 수도 있다고 하는데 중요한 서버라서 문제가 생길..

Lang/Java 2024.12.22

poi excel 로 빈 값 처리 시 주의해야 하는 부분

테스트 버전 org.apache.poi poi 5.2.3 org.apache.poi poi-ooxml 5.2.3 간단한 poi excel 소스이다. try (Workbook workbook = new XSSFWorkbook()) { Sheet sheet = workbook.createSheet("Sheet"); Cell cell = null; for (int i = 1; i  원하는 결과는 A, D로 생성 된 차트여야 하는데 ""로 값을 넣을 시 B처럼 차트가 생성된다.해당 셀은 어떤 상태인지는 알 수 없으나 C와 같이 엑셀에서 ' 하나만 넣었을 때와 비슷하게 동작한다.ctrl + 방향키 아래로 하면 다음 값으로 이동되지 않고 마지막으로 이동을 한다 (아래 gif 참고)빈 값을..

Lang/Java 2024.12.15

윈도우 버전별 자바 최소 버전

자바 8 무료 마지막 버전1.8.0_202 서버 2019, 윈도우 10 이후에는 유료 버전 또는 오픈 JDK, JDK 17(현재 무료)를 사용해야 한다.이후에 버전에서도 사용은 되나 성능상에 문제가 발생할 수도 있다.  오픈 JDK는 이클립스 adoptium를 많이 추천 하는 것 같다. MS에서 제공하는 OpenJDK도 있다.https://www.oracle.com/java/technologies/javase/products-doc-jdk8-jre8-certconfig.html Oracle JDK 8 and JRE 8 Certified System ConfigurationsATI Mobile GPUs: Mobility Radeon HD 3000, 4000, and 5000 series Desktop GP..

Lang/Java 2024.05.25

간단하게 Java synchronized 사용 방법

JDK 1.8 전체 코드 Thread는 2개로 이름은 A, B로 지정 A는 B보다 1초 늦게 시작하게 처리 각 메소드는 5초 대기한다. 간단히 synchronized는 static이나 공유하는 Class에서 대해서는 동시 접근이 되지 않는다. 해당 메소드가 아닌 class내의 모든 synchronized에 접근이 되지 않음 synchronized를 사용하지 않는 메소드는 접근이 가능하다. class SyncClass{ public void basic(String name) { System.out.println("basic: " + name); } private Object lockObject = new Object(); public void objectSyncTest(String name, int tim..

Lang/Java 2023.07.01

LocalDateTime 밀리세컨드 계산 및 범위 동적으로 사용

1.8 기준공식 문서 참고 - 동적으로 사용appendFraction(ChronoField.NANO_OF_SECOND, 0, 9, true)field - the field to append, not nullminWidth - the minimum width of the field excluding the decimal point, from 0 to 9maxWidth - the maximum width of the field excluding the decimal point, from 1 to 9decimalPoint - whether to output the localized decimal point symbol Thread 환경 주의This class is a mutable builder intende..

Lang/Java 2023.05.07

Java ArrayList, Map multiThread

읽기만 하면 Thread safe하나 수정하면 문제 발생 그래도 multi thread환경에서는 안 쓰는 편이 낫다고 한다. ArrayList, HashMap Thread safe 읽기, 쓰기 가능 CopyOnWriteArrayList, SynchronizedList ConcurrentHashMap, SynchronizedMap Thread safe 읽기만 가능 대신 원본에 접근가능하면 원본은 수정할 수 있음 unmodifiableMap unmodifiableList Google Guava 불변 immutablemap immutablelist JAVA 9 불변 list.of() unmodifiablemap vs immutablemap https://stackoverflow.com/questions/226..

Lang/Java 2023.02.12

STS thymeleaf 자동 완성 안 될 때

https://stackoverflow.com/questions/55879751/thymeleaf-content-assistant-not-working-with-spring-boot 4.13.0.RELEASE JDK 8 thymeleaf-spring5-3.0.15.RELEASE.jar org.springframework.boot 2.7.6-SNAPSHOT STS ini 파일에 --add-opens=java.base/java.lang=ALL-UNNAMED 추가 하는 방법으로 처리 다른 방법으로도 안 되는 경우 .. 원인은 모르겠음 Thymeleaf content assistant not working with Spring Boot The thymeleaf content assist is not workin..

Lang/Java 2022.11.20

404 에러 Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다.

STS MAVEN JDK 1.8 Maven war Packaging 생성 -> Dynamic Web Module 변경 내장 톰캣에서는 정상 동작하지만 외장 톰캣으로는 WEB-INF/ 아래에 접근을 하지 못하는 경우 프로젝트 속성에서 아래 항목이 없다면 추가 Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다. 로 검색시는 죄다 PATH 설정에 비슷한 글들만 나와있던데 운 좋게 원인을 찾고 나니 별 거 아닌 거에 며칠을 고생한게 아깝고 허무하다. tomcat 404 등으로 검색하니 위와 같은 방법이 나온다.

Lang/Java 2022.01.16