বাইটের একটি 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 দৈর্ঘ্য) বাইট অ্যারে ব্যবহার করে বাল্ক পুট পদ্ধতি। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
বুলিয়ানস হিসাবে সর্বজনীন বিমূর্ত বুলিয়ান ডেটাবাফার ()
বুলিয়ানের বাফার হিসাবে এই বাইট বাফারটি ফেরত দিন।
প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।
রিটার্নস
- একটি
BooleanDataBuffer
হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি এই বাফারটি রূপান্তর করা না যায় |
---|
পাবলিক বিমূর্ত DoubleDataBuffer as Doubles ()
দ্বিগুণ একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।
রিটার্নস
- একটি
DoubleDataBuffer
হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি এই বাফারটি রূপান্তর করা না যায় |
---|
সর্বজনীন বিমূর্ত FloatDataBuffer asFloats ()
ভাসা একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।
রিটার্নস
- একটি
FloatDataBuffer
হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি এই বাফারটি রূপান্তর করা না যায় |
---|
সর্বজনীন বিমূর্ত IntDataBuffer asInts ()
ints একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।
রিটার্নস
- একটি
IntDataBuffer
হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি এই বাফারটি রূপান্তর করা না যায় |
---|
পাবলিক বিমূর্ত LongDataBuffer লং ()
লং এর একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।
রিটার্নস
- একটি
LongDataBuffer
হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি এই বাফারটি রূপান্তর করা না যায় |
---|
সর্বজনীন বিমূর্ত ShortDataBuffer as Shorts ()
শর্টস একটি বাফার হিসাবে এই বাইট বাফার ফেরত.
প্রত্যাবর্তিত বাফারটি মূল বাইট বাফারের মতো একই মেমরিতে একটি ভিন্ন দৃষ্টিভঙ্গি প্রদান করে, যার অর্থ একটিতে একটি মান পরিবর্তন করা অন্যটিকে প্রভাবিত করবে।
রিটার্নস
- একটি
ShortDataBuffer
হিসাবে এই বাফার
নিক্ষেপ করে
অবৈধ রাজ্য ব্যতিক্রম | যদি এই বাফারটি রূপান্তর করা না যায় |
---|
পাবলিক বিমূর্ত বাইট 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 স্লাইস (দীর্ঘ সূচক, দীর্ঘ আকার)
একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এবং প্রদত্ত আকারের এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ।
ইনডেক্স প্লাস নতুন আকার এই বাফার আকারের চেয়ে বেশি হওয়া উচিত নয়। এই বাফারের বিষয়বস্তুর পরিবর্তনগুলি নতুন বাফারে দৃশ্যমান হবে এবং এর বিপরীতে। নতুন বাফারটি শুধুমাত্র পঠনযোগ্য হবে, এবং শুধুমাত্র যদি, এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়।
পরামিতি
সূচক | তৈরি করা নতুন বাফারের প্রথম মানের সূচক |
---|---|
আকার | এই নতুন বাফারের আকার, 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 | যদি এই বাফারটি শুধুমাত্র পঠনযোগ্য হয় |