SORU
2 Kasım 2011, ÇARŞAMBA


"Son 100 bayt" Röportaj Senaryo

Bir röportajda bu soruyu geçen gün aldım ve mümkün olan en iyi cevapları(çok iyi haha cevap vermedim) bilmek istiyorum:

Senaryo: bayt bazı ağ üzerinden gönderilen izleme bir web sayfası Var. Bir bayt recordByte gönderilir her zaman() işlevi bayt, bu kez günde yüz binlerce insanın başına gelebilecek geçirmeden denir. Basıldığında görüntüler son 100 bayt recordByte geçirilen bu sayfada bir düğme var() ekran (aşağıya baskı yöntemini çağırarak bunu yapar).

Aşağıdaki kodu verildi ve doldurmaları nedir:

public class networkTraffic {
    public void recordByte(Byte b){
    }
    public String print() {
    }
}

100 bayt depolamak için en iyi yolu nedir? Bir liste? Bunu yapmak için nasıl merak ediyorum.

CEVAP
2 Kasım 2011, ÇARŞAMBA


Böyle bir şey (dairesel tampon) :

byte[] buffer = new byte[100];
int index = 0;

public void recordByte(Byte b) {
   index = (index   1) % 100;
   buffer[index] = b; 
}

public void print() {
   for(int i = index; i < index   100; i  ) {
       System.out.print(buffer[i % 100]);
   }
}

Dairesel bir tampon kullanmanın yararları:

  1. Uzay statik olarak rezerve edebilirsiniz. Bir gerçek zamanlı ağ uygulaması (VoIP, streaming,..)bu genellikle yapılır çünkü gerek yok store, veri iletimi, ama sadece bir pencere içeren yeni bayt işlenecek.
  2. Hızlı okuma ile ilgili bir dizi uygulanabilir ve O maliyeti(1) yaz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009
  • SaraBeautyCorner - Nails and Nail Art Designs, DIY, Fashion & Makeup Tutorial

    SaraBeautyCo

    7 EKİM 2012