개발기술/Java (17) 썸네일형 리스트형 Java 리플렉션, 제네릭 Class클래스 자체도 객체로 표현한 것으로, 특정 타입(T)의 Class 객체를 의미해요. 해당 클래스의 정의(필드, 메서드 등)에 대한 정보를 담은 객체를 반환합니다.Class clazz = String.class;System.out.println(clazz.getName()); // java.lang.StringSystem.out.println(clazz.getDeclaredFields()); // 필드 정보들 리플렉션클래스, 필드, 메서드, 생성자 등의 정보를 런타임에 동적으로 조회하거나 조작할 수 있게 해주는 기능즉, Java에서 "클래스나 메서드 등의 정보를 코드로 다루는 기능"이에요.이 모든 건 Class 객체를 통해 시작됨정적(static) 인스턴스 생성 방식컴파일 타임에 타입이 명확히 정.. Java Blocking I/O vs non-Blocking I/O 1.. JDBC (Database Access)java복사편집String name = jdbcTemplate.queryForObject("SELECT name FROM users WHERE id = ?", String.class, 1); 🔒 Blocking behavior:The current thread sends the SQL query over the network to the DBThe thread waits (blocks) until the DB returns a responseNo other work happens on that thread until the DB reply is received📌 JDBC is a blocking API, always🔸 2. RestTemplate (HT.. Java 코딩구현 - Java New I/O System java.nio = New I/OIt was introduced to improve performance, scalability, and flexibility in Java I/O operations.Here’s what it covers:Featurejava.io (Old I/O)java.nio (New I/O)📚 StyleStream-basedBuffer & channel-based📁 File handlingFilePath, Files🔁 I/O typeBlocking onlyBlocking & Non-blocking⚙️ PerformanceGood for simple tasksBetter for large data or high load📂 Directory walkManualBuilt-in (.. Exception Handling & Logging 예외처리예외 처리(Exception Handling) 는 프로그램 실행 중에 발생할 수 있는 예외적인 상황을 적절하게 처리하기 위한 프로그래밍 기법입니다. Exception 종류Throwable├── Error (Not usually caught by applications)│ ├── LinkageError (Errors related to linking problems with classes)│ │ ├── NoClassDefFoundError│ │ └── ExceptionInInitializerError│ ├── VirtualMachineError (Errors produced by the JVM making continuation impossible)│ │ ├── Out.. Java의 메모리 영역과 static의 의미 Java는 실행 중에 프로그램의 데이터를 저장하고 관리하기 위해 JVM(Java Virtual Machine) 내부에서 여러 메모리 영역으로 나누어 관리합니다. 주요 메모리 영역은 다음과 같습니다:1. 메모리 영역의 구성Method Area (메서드 영역):클래스 로더(Class Loader)에 의해 로드된 클래스와 관련된 메타데이터, static 변수, 상수, 메서드 코드, 클래스 정보 등이 저장됩니다.특징:모든 스레드가 공유.클래스 수준의 데이터를 저장하므로, 클래스가 한 번 로드되면 해당 데이터는 프로그램 종료 시까지 유지.Heap (힙 영역):모든 객체와 배열이 저장되는 영역.JVM의 Garbage Collector에 의해 관리되며, 참조되지 않는 객체는 자동으로 제거됩니다.특징:모든 스레드가 공.. Java 코딩구현 심화 : 스트림,람다식 특수 클래스 : Inner Class내부클래스 : 클래스 in 클래스 (클래스 안에 선언한 클래스) 내부클래스의 종류 : 정적 클래스 (static)OuterClass는정적(static)이 될 수 없습니다. 때문에 정적클래스는 내부클래스만을 지칭합니다외부 클래스와 논리적 관계만 있음, 독립 사용 가능외부에서 직접생성가능 내부클래스의 종류 : 인스턴스 내부 클래스 (non-static)외부 클래스의 인스턴스에 종속적인 내부 클래스입니다. 이러한 클래스는 외부 클래스의 인스턴스가 생성된 후에야 인스턴스화 될 수 있으며, 외부 클래스의 인스턴스 변수 및 메소드에 직접적으로 접근할 수 있는 권한을 가집니다. 주로 외부클래스 인스턴스의 필드멤버처럼 다루어지며, 인스턴스멤버들과의 작업을 위해 만들어짐.외부 .. Java 멀티쓰레드 쓰레드 개념정립 스레드는 어떻게 생성되는가? 자바에서는 모든 것과 마찬가지로 스레드도 객체로 다룬다. 자바는 실행 시점에 `main` 이라는 이름의 스레드를 만들고 프로그램의 시작점인 `main()` 메서드를 실행한다. 스레드를 생성하는 코드는 새로운 스레드 객체를 생성한 후 , 스레드 인스턴스의 start() 메서드를 시작한다. 그러면, JVM이 OS system call을 통해 새로운 스레드를 위한 별도의 스택 공간을 할당한다. 새로운 스레드는 이어서 스레드 인스턴스 내에 정의되어 있는 작업인 `run()` 메서드를 실행하여 정의된 작업을 실행한다. 여기까지가 스레드의 start() 동작이다. main 스레드는 새로운 스레드의 start() 메소드를 동작 완료 후 새로운 스레드의 생성을 기다리.. 웹 스크래핑 Jsoup 스크래핑 활용분야 여러 쇼핑몰의 데이터를 스크래핑해서 쇼핑몰간의 가격비교사이트, 특정 카테고리에 해당하는 아이템 모아서 한번에 보여주는 사이트, 여러회사의 취업공고를 모아서 보여주는 사이트, 업무 자동화, 핀테크 회사에서 사용자대신 공공데이터를 스크래핑 후 서류제출과정 대신하여 간편화, 무궁무진한 활용가능함 스크래핑 정책 main페이지의 robot.txt(https://finance.yahoo.com/robots.txt)을 조회하면 해당 사이트의 스크래핑 정책을 확인할 수 있다. 스크래핑을 허용한다고하여도 해당 사이트에 부하가 걸리지 않는 정도에서 운영하여야한다. 스크래핑 Jsoup library는 beautiful Soup의 java버전으로 해당 라이브러리를 사용한다.개발자는 자신의 서비스가 의.. 이전 1 2 3 다음 목록 더보기