본문 바로가기
반응형

IT/Java313

Java 옵션 명령어 정리 사용법: java 또는 java -jar file.jar options: 옵션 classfiles: 호출될 클래스 파일 이름 file.jar: 호출될 jar파일 이름 argument:main함수에 파라미터로 보내질 문자열 예를 들어, main함수를 포함하는 Hello.class 파일이 존재할경우, java Hello 로 프로그램을 실행시킬수 있는데, 확장자인 class는 생략할수 있지만, 대소문자는 구별하므로, 정확하게 기입해야 한다. java Hello Greeting 처럼 Greeting을 덧붙일경우, main함수에 문자열인자로 Greeting을 보낼수 있다. 옵션 종류 -client: 자바 HotSpot Client VM을 선택한다. (디폴트 값이다) -server: 자바 HotSpot Server.. 2024. 1. 28.
Java Stream 으로 두 List 비교 Match 메소드 예제 allMatch() : 모든 요소들이 매개 값(Predicate)로 주어진 조건을 만족하는지 조사 anyMatch() : 최소한 한 개의 요소가 주어진 조건에 만족하는 지 조사 noneMatch() : 모든 요소들이 주어진 조건을 만족하지 않는지 조사 class Test { public static void main(String[] args) { int[] intArray = {10, 20, 30}; boolean allResult = Arrays.stream(intArray).allMatch(a -> a % 10 == 0); boolean anyResult = Arrays.stream(intArray).anyMatch(a -> a % 10 == 0); boolean noneRes.. 2024. 1. 27.
deleteAll(), deleteAllInBatch(), deleteInBatch() deleteAll() delete로 해당 id를 하나하나 있는지 검사하면서 지움 N수 만큼 반복문이 돌게 된다. deleteAll()은 성능이슈로 인해 거의 사용하지 않는다. 대용량의 데이터가 있을경우 for문을 하나하나 돌면서 사용하기 때문에 보통 천만건이 넘는 것을 사용할 경우 deleteAllInBatch를 사용한다. 실제 hibernate 쿼리 select a,b,c from table ; //n 수만큼 반복 delete from table where id = ?; delete from table where id = ?; delete from table where id = ?; deleteAllInBatch() findAll이나 findById를 사용하지 않았기 때문에 delete이전에 selec.. 2024. 1. 26.
ThreadPoolExecutor 로 멀티 쓰레드 구현 Thread 에 대해서는 아래 참고 포스팅 참고 바란다. Thread를 다른 Thread 와 관계를 없애기 위한 ThreadLocal (참고포스팅 참고), 혹은 일정 시간동안 Thread 를 멈추게하는 sleep (참고포스팅 참고), 혹은 count 를 두고 그동안 Thread 를 얼려두는 countDownLatch(참고포스팅참고) 등이 있지만, 이것들은 각각 하나의 Thread를 띄우기 위함이고, 반대로 작업의 주체가 되는 Thread를 여러개를 동시에 띄울수도 있다. 멀티 쓰레드에 대해서는 이미 다룬 글이 있고 실습을 위해 본 포스팅을 작성한다. 개념에 대해서는 아래 참고 포스팅을 참고 바란다. 바로 예제 코드를 만나보는것이 빠른 이해에 도움이 될것이다. public static void main(S.. 2024. 1. 21.
Java 에서 Http 통신 방식 3가지(RestTemplate, WebClient, OpenFeign) Spring Framework 는 다양하게 Http 요청 방식을 지원하고 통신을 제공한다. 3가지 방식에 대해서 간단히 작성해볼것이다. Http 통신 에 대한 내용은 아래 참고 포스팅을 참고 바란다. 1. RestTemplate RestTemplate은 Spring Framework에서 제공하는 동기식 HTTP 통신을 위한 클라이언트 RestTemplate은 주로 Spring MVC 기반의 애플리케이션에서 사용되며, 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 지원하고 JSON, XML 등 다양한 형식의 데이터를 처리할 수 있음 RestTemplate restTemplate = new RestTemplate(); String url = "https://thenicesj.tist.. 2024. 1. 20.
JPA메서드 save 와 saveAll 비교 Entity 를 사용하여 save를 할 경우 정상일 경우라면 insert 가 된다. saveAll 함수를 사용하게 될경우엔 List 를 형으로 받아서 처리를 해주고, 리스트를 bulk insert 처럼 삽입을 할수 있다. 둘의 성능 차이가 궁금해서 비교해보았다. 결국 SaveAll 함수 내부 로직을 보면 @Transactional @Override public List saveAll(Iterable entities) { Assert.notNull(entities, "Entities must not be null"); List result = new ArrayList(); for (S entity : entities) { result.add(save(entity)); } return result; } 이와.. 2024. 1. 19.
Servlet 이란? (JSP 와 비교) 자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 라고 위키에 등록이 되어있다. https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EC%84%9C%EB%B8%94%EB%A6%BF 자바 서블릿 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 서블릿은 여기로 연결됩니다. 다른 뜻에 대해서는 서블렛 문서를 참고하십시오. JSP 파일의 수명. 자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으 ko.wikipedia.org https://www.baeldung.com/intro-to-servlets 좀더 쉽게 풀어보면 웹페이지를.. 2024. 1. 17.
RequestEntity 란 이전 포스팅에서 ResponseEntity 에 대해서 다룬 글이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 간단히 말해 ResponseEntity 는 응답에 대한 내용이고 RequestEntity는 요청에 대한 내용이다. 요청 헤더, HTTP 메서드, URI 등의 정보를 포함한다. 각각의 내용은 아래 참고 포스팅을 참고 바란다. 종류는 크게 2가지로 나뉜다. 요청 본문이 없는 경우 RequestEntity requestEntity = new RequestEntity (헤더, 메서드, 요청 URI); ex) RequestEntity requestEntity = new RequestEntity (headers, HttpMethod.GET, uri); 요청 본문이 있는 경우 RequestEntit.. 2024. 1. 13.
LocalDateTime 요일 구하기 이전 포스팅에서 Java 8버전 이후에 표준으로 쓰이고 있는 LocalDateTime에 대해서 다룬 글이 있다. 참고 포스팅을 참고 바란다. 이 LocalDateTime클래스를 사용하여 요일 값을 알기위해서는 아래와 같이 코딩이 가능하다. LocalDateTime ldt = LocalDateTime.now(); DayOfWeek dow = ldt.getDayOfWeek(); int dydlf = dow.getValue(); 이렇게 하면 월요일부터 일요일까지 1~7의 숫자로 표현된다.(월요일이 1, 일요일이 7) 참고 포스팅 https://thenicesj.tistory.com/273 LocalDateTime 날짜 비교 자바에서 날짜 자료형중 하나인 LocalDateTime에서 날짜를 비교하려면 다음과 같.. 2024. 1. 11.
반응형