cari
RumahJavajavaTutorialAdakah instanceof Benar-benar Lambat? Penanda Aras Prestasi di Java 1.8

 Is instanceof Really Slow? A Performance Benchmark in Java 1.8

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!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

mPDF

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

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

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.