반응형

JAVA_기초 공부 13

[JAVA] 페이징 처리 방법

Paging1 전통적인 페이징 처리 방법 private int page; //현재 페이지 번호 private int start, end; //시작, 끝 페이지 private boolean prev, next; //이전, 다음 private int total; //전체 데이터의 수 public Paging(int page, int total) { this.page = page; this.total = total; //주소창에 음수 값을 입력했을 때 제대로 나오도록 하는 식 page = page total ? (int)(Math.ceil(total/10.0)):page; System.out.println("page: "+page); //그 장의 마지막 페이지 int tempEnd = (int)(Math.ce..

JAVA_기초 공부 2023.02.21

[JAVA] Comparable / Comparator

Comparable java.lang 기본 정렬기준을 구현하는데 사용한다. 주로 Integer와 같은 warpper클래스와 String, Date, File과 같은 것... 기본적으로 오름차순으로 정렬되도록 구현되어 있다 public int compareTo(T o) public final class Integer extends Number implements Comparable Comparator java.util 기본 정렬기준 외에 다른 기준으로 정렬하고자할 때 사용한다. public int compare(T o1, T o2) public boolean equals(Object obj) ----> Comparable과 Comparator는 인터페이스(interface)로, 객체을 정렬하는데 필요한 메..

JAVA_기초 공부 2023.02.19

[JAVA] DAO 와 DTO

DAO(Data Access Object) 데이터베이스의 데이터에 접근하여 데이터의 조회 및 조작하는 기능을 전담하는 오브젝트로, DB에 접속하여 데이터의 CRUD(생성, 읽기, 갱신, 삭제) 작업을 시행하는 클래스 데이터베이스에 접근하기 위한 로직(DAO)과 비즈니스 로직(Service)을 분리하기 위해 사용한다. 코드의 간결화 및 모듈화, 유지보수 등을 위해 DAO 클래스를 사용한다. DTO(Data Transfer Object) 계층 간 데이터 교환을 위한 객체(Java Beans)로 DB에서 데이터를 얻어 Service나 Controller 등으터 보낼 때 사용하는 객체 DTO는 VO(Value Object)와 용어를 혼용해서 많이 사용하는데, VO는 읽기만 가능한 read only 속성을 가져,..

JAVA_기초 공부 2023.02.17

GC(Garbage Collector)에 대하여

자바 애플리케이션은 JVM(Java Virtual Machine) 위에서 작동하는데, JVM이 작동할 때 메모리 구조와 GC는 애플리케이션의 응답 시간과 성능에 영향을 미친다. GC GC(Garbage Collection) 자바 애플리케이션에서 사용하지 않는 메모리를 자동으로 수거하는 기능. 메모리를 할당하고 직접 해제 해야하는 C언어 등과 달리 개발자들이 신경쓰지 않고 자바 GC를 이용하게 된다. JVM 메모리 영역 Permanent Generation : Class, Method 등의 코드가 저장되는 영역. JVM에 의해서 사용. 생성된 객체 정보의 주소가 저장된 공간 Young Generation : 자바 객체가 생성되자마자 저장되고 생긴지 얼마 안 된 객체가 저장되는 곳. 자바 객체가 생성되면 이..

JAVA_기초 공부 2023.02.17

[JAVA] 멀티쓰레딩이란

프로세스(process) : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램, 활성 프로그램 쓰레드(thread) : 어떠한 프로그램, 프로세스 내에서 실행되는 흐름의 단위 멀티스레딩 CPU 시간을 최대한 활용하기 위해 CPU가 여러 스레드를 동시에 독립적으로 실행하며, 동시에 프로세스 리소스를 공유하는 기능. 특정 프로그램을 둘 이상의 스레드로 세분화하여 프로그램을 빠르고 쉽게 실행할 수 있는 Java 기능. 장점 단일 스레드에서 예외가 발생하면 스레드가 독립적이므로 다른 스레드에 영향을 미치지 않아, 일부가 차단된 경우에도 프로그램이 계속 실행될 수 있다. 여러 프로세스를 사용하는 기존 병렬 프로그램에 비해 성능을 높일 수 있다. CPU 시간을 효과적으로 활용할 수 있다. 복잡한 응용 프로그램이나..

JAVA_기초 공부 2023.02.17

[JAVA] Enum 으로 Singleton만들기

싱글톤(Singleton) 최초 한번만 인스턴스를 생성하여 사용하는 디자인패턴. 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이므로 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환한다. public enum Singleton { INSTANCE; private String name; private Singleton(String name) { this.name = name; } public Singleton getInstance() { return INSTANCE; } } thread safe 스레드 관련된 코드가 없어져서 간단해진다. Serialization을 스스로 해결.

JAVA_기초 공부 2023.02.17

[JAVA] try-catch-finally / try with resources

try-catch-finally //서버 소켓 준비 ServerSocket serverSocket = new ServerSocket(5555); for (int i = 0; i < 100; i++) { Socket client = null; InputStream fin = null; OutputStream out = null; try{ //연결 받기 client = serverSocket.accept(); System.out.println(client); //파일 InputStream 연결 fin = new FileInputStream("C:\\파일위치"); //OutputStream 뽑기 out = client.getOutputStream(); //읽고 쓰기 byte[] buffer = new byte..

JAVA_기초 공부 2023.02.17

[JAVA] Override / Overloading

Overridding 상속의 개념 부모클래스에 있는 메소드나 변수를 extends를 통해 부모클래스에 있는 메소드를 쓸 수 있는 기능 목적 : 유연한 코드를 만들기 위하여../ 확장성을 위하여../ 재사용을 하기 위해.. 부모 클래스가 정의한 리턴 타입, 메소드 명, 매개변수 패턴 모두 동일한 함수를 덮어씌워 다시 정의하여 사용. 그러나 오버라이드를 한다고 부모 클래스의 기능이 사라지는 것은 아님. 부모 클래스의 메소드를 사용할 수 있어도 자식 클래스에서 변경해야 할 상황이 발생한다면 오버라이드를 통해 자식 클래스에서만 새로운 기능으로 재정의할 수 있다. static 메소드는 클래스에 속하므로 오버라이드/상속이 되지 않음. final 이 지정된 메소드는 오버라이드 할 수 없음. interface를 구현하..

JAVA_기초 공부 2023.02.15
반응형