본문 바로가기

개발/Spring | Java | Error8

Stream map 2022. 3. 28.
자바의 정석 - 변수의 초기화 상수(Constants) 상수는 '값이 변하지 않는 수'를 의미한다. 하지만 자바에서는 한번 그 값이 정해지면 이후로는 변경이 불가능한 변수도 상수라 한다. 변수를 선언할 때 final 이라는 선언을 추가하면 그 변수는 '상수'가 된다. 값을 딱 한 번만 할당할 수 있다. 한 번 할당된 값은 변경이 불가능하다. 상수의 이름은 모두 대문자로 짓는다. 이름이 둘 이상의 단어로 이뤄질 경우 단어 사이에 언더바를 넣는다. class Constants { public static void main(String[] args) { final int MAX_SIZE = 100; final int CONST_ASSIGEND; CONST_ASSIGEND = 12; // 할당하지 않았던 상수의 값 할당 System.out... 2022. 3. 13.
자바의 정석- 프로세스와 쓰레드 1. 프로세스와 쓰레드 프로세스란 실행 중인 프로그램 이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다. 그래서 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 멀티쓰레드 프로세스라고 한다. 쓰레드를 프로세스라는 작업공간에서 작업을 처리하는 일꾼으로 생각하면 이해하기 쉬울 것이다. 하나의 프로세스가 가질 수 있는 쓰레드의 개수는 제한되어 있지 않으나 쓰레드가 작업을 수행하는데 개별적인 메모리공간(호출스택)을 필요로 하기 때문에 프로세스의 메모리 한.. 2022. 3. 13.
java.util.Objects, java.util.Random, java.util.regex(정규식) 1. java.util.Objects Objects클래스는 모든 메서드가 'static' 입니다. 객체의 비교나 널 체크(null check)에 유용합니다. 널 체크(null check) isNull()은 해당 객체가 널인지 확인해서 null이면 true를 반환하고 아니면 false를 반환한다. nonNull()은 isNull()과 반대의 일을 합니다. 즉 !Objects.isnull(obj) 와 같습니다. null인지 확인하기 위해 isNull()메소드를 호출하고 getUserObject 객체를 매개 변수로 전달합니다. 전달 된 객체가 null이므로 true를 반환합니다. 추가로 requireNonNull()은 해당 객체가 널이 아니어냐 하는 경우에 사용합니다. 만일 객체가 널이면, NullPointe.. 2022. 3. 13.
StringBuilder와 StringBuffer 차이 📌 과제 설명 java에서는 대표적으로 3가지의 클래스를 사용하여 문자열을 조작 할 수 있습니다. String StringBuilder StringBuffer String 클래스와 마찬가지로 StringBuilder와 StringBuffer는 문자열을 변경 할 수 있는 클래스입니다. 다만 다른점은 String 은 불변(immutable) 의 속성을 갖고 있으며, StringBuilder/StringBuffer 는 가변성(mutable)을 가지고 있습니다. ❔ 가변성과 불변성이 무엇인가요? 1️⃣ 가변성(mutable) : 일정한 조건에서 변할 수 있는 성질. class MutablePerson { public int age; public int name; public MutablePerson(int ag.. 2022. 3. 13.
JAVA Object 📌 과제 설명 1. Object(객체) 탐구하기 - toString(), equals(), hashCode() 에 대해서 알아봅시다. ❔ 넌 어디서 왔니? public class StringClassExam{ public static void main(String[] args) { System.out.println("System.out.println은 어디서 왔길래 사용할수 있을까?"); } } java를 쓰면서, 콘솔출력을 많이 사용하게 되는데 출력에 대한 기능을 만들지도 않았는데, 위 코드를 치면 손쉽게 콘솔출력을 할 수 있게 됩니다. 그럼 System.out.println은 어디서 왔을까요? 해당 코드 위에 Ctrl + 마우스를 올려보면, Java의 lang 패키지를 보게 됩니다. 자세히 살펴보면 .. 2022. 3. 13.
Maven과 Gradle, Build 방법 Build Tool 선택 Maven Gradle Build란? 필요한 라이브러리를 다운받고 classpath에 추가합니다. 소스 코드를 컴파일 합니다. 테스트를 실행합니다. 컴파일된 코드를 packaing 합니다 -> jar / war / zip etc packing된 파일을 주로 artifacts라고 부르고, 서버나 레퍼지토리에 배포합니다. Build Tool은 이러한 Task들을 자동화하게 해주고 그런 Task를 기술할수 있게 도와줍니다. 그렇게 기술된 파일을 빌드 스크립트로 부릅니다. 그러면 어디에 어떻게 기술하는지가 각 도구별로 다르겠죠? Apache Maven은 XML로 기술하고 Gradle은 Groovy나 Kotlin으로 빌드 스크립트를 작성합니다. Maven Gradle은 build.grad.. 2022. 3. 13.
⚠ IntelliJ, JDBC 연결 설정 Process finished with exit code 1 뜨면서 JDBC 연결 안될 시 Connecting to database... java.sql.SQLException: No suitable driver found for jdbc:mysql://서버주소.com:3306/test at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228) at Main.main(Main.java:26) Exception in thread "main" java.lang.NullPointerException: Canno.. 2022. 3. 13.