Ne/eğer başka bir fark göreli performans versus Java anahtar deyim?
Benim web uygulaması performansı hakkında endişe, "/başka" ya da ifade performansı daha iyi geçiş? hangi merak ediyorum
CEVAP
Kötü olan mikro optimizasyon ve erken optimizasyon. Merak etme soru hakkında readabililty ve kod bakımı oldukça. İkiden fazla 3 *blokları bir araya yapıştırılmış var ya onun büyüklüğü tahmin edilemez olursa, oldukça* 4 *ifadesi düşünebilirsiniz.
Alternatif olarak, aynı zamanda yakalayabilirPolimorfizmi. İlk oluşturmak bazı arayüz:
public interface Action {
void execute(String input);
}
Ve Map bazı tüm uygulamaları ele almak. Ya statik ya da dinamik olarak bunu yapabilirsiniz:
Map<String, Action> actions = new HashMap<String, Action>();
Sonunda bir şey bu (nullpointers gibi önemsiz Çek kenara bırakarak) gibi: if/else switch değiştirin
actions.get(name).execute(input);
olabilirif/else switch, daha microslower ama kodunu en azından çok daha rahat.
Olarak bahsettiğin webapplications, sen-ebilmek yapmak kullanmak HttpServletRequest#getPathInfo() eylem tuşu (sonunda yazmak biraz daha fazla kod için split son kısmı pathınfo uzak bir döngü kadar bir eylemdir bulundu). Burada benzer cevaplar bulabilirsiniz:
- http://stackoverflow.com/questions/1798232/using-a-custom-servlet-oriented-framework-too-many-servlets-is-this-an-issue/1798461#1798461
- http://stackoverflow.com/questions/2060128/java-front-controller/2060842#2060842
Genel olarak Java EE webapplication performansı hakkında endişe ediyorsanız, o zaman this article de faydalı bulabilirsiniz. Bir veren diğer alanlar vardırçok daha fazlasıperformans sadece daha kazanç (mikro)ham Java kodu en iyi duruma getirme.

'In String Java kullanmalıyım.eğe...
EÄžER daha iyi-daha BAÅžKA bir performan...
'kamu, varsayılan olarak korumalı...
EÄŸer anahtar kontrol JavaScript bir ne...
Nasıl Java başka bir kurucu arayayım m...