이전 게시글 중 자바 프로그래밍의 특징을 포스팅 할 때 멀티쓰레드를 쉽게 구현할 수 있다는 장점을 말한적 있는데 오늘은 이에 대해서 좀 더 다뤄보려고 한다. 프로세스 우리가 흔히 말하는 프로그램은 Java, C 등으로 개발 된 파일을 말합니다. 이 프로그램이 실행되는 것을 프로세스(Process)라고 합니다. 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원을 OS로 부터 할당받아 실행되면 그것이 프로세스인 것이다. 쉽게 요약하면 프로그램은 파일을 의미하고 프로세스는 실행을 의미한다고 보면 될 것 같습니다. // 프로세스 = 실행중인 프로그램 쓰레드 프로세스는 하나 이상의 쓰레드(Thread)로 구성됩니다. 쓰레드는 일종의 실행 단위로 하나의 프로세스에서는 하나 이상의 쓰레드가 수행되는데 이처럼 ..
이번에 공부하던 중 이상한 부분에서 에러가 발생했다. 에러의 내용은 정확히 기억이 나지 않지만 패키지(Package)에서 에러가 발생했다. 자바에서 패키지가 도대체 무엇을 의미하는 지 궁금하여 이번 포스팅을 작성한다. 패키지(package) 패키지(Package)는 클래스의 모음이다. 기본적으로 제공되는 자바 라이브러리에서도 java.lang.*, java.util.*, java.net.*, java.awt.* 등과 같은 다양한 패키지로 분류하고 있다. 자바 라이브러리는 디렉토리 구조와 같은 계층적 패키지 구조를 가지고 있어 상위 패키지 안에 하위 패키지가 속해있는 형식으로 구성되어 있다. 이러한 모든 패키지는 java와 javax 패키지에 종속되어 있다. 그렇다면 JAVA는 왜 패키지를 사용하는 것일까..
자바 프로그램를 이해하는 데 있어서 메모리 구조를 이해하는 것은 큰 도움이 된다. 우선 자바 프로그램의 실행 구조를 알아보자. JAVA의 실행과정 컴파일러 : JAVA의 경우 소스코드를 실행하기 위해 Bytecode 형태로 변환하는데 이를 통해 변환된 코드를 target code라고 부른다. 이는 특정 기계에서 실행 가능하기 때문에 이 같은 이름이 붙었다. 인터프리터 : 이전의 JVM에서는 인터프리터만 사용할 수 있었습니다.(JDK 1.1 이전) 이전 포스팅에서 JIT 컴파일러에 대해 잠깐 이야기 나왔었는데 JAVA의 성능문제로 이 JIT 컴파일러가 추가되게 됩니다. (JDK 1.2 이후) 그러므로 현재의 JAVA를 인터프리터나 컴파일러로 정의내리긴 어렵습니다. 인터프리터로 시작하지만 그 과정에서 일부 ..
연산 주어진 식을 계산하여 결과를 얻어내는 과정을 연산이라고 한다. a + b와 같은 연산에서 a, b와 같은 값에 해당하는 인자는 피연산자, +와 같은 기호를 연산자라고 한다. 연산자는 항의 갯수, 연산의 종류, 우선 순위 등 여러 조건으로 분류할 수 있다. 항의 갯수에 따른 연산자 분류종류연산자단항부호+, -증감++ , --논리!, ^비트~이항산술 +, -, *, /, &문자열 + 대입 =, *=, /=, &=, +=, -=, =, >>>=, &=, ^=, |=비교 ==, !=, , =, instanceof논리&&, ||비트&, |, ^쉬프트>>, >삼항조건 (조건식) ? A : B 연산 종류에 따른 연산자 연산 종류 연산자 연산 종류 연산자 증감 ++, -- 비트 &, |, ^, ~ 산술 +, -,..
출력문 컴퓨터에게 일을 시키고 나서 그 결과는 출력문을 통해 결과의 형식으로 나타난다. 문자열의 형태 출력에는 3가지 방법이 있다. printf() : %d, %f 등으로 변수를 받아 출력할 수 있다.12int day = 23;System.out.printf("오늘은 %d일 입니다.\n", day);cs println() : 직관적 사용, 출력 후 줄바꿈 문자 포함(자동 개행)12System.out.println("Hello");System.out.println(2*1009);cs print() : (=println), 출력 후 줄바꿈 문자 없음. \n을 통해 줄바꿈을 수행해야한다.12System.out.print("Welcome");System.out.print(2018);cs 입력문 자바에서 사용자로..
Class 생성 객체지향 언어인 Java에서 가장 중요한 것은 역시 Class라고 말할 수 있다. 클래스 생성 방법은 다음과 같다. 123public class Daerong { }cs public은 접근지정자(access modifier)로 멤버들에게 접근 제한을 걸 수 있어 접근 제한자라는 이름으로도 불립니다. 접근 제어자는 객체지향 프로그래밍의 특징인 정보은닉(Data hiding)을 위한 키워드입니다. - 상수를 제외한 필드는 감추는 것이 좋습니다.- 접근 제한자를 두 개 이상 같이 사용할 수 없습니다. 아래는 접근 지정자의 종류와 설명입니다.- public : 모든 멤버에서 접근이 가능합니다.- protected : 상속받은 클래스 또는 같은 패키지에서만 접근할 수 있습니다.- default(p..
JAVA는 많은 분야에서 활용되고 있다. 그 내용에 대해 알아보자. 데스크톱 응용프로그램 PC 등의 테스크톱 컴퓨터에 실행되는 자바 응용프로그램입니다. 이클립스가 바로 Java로 개발한 데스크톱 응용프로그램이다. 공부하던 중 흥미로운 글이 있어 공유합니다. ( https://okky.kr/article/319416 ) 애플릿(Applet) 응용프로그램 애플릿은 HTML 웹 문서에 포함되도록 설계된 Java 프로그램입니다. Java 작동 가능 브라우저를 사용할 때, 애플릿 코드는 사용자 브라우저의 JVM(Java Virtual Machine)에서 실행됩니다. 서블릿(Servlet) 응용프로그램 서블릿은 웹 서버에서 실행되는 서버용 자바 프로그램입니다. 대개 쇼핑몰이나 온라인 뱅킹 등을 구현할 때 쓰이죠. ..
JAVA 개발환경 구축 JDK와 IDE 설치를 통해 Java 개발환경을 구축해보자. JDK 설치 ( http://www.oracle.com/technetwork/java/javase/downloads/index.html ) 위 링크에 접속하여 설치파일을 다운로드합니다. 1) JDK 다운로드를 클릭 2) 동의를 체크하신 후 운영체제에 맞는 설치파일을 다운로드 환경설정 JDK 설치가 완료되었으면 윈도우가 Java를 제대로 인식할 수 있도록 환경설정 단계를 거쳐야합니다. 1) 고급 시스템 설정에 접근 2) 환경 변수를 클릭 3) 새로 만들기를 통해 환경변수를 입력할 수 있습니다. 4) 변수 이름 : CLASSPATH / 변수 값 : %classpath%;. (마지막에 마침표 있습니다) 5) 변수 이름 : JA..
- Total
- Today
- Yesterday
- Next.js
- hoisting
- PostgreSQL
- node.js
- oracle
- Cloud
- vue
- REACT
- Remix
- SQLite
- nuxt.js
- Gatsby.js
- 이진탐색 #중복
- Angular
- MySQL
- Quasar
- RDBMS
- alpine.js
- nosql
- gcp
- svelte
- JavaScript
- vue.js
- aws
- DevOps
- Azure
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |