Kesan Prestasi Menggunakan instanceof dalam Java
Walaupun pengkritiknya dalam reka bentuk berorientasikan objek, pengendali instanceof kekal sebagai pilihan reka bentuk biasa dalam aplikasi . Walaupun prestasinya masih menjadi kebimbangan, kesannya sering diperdebatkan. Untuk menjelaskan topik ini, analisis penanda aras menyeluruh telah dijalankan.
Pelaksanaan Penanda Aras
Program penanda aras telah dibuat untuk menilai prestasi empat pelaksanaan berbeza:
- contoh pelaksanaan (sebagai rujukan)
- Berorientasikan objek (kelas abstrak dengan kaedah ganti)
- Pelaksanaan jenis tersuai
- getClass() == _.class pelaksanaan
Keputusan
Selepas 10,000 lelaran dengan 10 garpu, purata masa berikut adalah direkodkan:
Operation | Runtime in nanoseconds per operation | Relative to instanceof |
---|---|---|
INSTANCEOF | 39,598 | 100.00% |
GETCLASS | 39,687 | 100.22% |
TYPE | 46,295 | 116.91% |
OO | 48,078 | 121.42% |
Analisis
- instanceof dan getClass() mempunyai perbezaan prestasi yang boleh diabaikan, menunjukkan bahawa instanceof tidak menimbulkan yang ketara overhead.
- Menggunakan ID jenis tersuai menghasilkan penalti prestasi sederhana berbanding instanceof.
- Pendekatan berorientasikan objek adalah yang paling perlahan, walaupun perbezaannya tidak besar.
Kesimpulan
Dalam Java 1.8, pengendali instanceof ialah pilihan terpantas untuk semakan jenis. Ia lebih pantas sedikit daripada getClass() dan jauh lebih pantas daripada ID jenis tersuai atau pendekatan berorientasikan objek. Memandangkan kesan prestasinya yang minimum, instanceof kekal sebagai pilihan yang berdaya maju untuk semakan jenis dalam senario kritikal prestasi.
Atas ialah kandungan terperinci Adakah instanceof Benar-benar Lambat? Penanda Aras Prestasi di Java 1.8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Dreamweaver Mac版
Alat pembangunan web visual

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.