목록전체 글 (161)
Jun's Development Journey

1. 다운로드 사이트 접속 https://dev.mysql.com/downloads/connector/j/ MySQL :: Download Connector/J MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL Connector/J 8.0. dev.mysql.com 2. Platform Independent 선택 후 둘 중 아무거나 다운로드 3. 적절한 위치에 압축 풀고 저장한다. 4. 우측 상단에 Project Structure를 누른다. 5. Libraries > "+" 추가 버튼 선택 > Java 선택 6. 본인이 connector 압축 파일을 저장한..

1. MySQL 설치 1) 설치 페이지에 가서 다운받는다. https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86 dev.mysql.com Go To Download P..

1. 중첩 클래스 및 중첩 인터페이스 - 클래스 내부에 선언한 클래스를 말하는데, 중첩 클래스를 사용하면 두 클래스의 멤버들을 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다. - 클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나, 특정 클래스와 관계를 맺을 경우엔 관계 클래스를 내부에 선언하는 것이 좋다. - 클래스 내부에 선언되는 인터페이스를 중첩 인터페이스라고 한다. 인터페이스를 내부에 선언하는 이유는 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위함이다. - 중첩 인터페이스는 주로 UI 프로그래밍에서 이벤트 처리 목적으로 많이 활용된다. 1) 중첩 클래스 - 중첩 클래스는 클래스 내부에 선언되는 위치..

1. 인터페이스 역할 및 사용 이유 1-1) 역할 - 객체의 사용 방법을 정의한 타입이다. 인터페이스는 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 한다. - 자바 8의 람다식은 함수적 인터페이스의 구현 객체를 생성하기 때문에 더욱 중요해졌다. - 인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할을 한다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다. 그렇기 때문에 개발 코드는 객체의 내부 구조를 알 필요가 없고, 인터페이스의 메소드만 알면 된다. 1-2) 사용 이유 - 개발 코드가 직접 객체의 메소드를 호출하면 간단한데 왜 중간에 인터페이스를 두냐면, 개발 코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 하기 위함이다. - 인터..

1. 스레드 그룹 - 관련된 스레드를 묶어서 관리할 목적으로 이용된다. - JVM이 실행되면 system 스레드 그룹을 만들고, JVM 운영에 필요한 스레드들을 생성해서 system 스레드 그룹에 포함시킨다. 그리고 system의 하위 스레드 그룹으로 main을 만들고, 메인 스레드를 main 스레드 그룹에 포함시킨다. - 스레드는 반드시 하나의 스레드 그룹에 포함되는데, 명시적으로 스레드 그룹에 포함시키지 않으면 기본적으로 자신을 생성한 스레드와 같은 그룹에 속하게 된다. - ex - Finalizer 스레드를 비롯한 일부 스레드들이 system 그룹에 속하고, main 스레드는 system 그룹의 하위 그룹인 main에 속해있다. - main 스레드가 실행시킨 AutoSaveThread는 main 스..

1. 메인 스레드 - 모든 자바 어플리케이션은 메인 스레드가 main() 메소드를 실행하면서 시작된다. - main() 메소드의 첫 코드부터 순차적으로 실행하고, 마지막 코드를 실행하거나 return문을 만나면 실행이 종료된다.ss 2. 스레드 우선순위 - 멀티 스레드는 동시성과 병렬성으로 실행되기 때문에 이 용어들에 대해 정확히 이해하는 것이 중요하다. - 동시성은 멀티 작업을 위해 하나의 코어에서 멀티 스레드가 번갈아가며 실행하는 성질이다. - 병렬성은 멀티 작업을 위해 멀티 코어에서 개별 스레드를 동시에 실행하는 성질이다. - 싱글 코어 CPU를 이용한 멀티 스레드 작업은 병렬적으로 실행되는 것처럼 보이지만, 사실은 번갈아가며 실행하는 동시성 작업이다. 번갈아 실행하는 것이 워낙 빠르다보니 병렬성으..

1. 스트림 - 데이터를 운반하는데 사용되는 연결통로 - 입력 스트림, 출력 스트림 총 2개의 스트림이 필요하다. 1-1) 바이트 기반 스트림(InputStream, OutputStream) - 모든 바이트 기반 스트림의 조상 - 대표적 메소드 1) InputStream - read() : 1 바이트를 읽어온다. 더 이상 읽어올 데이터가 없다면 -1을 반환한다. - close() : 스트림을 닫음으로써 사용하고 있던 자원을 반환한다. 2) OutputStream - write(int b) : 주어진 값을 출력소스에 쓴다. - flush() : 스트림의 버퍼에 있는 모든 내용을 출력소스에 쓴다. - close() : 입력소스를 닫음으로써 사용하던 자원을 반환한다. 1-1-1) ByteArrayInputSt..

1. 다른 생성자 호출 - 생성자 오버로딩이 많아질 경우 생성자 간의 중복된 코드가 발생할 수 있다. - 이 경우엔 필드 초기화 내용은 한 생성자에만 집중적으로 작성하고, 나머지 생성자는 초기화 내용을 가지고 있는 생성자를 호출하는 방식으로 개선할 수 있다. ex) 2. 정적 멤버와 static - 클래스에 고정된 멤버로서, 객체를 생성하지 않고 사용할 수 있는 필드와 메소드이다. - 필드 및 메소드 선언 시 static 키워드를 추가적으로 붙여주면 된다. - 정적 필드 및 메소드는 클래스에 고정된 멤버이기에 클래스별로 관리된다. - 인스턴스 필드, 정적필드 중 어느 것으로 선언할 것인가는 객체마다 가지고 있어야 하는 멤버는 인스턴스, 공용적인 데이터면 정적 필드로 선언하는 것이 좋다. - 예를 들어 원..