안녕
-
스레드(3) Timer 클래스 / wait프로그래밍/JAVA 자바 2021. 9. 7.
package threadEx2; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class Ex001_Timer { public static void main(String[] args) { new MyTimer(); } } class MyTimer { public MyTimer() { // TimerTask : 타이머에 의해 1회 또는 반복 실행하도록 태스크되는 스케줄 TimerTask task = new TimerTask() { @Override public void run() { printTimes(); } }; // Timer : 스케줄 // 단점 : ..
-
Thread 스레드 (2) / synchronized프로그래밍/JAVA 자바 2021. 9. 6.
synchronized = 동기화 스레드간 동기화를 하지 않고, 멀티 스레드를 돌리면 안정성과 신뢰성이 바닥이다. 그렇다고 synchronized를 너무 많이 쓰면 프로그램의 성능 저하가 일어난다. synchronized 란? 여러개의 스레드가 한개의 자원을 사용할때 현재 사용되고 있는 스레드를 제외하고, 나머지 스레드들은 데이터에 접근 할 수 없도록 막는 개념 package threadEx2; public class Ex002_Synchronized { public static void main(String[] args) { MyBank2 b = new MyBank2(); Thread t1 = new Thread(b); Thread t2 = new Thread(b); t1.start(); t2.star..
-
프로세스, 쓰레드 Thread프로그래밍/JAVA 자바 2021. 9. 5.
간단히 말하자면 동작하고 있는 프로그램 => 프로세스 프로세스는 보통 한개의 작업을 함. 그러나 쓰레드를 이용하면 하나의 프로세스에서 두가지 이상의 일을 동시에 할 수 있음. 멀티 태스킹 생각하면 이해가 쉬움 ex) 밥을 먹으면서 핸드폰을 하는 행위도 쓰레드라 볼 수 있음. 스레드 클래스를 상속 받기 package threadEx; public class Ex001_Thread { public static void main(String[] args) { MyThread1 t = new MyThread1(); t.start(); // 스레드 시작 try { for(int i=1; i
-
데이터베이스 모델링 / 정규화(정규형)프로그래밍/DBMS 2021. 9. 2.
모델링이란 단순하게 말하자면 데이터베이스에 들어갈 내용들을 시각적으로 즉 눈으로 보기 편하게 하기 위해서 하는 것 모델링을 통해 복잡한 데이터들을 추상화 - 현실세계를 일정한 형식에 맞춰 표현 단순화 - 현실세계를 약속된 규약에 의한 표기법이나 언어로 표현해서 좀 더 이해하기 쉽게 명확화 - 누구나 이해하기 쉽게 애매모호한 것들을 제거 를 해야한다. 쉽게 말하자면 일반인한테도 이러이러해서~ 뭘 할거에요~ 설명했을때 이해 할 수 있도록 DB를 풀어서 표현하는거라 보면 된다. 모델링의 3가지 종류 ! 개념적 모델링 쉽게 말하자면 ER 다이어그램을 그려서 눈으로 보기 편하게 한다는것 예를 들면 이런식으로 다이어그램으로 표시하면 한눈에 뭘 하고자 하는지 알 수 있다. 논리적 모델링 ER다이어그램을 사용해서 관계..
-
자바DB / CallableStatement프로그래밍/JAVA 자바 2021. 9. 2.
CallableStatement 간단히 말해서 오라클에서 시퀀스를 만들고 그걸 자바에서 불러온다고 생각하면 된다. 시퀀스는 쿼리문을 편하게 미리 작성해 놓는거니까 자바에서도 단순히 불러오기만 하면 된다. 예제 분석을 위해 오라클에 미리 테이블과 시퀀스를 작성해두자. 이대로 score 테이블 먼저 작성 이후에 프로시저 작성 -- 프로시저 만들기 CREATE OR REPLACE PROCEDURE insertScore( pHak IN score.hak%TYPE, pName IN score.name%TYPE, pBirth IN score.birth%TYPE, pKor IN score.kor%TYPE, pEng IN score.eng%TYPE, pMat IN score.mat%TYPE ) IS BEGIN INSE..
-
자바DB연동 / PreparedStatement 활용 예제프로그래밍/JAVA 자바 2021. 8. 30.
PreparedStatement = 단순하게 보자면 Statement보다 좋다고 생각하면 된다. (Statement 거의 잘 안씀) = PreparedStatement의 특징은 전처리를 하는게 특징인데 이게 뭐냐면 미리 읽어 들인다는거다. Statementet는 실행 할때마다 전체를 전부 다시 읽어야 하는데 PreparedStatement는 그럴 필요가 없이 전처리를 해놔서 나중에 또 다시 읽을때는 바뀐 부분만 읽으면 된다는 것 속도감에서 차이가 크다. 바로 예제문을 보면서 해석 해보자. 예제 문제 내용 package db.member; import java.sql.SQLException; import java.util.List; public interface MemberDAO { public int i..
-
입출력 스트림 마무리프로그래밍/JAVA 자바 2021. 8. 29.
PrintWriter = 바이트가 아닌 문자를 출력할때 사용한다. package ioEx3; import java.io.PrintWriter; public class Ex013_PrintWirter { public static void main(String[] args) { // PrintWriter : 바이트가 아닌 문자를 출력할 때 사용 PrintWriter pw = new PrintWriter(System.out); pw.print("자바"); pw.print("오라클"); pw.println("ㅁㅇㄴㄴ"); pw.flush(); // true 옵션을 주면 flush()를 호출하거나 println()을 호출하면 출력 PrintWriter pw2 = new PrintWriter(System.out, ..