728x90
반응형

Java 154

java 리터럴이란? 기본적인 데이터 타입, 자료형의 종류와 함께 이해해보자.

java에서 리터럴(literal)이란? 어렵게 생각하지 말자. 소스 코드 그대로의 값, 데이터를 의미한다. java 리터럴(literal) 예시 코드 int testNum = 10; testNum 변수에 할당된 10이 리터럴(literal)이다. 리터럴 타입과 비교할만한 java의 데이터 타입 (2가지) 자바에는 변수에 할당한 값을 의미하는 원시 타입(primitive type)과 특정 객체의 주소를 가리키는 값을 의미하는 참조 타입(reference type)으로 나뉜다. 2-1. 원시 타입(primitive type) 종류 byte short int long char boolean 2-2. 참조 타입(reference type) 종류 String Object 등등 Java 리터럴(literal) 설..

Java 2024.03.13

대체 JVM이 무엇이기에 Java를 공부하는 나를 이토록 괴롭히는거니?

JVM: Java Virtual Machine 자바 가상 머신 자바 프로그램을 실행하는 데 사용되는 가상 컴퓨터를 의미한다. 사용자의 컴퓨터에는 JRE가 설치되어 있어야만 Java 애플리케이션을 실행할 수 있고 JRE는 사용자가 웹 브라우저를 통해 Java 애플리케이션을 사용하는 동안에 필요한 런타임 환경이다. JVM 특징 1. JVM은 Java로 만들어진 애플리케이션을 컴파일(java compiler)해서 얻은 바이트 코드를 컴퓨터가 이해할 수 있는 기계어로 변환해 준다. 2. Java라는 특정 언어를 바로 기계어로 컴파일하지 않기 때문에 운영체제에 종속적이지 않고 독립적이다. java compiler : 자바 소스 코드를 JVM이 이해할 수 있는 바이트 코드로 변환하는 작업 바이트 코드 : 자바 소스..

Java 2024.03.12

[ quartz ] quartz 동일한 trigger 중복 실행 해결 방법, 인스턴스 중복, 인스턴스 2개가 같은 appBase를 바라볼 때.

[제가 해결한 방법은 글 제일 하단 쯤에 있습니다.] 내가 유지보수하는 플렛폼, 1개의 서비스를 운영함에 있어 tomcat 서버 1개에 여러개의 host를 설정하여 운영하고 있다. 이미지, 은행 관련 업무 등 적절하게 프로젝트를 나눠서 관리하고 있는 셈이다. 여러개의 프로젝트를 tomcat server.xml 파일에서 host로 분기하여 관리하고 있고 프로젝트 2개에서 quartz를 돌리고 있다. A프로젝트에서는 여러 개의 trigger를 만들어 quartz를 돌려도 설정한 시간에 문제 없이 작동이 되었다. 다만,, 나머지 B프로젝트에서 돌리는 quartz는 돌릴 때마다 동일한 trigger가 1-2초 텀을 두고 또는 1초의 텀도 두지 않고 동시에 실행이 되는 문제를 보였다. B프로젝트에서 quartz가..

Java 2023.06.09

quartz 중복 방지, quartz 중복 실행 해결, trigger 실행 카운트, 참고만해주세요

쿼츠 중복 해결을 바로 참고하시려면 아래로 이동해주세요! 내가 속한 회사에서 운영하는 플렛폼은 2개의 프로젝트로 운영되고 있다. A프로젝트에서는 쿼츠를 돌렸을 때 중복 실행이 되지 않아 쿼츠를 실행할 기능들을 모두 A프로젝트에서 구현하고 있었다. B프로젝트에서 쿼츠를 돌리면 중복 실행이 되어 쿼츠 구현을 하고 있지 않았으나 이번에 나는 B프로젝트의 중복되는 쿼츠 부분을 어떻게든 고치고 싶었다. 오기가 생겼다. 사실 이미 B프로젝트에 작업을 해버렸고, B프로젝트 쿼츠가 안된다고 안 쓸수 없지 않은가.... 너무나도 오기가... 생겨서 pc랑 싸울뻔... 일단 한 두달 전쯤에 톰캣 로그에서 쿼츠 스레드가 종료되지 않은채로 남아있다는 로그를 아주 많이 본적이 있었다. 이를 해결하고 싶었지만 당장 어떻게 해결을..

Java 2023.05.16

[ Spring Boot ] webapp > WEB-INF > views 구조로 JSP 연동, 이미지는 workspace인 webapp 바로 하위에 위치해야 불러 올 수 있다!!

JSP 연동에 필요한 dependency javax.servlet jstl org.apache.tomcat.embed tomcat-embed-jasper application.yml 기본 설정 server: port: 8085 spring: mvc: view: prefix: /WEB-INF/views/ # 변경가능 suffix: .jsp Spring Boot 프로젝트의 JSP 파일을 관리할 폴더 구조 webapp > WEB-INF > views(폴더명 변경 가능) > jsp 파일 보관 이미지는 필히 webapp > 하위 폴더에 image 폴더를 만들어서 이미지를 호출하도록!!! 위에 이미지 경로... 아주 중요하다ㅠㅠ

Java 2023.05.16

스프링으로 서비스 구동중 람다 표현식 사용시 오류 이슈

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class... java.lang.ArrayIndexOutOfBoundsException... 위의 같은 오류를 계속 내뿜으며 톰캣 구동 자체가 되지 않았다. 열심히 서치해서 얻은 결론은.. 스프링 버전이 3.1.1.RELEASE 이하 버전에서는 람다 표현식 사용이 금지 되어있다는 것 같았다.... 확인해보니 우리 서비스 버전은 3.1.0.RELEASE 였다.. 너무나도 아쉽잖아..? 간단해 보이는 람다식을 사용하면 좀 더 간편하게 코드를 작성할 수 있을 것 같아서 람다식 사용법을 찾아보았는데,,. 아쉽게도 우리 서비스에서는 람다..

Java 2022.07.20

java String to Date, String to Calendar, Date to Calendar 좋은 예제

참고 링크 https://colalove5562.tistory.com/44 [Android/Java] Calendar to Date, Date to Calendar, String to Date, String to Calendar 저는 개인적으로 상당히 많이 상용하는 것들 입니다. 날짜등의 데이터는 long 타입으로 변환하여 간편하게 비교하거나, 일단 숫자이지만 문자형태로 저장하고 다시 변환.. 1. Calendar To Date Calendar c colalove5562.tistory.com

Java 2022.07.06

outside of an actual web request, or processing a request outside of the originally receiving thread? 오류에 대한 해결책.

attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request. at org.springframework.web.c..

Java 2022.07.06

이클립스에서 local history 찾는 방법

오늘 작업을 하다가 읭?? 이 소스는 뭥미 ... 이 API 는 사용하지 않는게 왜 있담,,. 나란 녀석 이라고 생각하면서 과감하게 소스를 지워버렸다. 커밋하지 않았던 소스로,,... 뭐 커밋을 해야 하지만 지금 내가 작업하고 있는 소스는 커밋을 못하는?.., 상황이 있을 수 있나 싶겠지만 커밋을 하지 않던 상황으로,,. 조금 있다가 내가 큰 실수를 했다는 것을 인지했다.... 내가 중복으로 만들어놓은 소스인 줄 알고 과감히 삭제했던 소스가 제 기능을 하던 소스였던것,,, 진짜 머리가 노래졌다. 커밋하지도 않은 소스를 혹시나 찾아볼 수 있을까 싶어서 구글링한 결과... 나를 살려준 방법을 아래 참고 차 작성해놓는다ㅠㅠㅠㅠㅠㅠㅠㅠㅠ 진짜,,,,,감격 ㅜㅜㅜㅜㅜㅜ 이클립스에서 저장을 할 때마다 로컬에 마지막..

Java 2022.06.22

[ Java ] AES-256으로 암호화 복호화 방법

//알고리즘 String alg = "AES/CBC/PKCS5Padding"; //키 String aesKey = "abcdefghabcdefghabcdefghabcdefgh"; //32byte String aesIv = "0123456789abcdef"; //16byte //암호화 할 유저 아이디 String userId ="abc123"; //암호화된 유저 아이디 String encId=""; //알고리즘 aes-256 **********[암호화]********** try { Cipher cipher = Cipher.getInstance(alg); //키로 비밀키 생성 SecretKeySpec keySpec = new SecretKeySpec(aesKey.getBytes(), "AES"); //iv ..

Java 2022.06.10

오늘 날짜, 오늘 지금으로부터 24시간(하루전) 날짜 구하기

지금 날짜(오늘 날짜) Calendar now = Calendar.getInstance(); int year = now.get(Calendar.YEAR); int month = now.get(Calendar.MONTH) +1; int day = now.get(Calendar.DAY_OF_MONTH); int week = now.get(Calendar.DAY_OF_WEEK); int amPm = now.get(Calendar.AM_PM); int hour = now.get(Calendar.HOUR_OF_DAY); int minute = now.get(Calendar.MINUTE); int second = now.get(Calendar.SECOND); System.out.println("year : " + ..

Java 2022.06.10

[ sts ] select type, matching item 해결

프로젝트를 실행할 때마다 아래와 같은 질문이 나를 당혹?스럽게했다. 이전에 spring boot 프로젝틀를 다룰 때는 이런 질문을 받은 적이 없었기 때문이다. 읻단 Application.java를 클릭하면 프로젝트 실행이 되어서 급하게 개발을 진행했다. 개발은 아직 끝나지 않은 현재 진행형이고,, 중간에 프로젝트를 한번 정리할 마음에 이것도 해결을 해야겠단 생각이 들어서 열심히 찾아본 결과,, 특별한 것을 얻지는 못했다. 그러다가,, 너무 정보가 없어서 해외 질문 사이트,,.도 들여다보다가 ㅏㅜㅜㅜㅜㅜㅜㅜ 찾았잖아ㅠㅠㅠㅠㅠㅠ Application.java 파일 외에 다른 파일에 Main 함수가 있었어서 어떤걸 실행할지 묻는거였어,,. 난 바보인가,,.. 초반에 이것저것 테스트 한다고 만들어두었던 Main..

Java 2022.06.03

java 한글, 숫자, 영문자 정규식 참고

String pattern1 = "^[a-zA-Z]*$"; // 영문자 String pattern2 = "^[가-힣]*$"; //한글 boolean regex1 = Pattern.matches(".*[ㄱ-ㅎㅏ-ㅣ가-힣|a-z|A-Z|]+.*", value); boolean regex2 = Pattern.matches(pattern2, value); System.out.println("regex1 : " + regex1); System.out.println("regex2 : " + regex2); 참고 사이트 https://coding-factory.tistory.com/529 [Java] 자바 정규 표현식 (Pattern, Matcher) 사용법 & 예제 정규표현식(Regular Expression)이..

Java 2022.01.19
728x90
반응형
LIST