談談對JDK和JVM的理解,它們之間有什麼聯繫
JDK是Java Develope Kit的縮寫,指的是JAVA開發工具包,包含一系列的開發工具(比如:javac - java源碼編譯工具、java - java代碼的執行工具、javap - 自帶的反編譯工具等)以及一些基礎類(比如:常用數據結構、集合、IO操作、數學運算庫等)
JVM是java虛擬機的縮寫,虛擬機可以認為是java代碼的執行引擎,主要用於加載class文件,分配、管理程序運行的內存、將字節碼解析為機器碼等。正式有了JVM的存在,才有了java 一次編譯,到處運行的特性;
JVM本質上也是一個可執行的應用程序,屬於JDK的一部分;它們之間的關係如下圖所示:
談一談對spring框架的理解
這個題目可以說是既簡單又不簡單,基本上誰都可以給出一個回答,但又沒有一個標準的回答;個人覺得需要抓住以下幾個關鍵點來回答:
- Spring是最初是java領域的開發框架,同時也支持了部分JVM系列的其他語言,比如:groovy、kotlin等;
- Spring使得java企業級應用程序開發更加簡單,比如:spring-web可以讓我們快速開發WEB應用程序,大大簡化了開發、配置工作;jdbcTemplate的數據庫操作,讓我們少些很多代碼能;
- Spring生態非常好,包含了幾乎所有的java企業應用的生態場景;