본문 바로가기

자바 웹 개발자가 될거야/JAVA

(38)
[JavaGUI] Window Builder 설치 / 실행 - GUI를 클릭을 통해서 구현 - Window Builder 구현하려면 클래스가 JFrame을 상속받아야한다 - JFrame 구조 ① Window Builder 설치 https://download.eclipse.org/windowbuilder/ Project download area | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, including runtimes, tools and frameworks. download.eclipse.org - 링크로 들어감 - lat..
[JDBC] 이클립스와 DB 연결 후 데이터 조회, 삽입 - 이클립스에서 DB를 연결하여 동작해볼거다 - MySQL에서 데이터베이스와 테이블을 먼저 생성해보았다 ① DB 테이블 생성 create database javadb create table student(name varchar(10) not null, dept varchar(20) not null, id char(7) not null, primary key(id)); - insert문 이용해서 테이블 안에 데이터 값들도 넣었다 - select문 이용해서 데이터가 잘 들어갔는지 확인 (컬럼 순서 다르게 배치했음) ② DB 연결 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; pu..
[JDBC] JAVA와 DB연결 - mysql connector의 jar 파일을 아래 위치에 붙여 넣어준다 ① DB 연결 설정 - JDBC 드라이버 로드 public class JdbcEx1 { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch(ClassNotFoundException e) { e.printStackTrace(); } } } · Class.forName()은 동적으로 자바 클래스 로딩 · MySQL의 JDBC 드라이버 클래스인 com.mysql.jdbc.Driver 로드 · 드라이버 클래스 이름은 DB의 드라이버마다 다를 수 있으므로 드라이버 문서 참조하길 · 해당 드라이버가 없으면 ClassNotFo..
[JAVA] 주사위 게임 / 엔터로 주사위 굴리기 JAVA 언어를 이용해서 주사위 게임을 만들어보겠다. 게임방식은 엔터치면 주사위 결과가 나오고 3개의 주사위가 똑같은 숫자가 나오면 게임 종료하는 것이다. - nextLine() 이용해서 입력받기 import java.util.Scanner; public class DiceGame{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("주사위 게임 시작합니다. enter를 쳐주세요"); while(true){ System.out.println("첫번째 주사위를 굴립니다. 게임 종료는 exit 입력하세요."); String word = sc.nextLine(); if(word.equals..
[JAVA] 데몬스레드 - 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드 - 메인 스레드 종료하면 데몬 스레드도 같이 종료 ① setDamon(true) - 데몬 스레드로 만들기 위해서 주 스레드가 데몬이 될 스레드를 호출하면 된다 - start() 메소드 호출 전에 setDamon(true)를 호출해야 한다 ② 예제 - 1초 주기로 save() 메소드 자동 호출하도록 AutoSaveThread 작성하고 - 메인 스레드가 3초 후 종료되면 AutoSaveThread도 같이 종료되도록 데몬 스레드를 만듦 public class DemonExample { public static void main(String[] args) { AutoSaveThread autoSaveThread = new AutoS..
[JAVA] 동기화 메소드 / synchronized - 멀티 스레드 프로그램에서 단 하나의 스레드만 실행할 수 있도록 임계 영역을 지정한 것을 말한다 - 사용 중인 객체를 다른 메소드가 변경할 수 없게 함 ① synchronized - 동기화 메소드를 만들려면 synchronized 키워드 붙이면 됨- 인스턴스와 정적 메소드 어디든 붙일 수 있음 public synchronized void method(){ 임계영역 // 단 하나의 스레드만 실행 } - 스레드가 동기화 메소드를 실행하는 즉시 객체 잠금일어나고 스레드가 동기화 메소드 실행 종료하면 잠금 풀림 - 동기화 메소드가 여러 개일 경우, 한 스레드 실행할 때 다른 동기화 메소드 실행할 수 없지만 일반 메소드는 실행 가능 ② 예제 - 동기화하지 않으면 객체가 공유되면서 결과값이 ..
[JAVA] 멀티스레드 / 멀티스레드로 구구단 구현 - 하나의 프로세스가 두 가지 이상의 작업을 처리하는 것 - 스레드란 ? 프로세스 내부에서 코드의 실행 흐름을 말함 - 하나의 프로그램 안에 여러 개의 스레드를 둘 수 있음 - 메인 메서드도 하나의 스레드로 취급 - 하나의 스레드가 예외를 발생시키면 프로세스 자체가 종료될 수 있어 다른 스레드에 영향을 미침 ① 멀티 프로세스와 멀티 스레드 차이 - 멀티 프로세스 · 자신의 메모리를 가지고 실행하므로 서로 독립적 · ex) 엑셀과 한글 프로그램을 동시에 사용하는 것 - 멀티 스레드 · 하나의 프로세스 내부에 생성되므로 서로 독립적이지 않음 · ex) 메신저 프로그램 안에서 채팅기능과 동시에 파일 전송 기능 수행 ② 스레드를 만드는 방법 - Runnable(인터페이스)로 만듦 · void ..
[JAVA] Scanner 클래스 / File 클래스 / 멀티 스레드 ① Scanner 클래스 - Scanner 클래스는 입출력 스트림도 아니고, 보조 스트림도 아님 - nextLine() 메서드 제공 public class Product { private int pno; private String name; private int price; private int stock; public int getPno() { return pno; } public void setPno(int pno) { this.pno = pno; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return..