JVM/Java33 [Java] StartsWith/EndWith : 문자열의 시작/끝 부분과 특정 문자열이 일치하는지 확인하기 [Java] StartsWith/EndWith : 문자열의 시작/끝 부분과 특정 문자열이 일치하는지 확인하기 String.StartsWith 메서드 - 문자열 인스턴스의 시작 부분과 지정한 문자열이 일치하는지를 확인한다. String str = "오늘은 날씨가 추워요, 따뜻하게 입어야해요"; String value1 = "오늘"; String value2 = "날씨"; boolean bool1 = str.StartsWith(value1);// true boolean bool2 = str.StartWith(value2);// false 매개변수(value) - String : 인스턴스의 시작 부분에 있는 부분 문자열과 비교할 문자열 반환 - Boolean : 인스턴스의 시작과 일치하면 true, 그러지 않.. JVM/Java 2019. 12. 30. [Error] (Java 버전 중복) could not open `C:\java\lib\amd64\jvm.cfg' 에러 레즈스트리 수정하여 해결하기 [Error] (Java 버전 중복) could not open `C:\java\lib\amd64\jvm.cfg' 에러 레즈스트리 수정하여 해결하기 최근 전자정부 프레임워크를 3.6.0에서 3.8.0으로 업그레이드 하면서 자바버전도 같이 업그레이드 했다.. Spring Boot 기반의 jetty Server 프로젝트를 만들고, 실행도 잘 되는 것을 확인한 후 jar 파일을 만드려 Gradle Build를 하던 중 자바 경로에 대한 에러로 인해 애썼다. [Error] 이클립스 Springboot Gradle Task :compile.Java Error [Error] 이클립스 Springboot Gradle Task :compile.Java Error 분명 실행은 잘 됐는데 Gradle 빌드에서 에러가 나는.. JVM/Java 2019. 11. 5. [Error] Springboot Gradle Task :compile.Java Error (자바 경로를 찾지 못하는 현상) [Error] Springboot Gradle Task :compile.Java Error (자바 경로를 찾지 못하는 현상) 분명 실행은 잘 됐는데 Gradle 빌드에서 에러가 나는 순간 언제나 한숨.. 컴파일 에러가 나면 원인 찾기가 왜이렇게 어려운건지.. 이 에러를 잡기 위해 많은 시도를 해봤기 때문에 모든 자료를 남기려한다. 1. 에러 로그 Execution failed for task ':compileJava'. > Could not find tools.jar. Please check that C:\java contains a valid JDK installation. - Gradle Executions - Console에 찍힌 Error Log 2. 원인 - 원인 : 이클립스 Java 경로 설정.. JVM/Java 2019. 11. 4. [Error] DB Connection 종료 에러 해결: No operations allowed after statement closed [Error] DB Connection 에러 해결: No operations allowed after statement closed JSP를 MySQL과 연동하여 잘 구동되던 페이지를 다음날, 처음으로 들어갈 때마다 아래와 같은 오류가 발생했다. Cause: java.sql.SQLException: No operations allowed after statement closed. ; SQL []; No operations allowed after statement closed.; nested exception is java.sql.SQLException: No operations allowed after statement closed. 이는 Statement 객체를 close 한 후에 그 Statemen.. JVM/Java 2019. 10. 24. [Java] StringBuffer append("a"+"b") 메모리는 어떻게 할당될까? Java는 C언어처럼 포인터가 없어 메모리의 주소와 해당 값을 함께 볼 수 없는 단점이 너무 너무 너무~ 크다 ! Java 문서나 많은 글을 읽어도 메모리의 구조가 어떻게 어떤 흐름으로 돌아가는 지 내가 알고 있는 이 답이 확실한가에 대한 의문도 많이 든다. StringBuffer의 append 메소드를 사용할 때, 어떤 식으로 값이 메모리에 할당되고 흘러가는 지 내가 이해한 바를 정리하고자 한다. StringBuffer sb = nes StringBuffer(); sb.append("a"); sb.append("b"); 단순 참조를 위한 문자열은 String 클래스, 연산이 많은 경우는 가변적으로 문자열을 저장하고 관리하는 StringBuffer 클래스를 사용한다. String 과 StringBuffe.. JVM/Java 2019. 8. 1. [Java] String, StringBuffer, StringBuilder의 차이점 스윽 차이점 String 과 StringBuffer(StringBuilder), 두 클래스 모두 문자열을 담고 연산하는 것인데 차이가 뭐지? 성능이 어떻게 다르지? 궁금했던 분들에게 그 차이점을 스윽 정리해드리고자 한다! 아래 표를 보면 된다 ! String StringBuffer StringBuilder 문자열을 저장하고 관리하는 클래스 immutable (불변) mutable (가변) new 연산을 통해 생성되면 그 인스턴스의 메모리 공간은 절대 변하지 않는다. 문자열 연산을 했을 때, 메모리 공간이 변하는 것이 아닌 새로운 String 객체를 만드는 것이다. 문자열 연산에 있어서 new로 객체 생성을 한번 한 후, 연산이 필요할 때 크기를 변경시켜 문자열을 변경한다 동기화(Synchronized)를 지원.. JVM/Java 2019. 7. 30. [Java] String과 new String 차이 String 문자열 생성 방식 String str1 = new String("Hello"); String str2 = "Hello"; String str3 = "Hello"; 1. new 이용한 문자열 생성 2. 문자열 리터럴 생성 두 방식의 차이점 두 방식의 가장 큰 차이점은 메모리 영역에 있다. new 연산자를 통해 String을 생성하면 Heap 영역에 존재하게 되고, 리터럴을 이용할 경우 string constant pool이라는 영역에 존재하게 된다. (아래 그림 참고) 똑같은 "Hello" 문자열을 사용하는 데 변수 str2 와 str3은 같은 객체를 바라보지만 new String으로 생성한 str1은 다른 메모리 주소의 객체를 바라보는 것이다. 문자열을 비교해보면, String str1 = .. JVM/Java 2019. 7. 30. [Java] JAXB 활용한 Java 객체의 XML 변환 방법 JAXB 란? 위키백과를 보면 JAXB를 다음과 같이 정의한다. JAXB(Java Architecture for XML Binding) 란 자바 클래스를 XML로 표현하는 자바 API이다. JAXB는 주로 2가지 기능이 있다. 자바 객체를 XML로 직렬화하는 것이고 반대로 XML에서 자바 객체로 역직렬화하는 것이다. 즉, JAXB는 메모리의 데이터를 XML 형식으로 변환하여 저장할 수 있고, 이 과정을 위해 프로그램의 각 클래스에서 XML을 읽고 저장하는 일을 구현해야 한다. 변환에 필요한 로직만 정리해보겠다. VO 객체 설정 xml element로 사용할 객체에 @XmlRootElement 어노테이션을 등록한다. @XmlRootElement(name="linkXmlVO") @XmlAccessorType.. JVM/Java 2019. 7. 9. [Java] 개발자라면 꼭 필요한 로그관리! Logger 사용 및 log4j2.xml 설정 방법 개발자라면 꼭 필요한 로그관리, 사용방법과 설정방법을 함께 뽀개보자 ! 사용 방법 먼저 사용방법은 간단하다. 로깅 라이브러리는 slf4j 을 사용하여 내가 로그를 남길 클래스에 선언을 해주고 메소드 내에서 사용하면 된다. public class MainController(){ private final Logger LOGGER = LoggerFactory.getLogger(MainController.class.getName()); public void moveMainPage(){ LOGGER.info("Hello world!"); } } 그럼 다음과 같이 콘솔창에 찍힐 것이다. 참고로 로그 레벨은 TRACE > DEBUG > INFO > WARN > ERROR 이다. 자바를 처음 시작했을 때 System... JVM/Java 2019. 6. 22. 이전 1 2 3 다음 추천 글 728x90 반응형