public class Singleton { private static final Singleton getInstance = new Singleton(); public static Singleton getInstance(){ return getInstance; } private Singleton() {} } public class Main { public static void main(String[] args) { Singleton singleton1 = Singleton.getInstance(); Singleton singleton2 = Singleton.getInstance(); if(singleton1 == singleton2){ System.out.println("같음"); } else{ Syst..
분류 전체보기
import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); public static void testCase(int caseIndex) { SudokuBoard board = new SudokuBoard(); int index = scanner.nextInt(); // 칸의 번호로 행, 열, 그룹 번호를 계산한다 int row = board.getRowByIndex(index); int col = board.getColByIndex(index); int group= board.getGroupByIndex(index)..
제품을 추상화 한 Product 인터페이스 public interface Product { void use(); } 제품 중 하나인 IDCard 클래스 public class IDCard implements Product{ private final String owner; public IDCard(String owner) { this.owner = owner; } @Override public void use() { System.out.println(owner + "님의 카드를 사용합니다."); } } Factory 인터페이스 public interface Factory { Product createProduct(String name); } 구체적인 객체를 생성해주는 IDCardFactory public..
구조를 가지고 있는 큰 것을 구축한다 복잡한 구조를 가지는 것을 한번에 완성하는 것은 어렵다 구조를 이루는 각 부품을 하나씩 만들어 가는 방법 장점 코드 읽기 / 유지보수가 편하다 객체 생성을 깔끔하게 할 수 있다 public class Text { private String text; private Text() {} @Override public String toString() { return text; } public static class Builder{ private String title; private String content; private String [] items; public Builder setTitle(String title){ this.title = title; return t..
import java.io.*; import java.lang.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); // 1 ~ 1000 이하 int M = Integer.parseInt(st.nextToken()); // 1 ~ 100 이하 st = new StringT..
https://computerlove.tistory.com/entry/%EB%8F%99%EC%8B%9C%EC%84%B1-%EB%AC%B8%EC%A0%9C-2 동시성 문제 (2) https://computerlove.tistory.com/entry/%EB%8F%99%EC%8B%9C%EC%84%B1-%EB%AC%B8%EC%A0%9C-1 동시성 문제 (1) 강의의 예제를 통해 배워보려고 한다. mySQL이 깔려 있어야 하는 게 전제 조건이다. Stock Entity @Entity public class Stoc computerlove.tistory.com Synchronized를 활용하여 Race Condition을 해결해보았다 하지만, Synchronized를 활용해도 문제점이 생길 수 있다 자바의 sync..