国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah Java JavaSoalan temu bual Java中高級面試題(附答案)

Java中高級面試題(附答案)

Nov 14, 2019 pm 04:51 PM
java perantaraan

Java中高級面試題(附答案)

1、redis如何跟本地?cái)?shù)據(jù)同步?

程序?qū)崿F(xiàn)mysql更新、添加、刪除就會同步操作redis

程序查詢r(jià)edis,不存在就查詢mysql,自動保存redis

2、redis幾種數(shù)據(jù)結(jié)構(gòu)?

set、list、hash、string、zset

3、java內(nèi)存溢出是如何造成的?

OutOfMemoryError:

(1)PerGern Space 程序中使用了大量的jar或class,使虛擬機(jī)裝載類空間不夠。

解決方案:調(diào)參 XX:PermSize 和XX:MaxPermSize、減少jar包減少類的重復(fù)加載?

(2)Java Heap

Space Java虛擬機(jī)創(chuàng)建太多對象。 解決方法:調(diào)參Xms(初始化堆大?。mx(最大堆大?。?、檢查死循環(huán)或不必要創(chuàng)建的重復(fù)對象。

(3)unable to create new native Thread

JVM占用了太多內(nèi)存空間,而在JVM中創(chuàng)建線程還要再操作系統(tǒng)中創(chuàng)建線程。 解決方案:調(diào)整JVM中線程大小。

4、String s = “123”,這個語句有多少對象產(chǎn)生?

若字符串池中沒有“123”,則產(chǎn)生一個,并且放入常量池中,若有“123”,則產(chǎn)生0個

5、JDK8的新特性,舉例描述

(1)lambda表達(dá)式:函數(shù)式編程,方法的引用?

(2)Stream API?

(3)接口的默認(rèn)方法

(4)日期時(shí)間API的改進(jìn),新增DateTimeFormatter方法

6、解決高并發(fā)和高負(fù)載

(1)盡可能html靜態(tài)化,采用信息錄入發(fā)布系統(tǒng)CMS實(shí)現(xiàn)信息錄入自動生成靜態(tài)頁面,在前端緩存不經(jīng)常改變的動態(tài)數(shù)據(jù)。

(2)CDN加速,把CSS/JS等資源分布在不同的服務(wù)器上

(3)緩存不常改變的數(shù)據(jù)(Redis、memcache)。

(4)圖片服務(wù)器與應(yīng)用服務(wù)器分離。?

(5)集群

7、生產(chǎn)者和消費(fèi)者模型得瑟作用是什么?

(1)通過平衡生產(chǎn)能力和消費(fèi)者的消費(fèi)能力來提升整個系統(tǒng)的運(yùn)行效率 (2)解耦

8、Mybatis一級、二級緩存

(1)一級緩存:基于PerpetualCache的HashMap本地緩存,其存儲作用域Session,當(dāng)Session

flush或close之后,該Session中的所有Cache就將清空。

(2)二級緩存與一級緩存機(jī)制相同,默認(rèn)也是采用PerpetualCache,HashMap存儲,不同在存儲作用域Mapper,并且可自定義存儲源,如需開啟二級緩存。在sql映射文件添加

9、描述一個服務(wù)從發(fā)布到被消費(fèi)的詳細(xì)過程

首先獲取zk的配置信息,然后獲取需要暴露的url,然后調(diào)用registry,register方法將url注冊到zookeeper上去

10、如何實(shí)現(xiàn)負(fù)載均衡,有哪些算法可以實(shí)現(xiàn)?

隨機(jī)(random)、輪訓(xùn)(round-robin)、一致哈希(consistent-hash)和主備(master-slave)

11、如果要你實(shí)現(xiàn)Spring AOP,怎么實(shí)現(xiàn)?

實(shí)現(xiàn)aop技術(shù),主要分為兩大類:一采用動態(tài)代理技術(shù),利用截取消息的方式,對該消息進(jìn)行裝飾,以取代原有對象行為的執(zhí)行

二是采用靜態(tài)織入的方式,引入特定語法創(chuàng)建“方面”,從而使得編譯器間織入有關(guān)“方面”的代碼

12、如何防止頁面重復(fù)提交?

集群環(huán)境:采用token加redis(redis是單線程的,處理需要排隊(duì))

處理流程:

1、數(shù)據(jù)提交前要向服務(wù)申請token,token放到redis內(nèi)存,token有效時(shí)間

2、提交后后臺校驗(yàn)token,同時(shí)刪除token,生成新的token返回

13、什么是微服務(wù)?

將工程根據(jù)不同的業(yè)務(wù)規(guī)則拆分成微服務(wù),部署在不同的機(jī)器上。服務(wù)間進(jìn)行相互調(diào)用

14、什么是web服務(wù)?

(1)web service就是一個應(yīng)用程序,它向外界暴露出一個能夠通過web進(jìn)行調(diào)用的API

(2)基于HTTP協(xié)議傳輸數(shù)據(jù),這使得運(yùn)行在不同機(jī)上的不同應(yīng)用程序,無需借助附加的、專門的第三方軟件和硬件,就可以相互交換數(shù)據(jù)或集成

15、談一下你的項(xiàng)目選擇Struts2的理由?

①Action是POJO類,沒有依賴Servlet API,具有良好的可測試性; ②強(qiáng)大的攔截器,簡化了開發(fā)的復(fù)雜度;

③支持多種表現(xiàn)層技術(shù):JSP、Freemarker等; ④靈活的驗(yàn)證方式; ⑤國際化(I18N)支持 ⑥聲明式異常管理;

⑦通過JSON插件簡化Ajax; ⑧通過Spring插件跟Spring整合;

16、談一下攔截器和過濾器的區(qū)別?

攔截器和過濾器都可以用來實(shí)現(xiàn)橫切關(guān)注功能,其區(qū)別主要在于: ①攔截器是基于JAVA反射機(jī)制的,而過濾器是基于函數(shù)回調(diào)的

②過濾器依賴于Servlet容器,而攔截器不依賴于Servlet容器

③攔截器只能對Action請求起作用(Action中的方法),而過濾器可以對幾乎所有的請求起作用(CSS JSP JS)

17、Spring支持的事務(wù)管理類型?

編程式事務(wù)管理:編程的方式管理事物,極大的靈活性,難維護(hù)

聲明式事務(wù)管理:可以將業(yè)務(wù)代碼和事物管理分離、只需要用注解和XML配置來管理事物

php中文網(wǎng),大量的免費(fèi)Java入門教程,歡迎在線學(xué)習(xí)!?

Atas ialah kandungan terperinci Java中高級面試題(附答案). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Bagaimana menangani transaksi di Java dengan JDBC? Bagaimana menangani transaksi di Java dengan JDBC? Aug 02, 2025 pm 12:29 PM

Untuk mengendalikan transaksi JDBC dengan betul, anda mesti terlebih dahulu mematikan mod komit automatik, kemudian melakukan pelbagai operasi, dan akhirnya melakukan atau mengembalikan semula hasilnya; 1. Panggil Conn.SetAutOcommit (palsu) untuk memulakan transaksi; 2. Melaksanakan pelbagai operasi SQL, seperti memasukkan dan mengemaskini; 3. Panggil Conn.Commit () jika semua operasi berjaya, dan hubungi conn.rollback () jika pengecualian berlaku untuk memastikan konsistensi data; Pada masa yang sama, cuba-dengan-sumber harus digunakan untuk menguruskan sumber, mengendalikan pengecualian dengan betul dan menutup sambungan untuk mengelakkan kebocoran sambungan; Di samping itu, adalah disyorkan untuk menggunakan kolam sambungan dan menetapkan mata simpan untuk mencapai rollback separa, dan menyimpan urus niaga sesingkat mungkin untuk meningkatkan prestasi.

Bagaimana untuk bekerja dengan kalendar di Jawa? Bagaimana untuk bekerja dengan kalendar di Jawa? Aug 02, 2025 am 02:38 AM

Gunakan kelas dalam pakej Java.Time untuk menggantikan kelas lama dan kelas kalendar; 2. Dapatkan tarikh dan masa semasa melalui LocalDate, LocalDateTime dan Tempatan Tempatan; 3. Buat tarikh dan masa tertentu menggunakan kaedah (); 4. Gunakan kaedah tambah/tolak untuk meningkatkan dan mengurangkan masa; 5. Gunakan zoneddatetime dan zonid untuk memproses zon waktu; 6. Format dan parse date string melalui DateTimeFormatter; 7. Gunakan segera untuk bersesuaian dengan jenis tarikh lama apabila perlu; pemprosesan tarikh di java moden harus memberi keutamaan untuk menggunakan java.timeapi, yang memberikan jelas, tidak berubah dan linear

Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pra-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless scenarios.tyvelopecosyste,

Pergi dengan contoh contoh pembalakan middleware http Pergi dengan contoh contoh pembalakan middleware http Aug 03, 2025 am 11:35 AM

HTTP Log Middleware di GO boleh merakam kaedah permintaan, laluan, IP klien dan memakan masa. 1. Gunakan http.handlerfunc untuk membungkus pemproses, 2. Rekod waktu mula dan masa akhir sebelum dan selepas memanggil next.servehttp, 3. Dapatkan IP pelanggan sebenar melalui r.remoteaddr dan X-forward-for headers, 4. Gunakan log.printf untuk mengeluarkan log permintaan, 5. Kod sampel lengkap telah disahkan untuk dijalankan dan sesuai untuk memulakan projek kecil dan sederhana. Cadangan lanjutan termasuk menangkap kod status, menyokong log JSON dan meminta penjejakan ID.

Bagaimana pengumpulan sampah berfungsi di java? Bagaimana pengumpulan sampah berfungsi di java? Aug 02, 2025 pm 01:55 PM

Koleksi Sampah Java (GC) adalah mekanisme yang secara automatik menguruskan ingatan, yang mengurangkan risiko kebocoran ingatan dengan menuntut semula objek yang tidak dapat dicapai. 1.GC menghakimi kebolehcapaian objek dari objek akar (seperti pembolehubah stack, benang aktif, medan statik, dan lain -lain), dan objek yang tidak dapat dicapai ditandakan sebagai sampah. 2. Berdasarkan algoritma penandaan tanda, tandakan semua objek yang dapat dicapai dan objek yang tidak ditandai. 3. Mengamalkan strategi pengumpulan generasi: Generasi Baru (Eden, S0, S1) sering melaksanakan MinorGC; Orang tua melakukan kurang tetapi mengambil masa lebih lama untuk melakukan MajorGC; Metaspace Stores Metadata kelas. 4. JVM menyediakan pelbagai peranti GC: SerialGC sesuai untuk aplikasi kecil; ParallelGC meningkatkan throughput; CMS mengurangkan

Menggunakan jenis html `input` untuk data pengguna Menggunakan jenis html `input` untuk data pengguna Aug 03, 2025 am 11:07 AM

Memilih jenis htmlinput yang betul dapat meningkatkan ketepatan data, meningkatkan pengalaman pengguna, dan meningkatkan kebolehgunaan. 1. Pilih jenis input yang sepadan mengikut jenis data, seperti teks, e -mel, tel, nombor dan tarikh, yang secara automatik boleh menyemak dan menyesuaikan diri dengan papan kekunci; 2. Gunakan HTML5 untuk menambah jenis baru seperti URL, Warna, Julat dan Carian, yang dapat memberikan kaedah interaksi yang lebih intuitif; 3. Gunakan pemegang tempat dan sifat -sifat yang diperlukan untuk meningkatkan kecekapan dan ketepatan pengisian bentuk, tetapi harus diperhatikan bahawa pemegang tempat tidak dapat menggantikan label.

Membandingkan Java Build Tools: Maven vs Gradle Membandingkan Java Build Tools: Maven vs Gradle Aug 03, 2025 pm 01:36 PM

GradleisthebetterChoiceFormostNewProjectSduetoitSsuperiorflexibility, Prestasi, danModernToolingSupport.1.Gradle'sGroovy/KOT lindslismoreconciseandexpressivethanmaven'sverbosexml.2.GradleOutPerformsMaveninBuildSpeedWithIncrementalcompilation, BuildCac

Pergi dengan contoh penangguhan yang dijelaskan Pergi dengan contoh penangguhan yang dijelaskan Aug 02, 2025 am 06:26 AM

Defer digunakan untuk melaksanakan operasi tertentu sebelum fungsi pulangan, seperti sumber pembersihan; Parameter dinilai dengan serta-merta apabila menangguhkan, dan fungsi-fungsi dilaksanakan mengikut urutan terakhir (LIFO); 1. Pelbagai penahanan dilaksanakan dalam urutan terbalik pengisytiharan; 2. Biasanya digunakan untuk pembersihan yang selamat seperti penutupan fail; 3. Nilai pulangan yang dinamakan boleh diubah suai; 4. Ia akan dilaksanakan walaupun panik berlaku, sesuai untuk pemulihan; 5. Elakkan penyalahgunaan menangguhkan gelung untuk mengelakkan kebocoran sumber; Penggunaan yang betul boleh meningkatkan keselamatan kod dan kebolehbacaan.

See all articles