질문 내용
여러 클라이언트에게 전송해야 하는 protobuf 메시지가 있습니다. 메시지에는 클라이언트마다 다른 하나의 필드(시퀀스 번호)를 제외하고 각 클라이언트에 대해 동일한 데이터가 있습니다. 이제 생성된 Java 메시지 객체의 필드를 변경하고 각 클라이언트에 대해 별도로 메시지를 직렬화할 수 있습니다. 하지만 하나의 필드를 제외한 모든 항목을 직렬화한 다음 각 클라이언트에 대해 해당 필드를 직렬화하는 방법이 있습니까(예: 직렬화된 메시지에서 해당 바이트를 교환하는 등)?
EDIT: 두 개의 메시지를 병합하는 mergeFrom 메서드를 본 적이 있지만 제가 이해한 바에 따르면 먼저 메시지를 구문 분석한 다음 데이터를 교환한 다음 다시 직렬화할 수 있으므로 전혀 성능 최적화가 아닙니다(?).
해결 방법
우선 이것이 실제로 성능과 관련이 있는지 확인하고 싶습니다. 프로토콜 버퍼 메시지가 크지 않다면(수 킬로바이트가 아니라면 고려하지도 않을 것입니다), 이것이 본질적으로 성능에 전혀 영향을 미치지 않을 것으로 예상하므로 최적화하려고 시도조차 해서는 안 됩니다.
병목 현상을 고려했다면 어렵지 않습니다. 직렬화된 프로토타입 생성자 병합 양식을 연결하므로 아마도 이것은으아아아
(이 있는 경우.) special_field
作为必填字段(违反最佳实践),那么您可能需要改用 buildPartial
으아아아
위 내용은 Java에서 공통 필드의 Protobuf 부분 직렬화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
