실제 앱에서 짧고 바이트 원시 유형을 사용하는 사람이 있습니까?

StackOverflow https://stackoverflow.com/questions/402247

  •  03-07-2019
  •  | 
  •  

문제

저는 2004 년부터 Java로 프로그래밍 해 왔으며 대부분 기업 및 웹 응용 프로그램입니다. 그러나 나는 사용한 적이 없습니다 짧은 또는 바이트, 이러한 유형의 작동 방식을 알기 위해 장난감 프로그램 외에. 조차도 루프 용 100 번, 우리는 보통 함께갑니다 int. 그리고 내가 사용한 코드를 만난 적이 있다면 기억이 나지 않습니다. 바이트 또는 짧은, 일부 공개 API 및 프레임 워크 외에.

예, 알고 있습니다. 당신은 a를 사용할 수 있습니다 짧은 또는 바이트 메모리 절약이 실제로 중요한 상황에서 큰 배열에 메모리를 저장합니다. 누구든지 그것을 연습하기 위해 관심이 있습니까? 아니면 그 책 안에있는 것.

편집

사용 바이트 네트워크 프로그래밍 및 소켓 통신을위한 배열은 매우 일반적인 사용법입니다. 감사합니다, 대런, 그것을 지적 해 주셔서 감사합니다. 이제 어때요 짧은? Ryan은 훌륭한 예를 들었습니다. 고마워요, 라이언.

도움이 되었습니까?

해결책

Java는 메모리가 훨씬 제한적인 모바일 장치에서도 사용됩니다.

다른 팁

나는 바이트를 많이 사용합니다. 이진 데이터의 네트워크 통신을 위해 일반적으로 바이트 배열 또는 바이트 버퍼 형태로.

나는 Float 또는 Double을 거의 사용하지 않으며 짧게 사용한 적이 없다고 생각합니다.

C/C ++ 코드에서 '바이트'를 많이 사용했습니다. 이미지 압축과 같은 기능 구현 기능 (즉, 각각의 압축 알고리즘 실행 바이트 흑백 비트 맵의) 및 바이너리 네트워크 메시지 처리 (해석함으로써 바이트 메시지에서).

그러나 나는 사실상 'float'또는 'double'을 사용하지 않았습니다.

내가 본 주요 사용량은 알려지지 않은 구조로 데이터를 처리하는 동안 또는 실제 구조가없는 것입니다. 네트워크 프로그래밍은 전자의 예입니다 (데이터를 보내는 사람은 그 의미를 알고 있지만 의미하지 않을 수도 있습니다). 256 색 (또는 그레이 스케일) 이미지의 이미지 압축과 같은 것은 후자의 예입니다.

내 머리 꼭대기에서 grep은 다른 종류의 파일 사본과 마찬가지로 다른 용도로 떠 오릅니다. (물론, OS는 그렇게 할 것입니다. 그러나 때로는 충분하지 않습니다.)

Java 언어 자체는 사용하기가 부당하게 어렵습니다. byte 또는 short 유형. a에서 작업을 수행 할 때마다 byte 또는 short 가치, Java는 그것을 홍보합니다 int 먼저, 작업 결과는 int. 또한, 그들은 서명되어 있으며, 서명되지 않은 등가물은 없으며, 이는 또 다른 빈번한 좌절의 원천입니다.

그래서 당신은 결국 사용하게됩니다 byte 사이버의 모든 것의 기본 빌딩 블록이기 때문에 short 유형은 존재하지 않을 수도 있습니다.

오늘까지 나는 내가 얼마나 많이 사용하는지 눈치 채지 못했습니다.

네트워크 관련 제품에는 바이트를 사용하지만 대부분의 시간은 내 도구/학습을위한 것입니다. 작업 프로젝트에서 이러한 것들은 프레임 워크에 의해 처리됩니다 (예 : JSP)

짧은? 거의 없다.

긴? 어느 것도 아니다.

내가 선호하는 정수 리터럴은 항상 int, 루프, 카운터 등입니다.

데이터가 다른 장소 (예 : 데이터베이스)에서 나오면 적절한 유형을 사용하지만 리터럴에는 항상 int를 사용합니다.

나는 많은 다른 장소에서 바이트를 사용하며, 주로 저수준 데이터 처리가 포함됩니다. 불행히도, 자바 언어의 디자이너는 바이트가 서명했습니다. 부정적인 바이트 값을 갖는 상황이 유용한 상황을 생각할 수 없습니다. 0-255 범위를 갖는 것이 훨씬 더 도움이되었을 것입니다.

나는 적절한 코드에서 반바지를 사용한 적이 없다고 생각합니다. 나는 또한 플로트를 사용하지 않습니다 (플로팅 포인트 값이 필요하면 항상 더블을 사용합니다).

나는 동의한다 . 이상적으로, 고급 언어로서 우리는 기본 기계 표현에 관심이 없어야합니다. 우리는 우리 자신의 범위를 정의하거나 임의의 정밀 번호를 사용할 수 있어야합니다.

휴대 전화와 같은 전자 장치를 프로그래밍 할 때는 바이트와 짧은 것을 사용합니다.이 경우 메모리 관리에주의를 기울여야합니다.

INT의 의미론을 보는 것이 더 흥미로울 것입니다. 그 임의의 한계와 침묵의 자리가 당신이 원하는 것입니까? 애플리케이션 수준 코드는 실제로 임의의 크기의 정수를 원합니다. Java는 합리적으로 표현할 방법이 없다는 것입니다.

모델 점검을 수행하는 동안 상태를 저장할 때 바이트를 사용했습니다. 이 응용 프로그램에서 우주 절약은 추가적인 작업의 가치가 있습니다. 그렇지 않으면 나는 그들을 사용하지 않습니다.

저수준 이미지 처리를 수행 할 때 바이트 변수를 사용하고 있음을 알았습니다. .NET GDI+ 드로우 루틴은 정말 느 렸기 때문에 내 자신의 손으로 롤링했습니다.

그러나 대부분의 경우, 문제 제약을 감안할 때 더 큰 것을 사용해야하지 않는 한 서명 된 정수를 고수합니다. 내가하는 모든 종류의 물리 모델링은 정밀도가 필요하지 않더라도 부유물이나 복식이 필요합니다.

아파치 포이 사용 중입니다 short 꽤 몇 번. 아마도 Excel의 행/열 번호 제한 때문일 것입니다.

몇 달 전에 그들은 바뀌었다 int 교체

CreateCell (Short ColumnIndex)

~와 함께

CreateCell (int 열).

Memory Inmory DataGrids에서는 유용 할 수 있습니다. Gemfire와 같은 Datagrid의 개념은 거대한 분산지도를 갖는 것입니다. 메모리가 충분하지 않으면 LRU 전략으로 디스크로 넘어갈 수 있지만지도의 모든 항목의 키는 메모리에 남아 있습니다 (적어도 보석 분화).

따라서 특히 큰 데이터 세트를 처리하는 경우 작은 발자국으로 키를 만드는 것이 매우 중요합니다. 입력 값의 경우 작은 메모리 풋 프린트와 함께 적절한 유형을 사용하는 것이 좋습니다 ...

Java 앱에서 반바지와 바이트를 사용하여 맞춤 USB 또는 직렬 마이크로 컨트롤러와 통신하여 2 바이트 값으로 반바지로 랩핑 한 10 비트 값을 수신했습니다.

byte모래 shortS는 Java 카드 개발에 광범위하게 사용됩니다. 내 대답을 살펴보십시오 Java Byte Primitive 유형에 실제 용도가 있습니까?.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top