ÇağrıYerel
public class InvocationLocal
extends Object
java.lang.Object | |
↳ | com.android.tradefed.invoker.logger.InvationLocal<T> |
Bu sınıf, çağrı kapsamı değişkenleri sağlar.
Mekanizma ThreadLocal
benzer şekilde çalışır. Bu değişkenler, normal benzerlerinden farklıdır; bu kod, bir tanesine ( get
yöntemi aracılığıyla) erişen bir çağrının, değişkenin bağımsız olarak başlatılmış bir kopyasına sahip olmasını sağlar. InvocationLocal
örnekleri genellikle durumu bir çağrıyla ilişkilendirmek isteyen sınıflardaki özel statik alanlardır.
Her çağrı, çağrı devam ettiği ve InvocationLocal
örneğine erişilebildiği sürece, çağrı kapsamındaki bir değişkenin bir kopyasıyla ilişkilendirilir. Bir çağrı tamamlandıktan sonra, yerel çağrı örneklerinin tüm kopyaları çöp toplama işlemine tabi tutulur (bu kopyalara başka referanslar olmadığı sürece).
Çağırma devam ederken artık başvurulmayan ThreadLocal
örneklerinin aksine çöp toplama işlemi yapılmadığını unutmayın. Bu nedenle, yerel veya statik olmayan örneklerin oluşturulması, sınırlanmadan büyüyebilecekleri için önerilmez.
Uyarı: Çağrı yerelleri aynı tuzakların çoğuna sahip yüceltilmiş küresel değişkenler olduğundan bu sınıfı dikkatli kullanın.
Özet
Kamu inşaatçıları | |
---|---|
InvocationLocal () |
Genel yöntemler | |
---|---|
final T | get () Bu çağrı yerel değişkeninin şu anda yürütülen çağrının kopyasını döndürür. |
Korumalı yöntemler | |
---|---|
T | initialValue () Bu çağrı yerel değişkeni için geçerli çağrının "başlangıç değerini" döndürür. |
Kamu inşaatçıları
ÇağrıYerel
public InvocationLocal ()
Genel yöntemler
elde etmek
public final T get ()
Bu çağrı yerel değişkeninin şu anda yürütülen çağrının kopyasını döndürür. Değişkenin geçerli çağrı için bir değeri yoksa, ilk olarak initialValue()
yöntemine yapılan bir çağrı tarafından döndürülen değere göre başlatılır.
İadeler | |
---|---|
T | şu anda yürütülen çağrının bu çağrının kopyası-local. |
Korumalı yöntemler
başlangıç değeri
protected T initialValue ()
Bu çağrı yerel değişkeni için geçerli çağrının "başlangıç değerini" döndürür. Bu yöntem, çağrı bağlamında çalıştırılan kod get()
yöntemiyle değişkene ilk kez eriştiğinde çağrılacaktır. Bu yöntemin çağrı başına en fazla bir kez çağrılması garanti edilir.
Bu uygulama yalnızca null
değerini döndürür ancak InvocationLocal
alt sınıflandırılması ve bu yöntemin geçersiz kılınmasıyla değiştirilebilir.
İadeler | |
---|---|
T | bu çağrı kapsamlı değişkenin başlangıç değeri |