본문 바로가기

분류 전체보기134

I/O, 표준 입출력 자바 I/OInput(입력)과 Output(출력) 약자이다. 데이터를 읽고 쓰는 기능을 말하며, 파일, 네트워크, 다른 프로그램 등 다양한 소스와 대상으로부터 데이터를 주고받는데 사용된다. Stream 스트림스트림은 데이터를 순차적으로 처리하는 일련의 연속된 데이터 요소들입니다. 자바에서 스트림은 데이터의 흐름을 읽고 쓰는데 사용되는 추상적인 개념이다. 입출력 작업을 수행할 때 데이터를 한 곳에서 다른 곳으로 이동시키는 매개체 역할을 한다.스트림은 두 가지 맥락에서 사용된다. 하나는 I/O에 관련된 데이터 흐름을 처리하는 것이다. 다른 하나는 자바 8 이후에 도입된 java.util.stream 패키지에 포함된 스트림 API이다.  java.io 패키지자바 I/O 스트림 API에는 실제로 여러 인터페이스.. 2024. 5. 20.
Data Structure(자료구조) 자료구조  자바에서는 데이터를 효율적으로 구성하고 조작하기 위한 방법을 제공하는 클래스와 인터페이스를 모아 놓았다. 이를 자료구조라고 부른다. 자료구조는 다양한 요구 사항에 맞게 설계되어 있으며 데이터를 삽입, 삭제, 검색, 정렬 등 여러 작업을 효율적으로 수행할 수 있도록 지원한다.   자료구조에는 배열, 리스트, 스택, 큐, 집합, 맵 등이 포함된다. 자료구조는 다양한 상황에서 사용될 수 있다. 프로그램 성능과 효율을 향상시키는 중요한 역할을 한다. 또한 자바 컬렉션 프레임워크(Collection Framework)는 다양한 자료구조를 표준화하여 제공하기 때문에 개발자가 더욱 쉽게 자료구조를 활용할 수 있다. ☞ 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현방법이다.☞ 자료를 높.. 2024. 5. 7.
java.lang.module.FindException Error occurred during initialization of boot layerjava.lang.module.FindException: Module tenco_swing not found 발생 상황lombok을 설치하고 이클립스 라이브러리에 연결까지 했지만 기능이 호출되지 않았다. 그래서 로컬 디스크 D에 설치한 lombok을 삭제했더니 이클립스 실행 자체를 할 수 없었다. 'eclipse.ini'에 들어가서 lombok 관련 내용을 삭제했더니 이클립스를 열 수는 있었다. 그러나 콘솔창에 출력하려고 하면 java.lang.module.FindException오류가 발생했다. 해결한 방법Properties > Java Build Path > Libraries > Classpath에서 lombok.. 2024. 5. 2.
Thread, multi-threading (스레드) 목차ThreadThread 추가로 만들어서 사용하기Thread실행시 스레드 상태(Thread Status) Thread   컴퓨터에서 다수의 사용자들을 동시에 처리할 수 있는 프로그램이 각각의 사용과 관련하여 가지고 있는 정보들.   스레드는 프로세스 내에서 실제로 작업을 수행하는 단위이다. 모든 자바 프로그램은 메인 스레드에서 시작되며, 사용자는 추가적인 스레드를 생성할 수 있다. 각 스레드는 독립적으로 실행되며, 자신만의 호출 스택을 가진다. (각 스레드의 스택 영역은 서로 격리되어 있다.) 프로세스 내의 모든 스레드는 같은 Heap 메모리 공간과 다른 자원을 공유할 수 있다.public class MyThread extends Thread{ // 메인 함수 - 메인 스레드(메인 작업자) // .. 2024. 5. 1.
Exception(예외처리) 예외처리 Exception Handling자바 프로그래밍에서 예외 처리는 프로그램 실행 중 발생할 수 있는 예상치 못한 상황(예외)을 관리하는 방법이다. 예외 처리를 통해 프로그램의 비정상적인 종료를 막고, 예외 상황을 보다 적절하게 처리하여 프로그램의 안전성과 신뢰성을 높일 수 있다.(스마트폰에서 애플리케이션을 사용할 때 자꾸 강제 종료된다면 사용하려는 이용자가 아무도 없을 것이다.) 예외처리하는 방법■ try catchtry { // 예외가 발생할 수 있는 코드} catch(ExceptionType1 e){ // ExceptionType1 예외를 처리하는 코드} catch(ExceptionType2 e){ // ExceptionType2 예외를 처리하는 코드} ■ try catch finallytry.. 2024. 4. 29.
String, StringBuffer 클래스 String 클래스String 선언하는 두 가지 방법☞ 힙 메모리(heap memory)에 인스턴스로 생성되는 경우 (힙 메모리는 생성될 때마다 다른 주소 값을 가진다.)☞ 상수 풀(constant pool)에 있는 주소를 참조하는 경우 (상수 풀에 문자열은 모두 같은 주소 값을 가진다.)리터럴 방식으로 한 번 생성된 String은 불변(immutable)이다. 그러나 다른 String을 연결하면 기존의 String에 연결되는 것이 아닌 새로운 문자열이 생성된다. (StringBuffer는 객체 하나를 생성해서 그걸 수정해서 사용한다. String처럼 계속 생성하는 것이 아니다.)String str1 = "Hello"; // constant poolString str2 = new String("Hello.. 2024. 4. 29.