부동소수점,고정소수점

 

  • 고정소수점(Fixed Point)

소수점의 위치를 고정시켜 표현

비트를 절반으로 나누어 정수와 소수를 표현하는 방식

구현하기 편하고 연산속도가 빠름

표현 가능한 수가 적고 제한된 부분에서만 사용 가능(소수점 아래 긴 경우 사용 불가)


  • 부동소수점(Float Point)

정수와 소수를 구분하지 않고 두 수를 하나의 공간으로 합쳐서 표현하는 방법

소수점을 고정시키지 않은 표현 방식으로 유연하고 정밀하게 표현 가능


<실수 12.5를 부동소수점으로 표현하는 방법>

실수 12.5 -> 2진수 1100.1 -> 1.1001e3

 

0.5 =  0.1

0.25 =  0.01

0.125 =  0.001




개체(Entity)vs 객체(Object)vs 인스턴스(Instance)vs 클래스(Class)

 

  • 개체(entity): 사고하는 개념적 정의 혹은 단위. 아직 메모리에 할당되지 않은 코드

          ex) type, 메뉴판, 제품카탈로그


  • 객체(Object): 주문한 메뉴가 실체화 된 것.

       실체화하기 위해선 new를 이용하여 메모리에 올린다.

 

       FileOutputStream fout = new FileOutputStream("res/data.txt");

 

       개체 참조변수 객체


  • 인스턴스(Instance): 객체를 실체화 시킨 것. 클래스를 통해 구현한 객체

  • 클래스(Class): 객체를 실체화 하기 위해 만든 설계도

 

'IT > JAVA' 카테고리의 다른 글

[Java] 문자열 (String)  (2) 2023.06.10
[Java] 부동소수점, 고정소수점  (0) 2023.06.08
[Java] 입출력 스트림  (0) 2023.06.08
[Java] Reference Type(참조형식)=참조 변수  (0) 2023.06.08
[Java] 변수(Variable)  (0) 2023.06.08

입출력 스트림

  • Stream 이란?
    배열이나 컬렉션(list, set, map)으로 원하는 값을 얻을 때 for문 도배를 방지하기 위해 나온 개념.

  • 스트림은 '데이터의 흐름’입니다. 배열 또는 컬렉션 인스턴스에 함수 여러 개를 조합해서 원하는 결과를 필터링하고 가공된 결과를 얻을 수 있습니다. 또한 람다를 이용해서 코드의 양을 줄이고 간결하게 표현할 수 있습니다. 즉, 배열과 컬렉션을 함수형으로 처리할 수 있습니다.

 

 

FileOutputStream

  • write() : file에 원하는 것을 써 넣는 것.file에 입력하는 함수? -> 아직 파일에 적용은 안됨.

  • flush(): 스트림 내의 내용을 전달하고 비우는 함수. -> 이 때 적용됨.

     ->물내림 레버 또는 버튼

  • close() : 사용되고 빈 스트림을 종료시키는 함수. 메모리 낭비를 방지하기 위해 종료 선언함. 파이프 뚜껑 / 우물뚜껑

 

출력 스트림의 write메서드와 print 메서드의 차이

Print가 syso의 print라고 가정하면 간편성

write()는 file에, print()는 콘솔에 출력 가능

Print는 라이브러리를, write는 api?

Write는 import 사용

 

버퍼와 버퍼가 있는 이유

  • 버퍼란?

임시 저장 공간을 의미한다. A와 B가 서로 입출력을 수행하는데에 있어서 속도차이를 극복하기 위해 사용하는 임시 저장 공간을 의미 합니다.

  • 버퍼가 있는 이유

    프로그래밍이나 운영체제에서 사용하는 버퍼는 거의 대부분 CPU와 보조기억장치(HDD,SDD…) 사이에서 사용되는 임시 저장 공간을 의미합니다.



CPU는 1초에 100개의 데이터를 처리할 수 있지만, 보조 기억 장치는 데이터를 1초에 3개 밖에 보내주지 않는다. CPU는 일을 하고싶어도 못함. 즉 효율이 떨어짐.

버퍼라는 것은 속도차가 큰 두 대상이 입출력을 수행할 때 효율성을 위해 사용하는 임시 저장공간

 

Reference Type(참조형식) = 참조 변수

  • 기본 타입 : byte,short,char,int,long,float,double,boolean 8개의 타입을 말한다. 기본 타입변수에는 값 자체가 저장된다.

 

    • 기본 타입 변수의 예
1
2
int age=25;
double price=100.5;
cs

 

  • 참조 타입 : 기본 타입을 제외하고 ‘배열’, ‘열거’, ‘클래스’, ‘인터페이스’ 등을 말한다. 참조 타입의 변수에는 객체(메모리)의 번지가 저장된다.

 

    • 참조 타입 변수의 예
1
2
String name="김자바";
String hobby="독서";
cs

메모리 : Static, heap, stack 으로 이루어짐.



1. 메모리 스택(Stack)영역

 

기본 타입 변수 -> 기본 타입 변수는 직접 값을 저장하고 있다.

예) Age 는 25/ price 100.5

 

참조 타입 변수 -> 힙(heap) 영역의 String 객체 번지 값을 가지고 있다.

예) name은 100번지/ hobby 200번지

 

2. 메모리 힙(heap)영역

 

참조 타입 변수 존재

예) 100번지 -> 김자바/ 200번지 -> 독서






동기화, 비동기화

프로그래밍의 실행 모델 2가지

 

  • 동기화란? 하나씩 순차적으로 실행
    여러 작업이 동시에 실행될 때 한 작업이 끝날 때까지 다른 작업이 시작되지 않는다.
    (한 자원에 동시에 접근하는 것을 제한)

    동시접근이 불가능하기 때문에 순차적으로 접근하여 작업을 진행하게 된다.
    다음에 실행될 명령은 현재 실행 중인 명령 종료까지 대기 해야 한다.(대기 버퍼링 발생) 

 

  • 비동기화란? 여러가지를 동시에 실행
    여러 작업을 동시에 처리하면서, 작업이 완료되기 전에 다른 작업을 수행할 수 있는 것을 말한다.
    현재 실행 중인 명령이 종료되지 않아도 다음 명령 실행이 가능하다.
    처리 속도를 향상 시킬 수 있다.

 

 

 

+ Recent posts