본문 바로가기

프로그래밍 언어/Java

(13)
자바 코딩 규칙(Java Code Conventions) 사소하다 생각할 수 있지만 협업을 하려면 반드시 알아야하는 코딩규칙! https://myeonguni.tistory.com/1596 [코딩규칙] 자바 코딩 규칙(Java Code Conventions) [코딩 규칙] 자바코딩 규칙(Java Code Conventions) 자바 프로그래밍 언어 코딩 규칙 원문 : Oracle / Code Conventions for JavaTM Programming Language / 1999-4-20 번역 : Kwangshin's Positive Blog, Java Co.. myeonguni.tistory.com
JPA란? JPA를 사용해야 하는 이유 JPA란? Java Persistence API 자바 진영의 ORM 기술 표준 ORM이란? Object-relational mapping (객체 관계 매핑) 객체는 객체대로 설계, RDB는 RDB대로 설계 ORM 프레임워크가 중간에서 매핑 대중적인 언어에는 대부분 ORM 기술이 존재 JPA를 사용해야 하는 이유 1. 생산성 저장: jpa.persist(member) 조회: Member member = jpa.find(memberId) 수정: member.setName(“변경할 이름”) ⭐️ 삭제: jpa.remove(member) 2. 유지보수 SQL 중심적인 개발에서 객체 중심으로 개발 기존: 필드 변경시 모든 SQL 수정 JPA: 필드만 추가하면 됨, SQL은 JPA가 처리 3. 패러다임의 불일치 해..
JDBC - Unknown column in 'where clause' 에러 해결 String name = textField_name.getText(); StringBuilder sb = new StringBuilder(); String sql = sb.append("select * from goods where name = ").append(name).append(";").toString(); textField로 입력한 값을 가져와서 쿼리문을 만드는 과정에서 Unknown 'abcd' column in 'where clause' 라는 에러가 발생했다. name을 varchar 타입으로 생성했으면서 따옴표를 입력해주지 않았기 때문이다. 수정 후 ! String sql = sb.append("select * from goods where name = '").append(name).app..
[Java] 멀티스레드 프로그래밍 - 스레드간의 커뮤니케이션 두 스레드가 데이터를 교환하는 기본적인 방법 공유 영역 생성 class SharedArea { //공유 영역을 표현하는 클래스 double result; 공유 데이터를 저장할 필드 } 공유 영역을 만들 때에는 래퍼런스 타입으로 선언해야 여러 스레드가 참조값을 가지고 접근할 수 있다. 데이터 교환 타이밍 맞추기 가장 간단한 방법은 공유 영역 안에 데이터 유무를 표시하는 필드를 추가하는 것 class SharedArea { double result; boolean isReady; // 공유 데이터가 쓰여졌는지 여부를 표현하는 필드 } 원주율 파이를 계산해서 출력하는 멀티스레드 프로그램 class MultithreadExample4 { // main 메소드를 포함하는 클래스 public static void ..
[Java] 멀티스레드 프로그래밍 - Runnable 인터페이스 스레드(thread) 스레드란 프로그램의 실행 흐름을 뜻한다. 싱글 스레드(single thread program) : 스레드가 하나뿐인 프로그램 멀티스레드 프로그램(multithread program) : 스레드가 둘 이상인 프로그램 멀티스레드 프로그램의 작성 방법 java.lang.Thread 클래스를 이용하는 방법 java.lang.Runnable 인터페이스를 이용하는 방법 Runnable 인터페이스를 이용한 멀티스레드 프로그램 1. 스레드 클래스의 객체 생성 SmallLetters obj = new SmallLetters(); // Runnalbe 인터페이스를 구현하는 클래스의 객체를 생성해서 Thread 생성자의 파라미터로 사용 Thread thread = new Thread(obj); 2. 스..
[Java] 멀티스레드 프로그래밍 - Thread 클래스 스레드(thread) 스레드란 프로그램의 실행 흐름을 뜻한다. 싱글 스레드(single thread program) : 스레드가 하나뿐인 프로그램 멀티스레드 프로그램(multithread program) : 스레드가 둘 이상인 프로그램 멀티스레드 프로그램의 작성 방법 java.lang.Thread 클래스를 이용하는 방법 java.lang.Runnable 인터페이스를 이용하는 방법 Thread 클래스를 이용한 멀티스레드 프로그램 java.lang.Thread 클래스와 서브클래스들을 스레드 클래스(thread class)라고 부름 1. 스레드 클래스의 객체 생성 Thread thread = new DigitThread(); 2. 스레드 객체에 대해 start 메소드를 호출 thread.start(); pub..
[Java] GUI 프로그래밍 윈도우 프로그램 컴포턴트들이 겹쳐진 층으로 구성되는 윈도우 형태는 다음과 같다. Hello, Java 프로그램 import java.awt.*; import javax.swing.*; public class TestGUI { public static void main(String[] args) { // 프레임 생성 JFrame frame = new JFrame("GUI test"); frame.setPreferredSize(new Dimension(300,200)); //프레임에 종속된 content pane 가져오기 Container contentPane = frame.getContentPane(); //라벨 생성 JLabel label = new JLabel("Hello, Java",SwingCons..
[Java] 객체의 직렬화 serialization & 역직렬화 deserialization Serialization & Deserialization 직렬화(serialization) : 객체를 스트림으로 만드는 작업 역직렬화(deserialization) : 스트림을 객체로 만드는 작업 객체를 스트림으로 만들면 좋은점 : 객체를 통채로 입력 및 출력 할 수 있다. 객체를 직렬화하고 역직렬화하는 프로그램 직렬화 가능 클래스란, java.io.Seiralizable 인터페이스를 구현하는 클래스 1. 직렬화 가능 클래스 선언 class Goods implements java.io.Serializable { String name; int num; Goods(String name, int num) { this.name = name; this.num = num; } void addStock(int num..