ByteDataBuffer

পাবলিক ইন্টারফেস ByteDataBuffer

বাইটের একটি DataBuffer

পাবলিক পদ্ধতি

বিমূর্ত বুলিয়ান ডেটাবাফার
বুলিয়ানস ()
বুলিয়ানের বাফার হিসাবে এই বাইট বাফারটি ফেরত দিন।
বিমূর্ত DoubleDataBuffer
হিসাবে দ্বৈত ()
দ্বিগুণ একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
বিমূর্ত FloatDataBuffer
ভাসমান ()
ভাসা একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
বিমূর্ত IntDataBuffer
asInts ()
ints একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
বিমূর্ত LongDataBuffer
লং ()
লং এর একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
বিমূর্ত শর্টডেটাবাফার
শর্টস ()
শর্টস একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
বিমূর্ত ByteDataBuffer
কপিটু ( DataBuffer <Byte> dst, দীর্ঘ আকার)
বিমূর্ত বাইট
getByte (দীর্ঘ সূচক)
প্রদত্ত সূচকে বাইট পড়ে।
বিমূর্ত বাইট
getObject (লম্বা সূচক)
প্রদত্ত সূচকে মান পড়ে।
বিমূর্ত ByteDataBuffer
সরু (দীর্ঘ আকার)
একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু এই বাফারের বিষয়বস্তুর একটি ভাগ করা অনুসারী, যার আকার প্রদত্ত মানের সাথে সেট করা আছে।
বিমূর্ত ByteDataBuffer
অফসেট (দীর্ঘ সূচক)
একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ।
বিমূর্ত ByteDataBuffer
পড়ুন (বাইট[] ডিএসটি)
বাইট অ্যারে ব্যবহার করে বাল্ক মেথড
বিমূর্ত ByteDataBuffer
পড়ুন (বাইট [] dst, int অফসেট, int দৈর্ঘ্য)
বাইট অ্যারে ব্যবহার করে বাল্ক মেথড
বিমূর্ত ByteDataBuffer
সেটবাইট (বাইট মান, দীর্ঘ সূচক)
প্রদত্ত সূচকে এই বাফারে প্রদত্ত বাইটটি লেখে।
বিমূর্ত ByteDataBuffer
setObject (বাইট মান, দীর্ঘ সূচক)
বিমূর্ত ByteDataBuffer
স্লাইস (লম্বা সূচক, লম্বা আকার)
একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এবং প্রদত্ত আকারের এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ।
বিমূর্ত DataBufferWindow < ByteDataBuffer >
জানালা (দীর্ঘ আকার)
একটি DataBufferWindow তৈরি করে যা এই বাফারটির একটি আংশিক দৃশ্য প্রদান করে।
বিমূর্ত ByteDataBuffer
লিখুন (বাইট [] src)
বাইট অ্যারে ব্যবহার করে বাল্ক পুট পদ্ধতি।
বিমূর্ত ByteDataBuffer
লিখুন (বাইট [] src, int অফসেট, int দৈর্ঘ্য)
বাইট অ্যারে ব্যবহার করে বাল্ক পুট পদ্ধতি।

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

পাবলিক পদ্ধতি

বুলিয়ানস হিসাবে সর্বজনীন বিমূর্ত বুলিয়ান ডেটাবাফার ()

বুলিয়ানের বাফার হিসাবে এই বাইট বাফারটি ফেরত দিন।

প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।

রিটার্নস
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম যদি এই বাফারটি রূপান্তর করা না যায়

পাবলিক বিমূর্ত DoubleDataBuffer as Doubles ()

দ্বিগুণ একটি বাফার হিসাবে এই বাইট বাফার ফেরত.

প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।

রিটার্নস
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম যদি এই বাফারটি রূপান্তর করা না যায়

সর্বজনীন বিমূর্ত FloatDataBuffer asFloats ()

ভাসা একটি বাফার হিসাবে এই বাইট বাফার ফেরত.

প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।

রিটার্নস
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম যদি এই বাফারটি রূপান্তর করা না যায়

সর্বজনীন বিমূর্ত IntDataBuffer asInts ()

ints একটি বাফার হিসাবে এই বাইট বাফার ফেরত.

প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।

রিটার্নস
  • একটি IntDataBuffer হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম যদি এই বাফারটি রূপান্তর করা না যায়

পাবলিক বিমূর্ত LongDataBuffer লং ()

লং এর একটি বাফার হিসাবে এই বাইট বাফার ফেরত.

প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।

রিটার্নস
  • একটি LongDataBuffer হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম যদি এই বাফারটি রূপান্তর করা না যায়

সর্বজনীন বিমূর্ত ShortDataBuffer as Shorts ()

শর্টস একটি বাফার হিসাবে এই বাইট বাফার ফেরত.

প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।

রিটার্নস
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম যদি এই বাফারটি রূপান্তর করা না যায়

সর্বজনীন বিমূর্ত ByteDataBuffer copyTo ( DataBuffer <Byte> dst, দীর্ঘ আকার)

পাবলিক বিমূর্ত বাইট getByte (দীর্ঘ সূচক)

প্রদত্ত সূচকে বাইট পড়ে।

পরামিতি
সূচক যে সূচী থেকে ফ্লোট পড়া হবে
রিটার্নস
  • প্রদত্ত সূচকে বাইট
নিক্ষেপ করে
IndexOutOfBoundsException যদি সূচক ঋণাত্মক হয় বা বাফার আকারের চেয়ে ছোট না হয়

পাবলিক বিমূর্ত বাইট getObject (দীর্ঘ সূচক)

প্রদত্ত সূচকে মান পড়ে। গুরুত্বপূর্ণ: এই পদ্ধতির ব্যবহার নন-প্রিমিটিভ ধরনের বাফারের মধ্যে সীমাবদ্ধ হওয়া উচিত বা যখন কলকারীর দ্বারা ডেটা টাইপ নির্ধারকভাবে জানা যায় না। অন্য কোনো ক্ষেত্রে, এর আদিম বৈকল্পিক ব্যবহারকে অগ্রাধিকার দিন যা উল্লেখযোগ্যভাবে পারফরম্যান্সকে উন্নত করবে (যেমন IntDataBuffer.getInt(idx)

পরামিতি
সূচক যে সূচী থেকে ফ্লোট পড়া হবে
রিটার্নস
  • প্রদত্ত সূচকে মান

সর্বজনীন বিমূর্ত ByteDataBuffer সংকীর্ণ (দীর্ঘ আকার)

একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু এই বাফারের বিষয়বস্তুর একটি ভাগ করা অনুসারী, যার আকার প্রদত্ত মানের সাথে সেট করা আছে।

নতুন আকার এই বাফার আকারের চেয়ে বড় হওয়া উচিত নয়। এই বাফারের বিষয়বস্তুর পরিবর্তনগুলি নতুন বাফারে দৃশ্যমান হবে এবং এর বিপরীতে। নতুন বাফারটি শুধুমাত্র পঠনযোগ্য হবে, এবং শুধুমাত্র যদি, এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়।

এই কলটি slice(0, size) এর সমতুল্য

পরামিতি
আকার এই নতুন বাফার আকার
রিটার্নস
  • নতুন বাফার

পাবলিক বিমূর্ত ByteDataBuffer অফসেট (দীর্ঘ সূচক)

একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ।

সূচকটি এই বাফার আকারের চেয়ে বেশি হওয়া উচিত নয়। এই বাফারের বিষয়বস্তুর পরিবর্তনগুলি নতুন বাফারে দৃশ্যমান হবে এবং এর বিপরীতে। নতুন বাফারটি শুধুমাত্র পঠনযোগ্য হবে, এবং শুধুমাত্র যদি, এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়।

এই কলটি slice(index, size() - index) এর সমতুল্য

পরামিতি
সূচক তৈরি করা নতুন বাফারের প্রথম মানের সূচক, size() থেকে বেশি হওয়া উচিত নয়
রিটার্নস
  • নতুন বাফার

পাবলিক বিমূর্ত ByteDataBuffer রিড (বাইট[] ডিএসটি)

বাইট অ্যারে ব্যবহার করে বাল্ক মেথড

এই পদ্ধতিটি এই বাফার থেকে প্রদত্ত গন্তব্য অ্যারেতে মান স্থানান্তর করে। যদি অনুরোধটি পূরণ করার জন্য প্রয়োজনের তুলনায় বাফারে কম মান থাকে, অর্থাৎ, যদি dst.length > size() , তাহলে কোনো মান স্থানান্তর করা হয় না এবং একটি BufferUnderflowException নিক্ষেপ করা হয়।

অন্যথায়, এই পদ্ধতিটি প্রদত্ত অ্যারেতে এই বাফার থেকে n = dst.length মানগুলি কপি করে।

পরামিতি
dst যে বিন্যাসে মান লিখতে হবে
রিটার্নস
  • এই বাফার
নিক্ষেপ করে
BufferUnderflowException যদি এই বাফার থেকে অনুলিপি করার জন্য পর্যাপ্ত মান না থাকে

পাবলিক বিমূর্ত ByteDataBuffer রিড (বাইট[] dst, int অফসেট, int দৈর্ঘ্য)

বাইট অ্যারে ব্যবহার করে বাল্ক মেথড

এই পদ্ধতিটি এই বাফার থেকে প্রদত্ত গন্তব্য অ্যারেতে মান স্থানান্তর করে। যদি অনুরোধটি পূরণ করার জন্য প্রয়োজনের তুলনায় বাফারে কম মান থাকে, অর্থাৎ যদি length > size() , তাহলে কোনো মান স্থানান্তর করা হয় না এবং একটি BufferUnderflowException নিক্ষেপ করা হয়।

অন্যথায়, এই পদ্ধতিটি প্রদত্ত অফসেট থেকে শুরু করে প্রদত্ত অ্যারেতে এই বাফার থেকে n = length মান কপি করে।

পরামিতি
dst যে বিন্যাসে মান লিখতে হবে
অফসেট প্রথম মানের অ্যারের মধ্যে অফসেট লিখতে হবে; অ-নেতিবাচক এবং dst.length এর চেয়ে বড় হতে হবে না
দৈর্ঘ্য প্রদত্ত অ্যারেতে লিখতে হবে সর্বোচ্চ সংখ্যক মান; অ-নেতিবাচক এবং dst.length - offset চেয়ে বড় হতে হবে না
রিটার্নস
  • এই বাফার
নিক্ষেপ করে
BufferUnderflowException যদি এই বাফারে দৈর্ঘ্যের থেকে কম মান অবশিষ্ট থাকে
IndexOutOfBoundsException যদি অফসেট এবং দৈর্ঘ্যের পরামিতিগুলির পূর্বশর্তগুলি ধরে না থাকে

সর্বজনীন বিমূর্ত ByteDataBuffer setByte (বাইটের মান, দীর্ঘ সূচক)

প্রদত্ত সূচকে এই বাফারে প্রদত্ত বাইটটি লেখে।

পরামিতি
মান বাইট লিখতে হবে
সূচক যে সূচীতে মান লেখা হবে
রিটার্নস
  • এই বাফার
নিক্ষেপ করে
IndexOutOfBoundsException যদি সূচক ঋণাত্মক হয় বা বাফার আকারের চেয়ে ছোট না হয়
ReadOnlyBufferException যদি এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়

সর্বজনীন বিমূর্ত ByteDataBuffer setObject (বাইট মান, দীর্ঘ সূচক)

পাবলিক বিমূর্ত ByteDataBuffer স্লাইস (দীর্ঘ সূচক, দীর্ঘ আকার)

একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এবং প্রদত্ত আকারের এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ।

ইনডেক্স প্লাস নতুন আকার এই বাফার আকারের চেয়ে বেশি হওয়া উচিত নয়। এই বাফারের বিষয়বস্তুর পরিবর্তনগুলি নতুন বাফারে দৃশ্যমান হবে এবং এর বিপরীতে। নতুন বাফারটি শুধুমাত্র পঠনযোগ্য হবে, এবং শুধুমাত্র যদি, এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়।

পরামিতি
সূচক তৈরি করা নতুন বাফারের প্রথম মানের সূচক
আকার এই নতুন বাফারের আকার, size() থেকে বেশি হওয়া উচিত নয়
রিটার্নস
  • নতুন বাফার

সর্বজনীন বিমূর্ত DataBufferWindow < ByteDataBuffer > উইন্ডো (দীর্ঘ আকার)

একটি DataBufferWindow তৈরি করে যা এই বাফারটির একটি আংশিক দৃশ্য প্রদান করে।

তৈরি করা উইন্ডোটির একটি নির্দিষ্ট আকার রয়েছে এবং offset(long) এর মতো একটি নতুন বাফার ইনস্ট্যান্স বরাদ্দ না করে ডেটার বিভিন্ন ভিউ প্রদান করতে এই বাফার বরাবর "slide" করতে পারে। এই অপারেশনটি ঘন ঘন পুনরাবৃত্তি হলে এটি সামগ্রিক কর্মক্ষমতা উন্নত করে। যেমন:

IntDataBuffer bufferA = DataBuffers.ofInts(1024);
 // ... init buffer data
 IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);

 // Return the index of the first occurrence of bufferB in bufferA using a sliding window
 DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
 for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
     if (windowA.slideTo(i).buffer().equals(bufferB)) {
         return i;
     
 }
 }

প্রত্যাবর্তিত বস্তু রাষ্ট্রীয় এবং থ্রেড-নিরাপদ নয়।

পরামিতি
আকার জানালার আকার
রিটার্নস
  • একটি নতুন উইন্ডো যা এই বাফারের সূচক 0 এ শুরু হয়

পাবলিক বিমূর্ত ByteDataBuffer লিখুন (বাইট[] src)

বাইট অ্যারে ব্যবহার করে বাল্ক পুট পদ্ধতি।

এই পদ্ধতিটি প্রদত্ত সোর্স অ্যারের মানগুলিকে এই বাফারে স্থানান্তর করে। যদি এই বাফারের তুলনায় সোর্স অ্যারেতে বেশি মান থাকে, অর্থাৎ, যদি src.length > size() থাকে, তাহলে কোনো মান স্থানান্তর করা হবে না এবং একটি BufferOverflowException নিক্ষেপ করা হবে।

অন্যথায়, এই পদ্ধতিটি প্রদত্ত অ্যারে থেকে n = src.length মান কপি করে।

পরামিতি
src উৎস অ্যারে যা থেকে মান পড়তে হবে
রিটার্নস
  • এই বাফার
নিক্ষেপ করে
BufferOverflowException যদি উৎস অ্যারের মানগুলির জন্য এই বাফারে অপর্যাপ্ত স্থান থাকে
ReadOnlyBufferException যদি এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়

পাবলিক বিমূর্ত ByteDataBuffer লিখুন (বাইট[] src, int অফসেট, int দৈর্ঘ্য)

বাইট অ্যারে ব্যবহার করে বাল্ক পুট পদ্ধতি।

এই পদ্ধতিটি প্রদত্ত সোর্স অ্যারের মানগুলিকে এই বাফারে স্থানান্তর করে। যদি এই বাফারের তুলনায় সোর্স অ্যারেতে বেশি মান থাকে, অর্থাৎ, যদি length > size() , তাহলে কোনো মান স্থানান্তর করা হয় না এবং একটি BufferOverflowException নিক্ষেপ করা হয়।

অন্যথায়, এই পদ্ধতিটি প্রদত্ত অ্যারে থেকে n = length মানগুলিকে এই বাফারে কপি করে, প্রদত্ত অফসেট থেকে শুরু করে।

পরামিতি
src উৎস অ্যারে যা থেকে মান পড়তে হবে
অফসেট পড়া হবে প্রথম মানের অ্যারের মধ্যে অফসেট; অ-নেতিবাচক এবং src.length এর চেয়ে বড় হতে হবে না
দৈর্ঘ্য প্রদত্ত অ্যারে থেকে পড়ার মানগুলির সংখ্যা; অ-নেতিবাচক এবং src.length - offset চেয়ে বড় হতে হবে না
রিটার্নস
  • এই বাফার
নিক্ষেপ করে
BufferOverflowException যদি উৎস অ্যারের মানগুলির জন্য এই বাফারে অপর্যাপ্ত স্থান থাকে
IndexOutOfBoundsException যদি অফসেট এবং দৈর্ঘ্যের পরামিতিগুলির পূর্বশর্তগুলি ধরে না থাকে
ReadOnlyBufferException যদি এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়