在src/main/resources
中新增一个const.properties
文件,内容如下:
email=javacode2018@163.com
jdbc.url=${jdbc.url}
jdbc.username= j d b c . u s e r n a m e jdbc.username jdbc.username
jdbc.password=##jdbc.password##
执行下面命令:
D:\code\IdeaProjects\b2b>mvn clean package -pl :b2b-account-service
[INFO] Scanning for projects…
[INFO]
[INFO] ----------------< com.javacode2018:b2b-account-service >----------------
[INFO] Building b2b-account-service 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] — maven-clean-plugin:2.5:clean (default-clean) @ b2b-account-service —
[INFO] Deleting D:\code\IdeaProjects\b2b\b2b-account\b2b-account-service\target
[INFO]
[INFO] — maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-service —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ b2b-account-service —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-account-service —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-account-service —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-surefire-plugin:2.12.4:test (default-test) @ b2b-account-service —
[INFO]
[INFO] — maven-jar-plugin:2.4:jar (default-jar) @ b2b-account-service —
[INFO] Building jar: D:\code\IdeaProjects\b2b\b2b-account\b2b-account-service\target\b2b-account-service-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.667 s
[INFO] Finished at: 2019-11-21T18:26:01+08:00
[INFO] ------------------------------------------------------------------------
看一下target/classes
中,如下图:
target/classes/const.properties
内容变成下面这样了:
email=javacode2018@163.com
jdbc.url=${jdbc.url}
jdbc.username=root
jdbc.password=root
说明const.properteis
也被替换了。2个资源文件都被复制到了target中,如果我们不想让cont.properties
被复制到target/classes
目录,我们怎么做?我们需要在资源构建的过程中排除他,可以使用exclude
元素信息进行排除操作。
修改pom.xml中resources
元素配置如下:
${project.basedir}/src/main/resources
true
**/jdbc.properties
**/const.properties
上面使用
includes
列出需要被处理的,使用excludes
排除需要被处理的资源文件列表,采用通配符的写法,**匹配任意深度的文件路径,*匹配任意个字符。
再执行下面命令:
mvn clean package -pl :b2b-account-service
再看一下target/classes
中,如下:
const.properties
被排除了,确实没有被复制过来。
如果此时我想让const.propertis
只是被复制到target下面,但是不要去替换里面的内容,该怎么做呢?此时需要配置多个resouce
元素了,如下案例。
多个resource元素的使用案例
修改pom.xml中resources
,如下:
${project.basedir}/src/main/resources
true
**/jdbc.properties
${project.basedir}/src/main/resources
**/const.properties
现在pom.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?><project xmlns=“http://maven.apache.org/POM/4.0.0”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
4.0.0
com.javacode2018
b2b-account-service
1.0-SNAPSHOT
UTF-8
<jdbc.url>jdbc:mysql://localhost:3306/javacode2018?characterEncoding=UTF-8</jdbc.url>
<jdbc.username>root</jdbc.username>
<jdbc.password>root</jdbc.password>
com.javacode2018
b2b-account-api
${project.version}
${project.basedir}/src/main/resources
true
**/jdbc.properties
${project.basedir}/src/main/resources
**/const.properties
${project.basedir}/src/test/resources
true
org.apache.maven.plugins
maven-resources-plugin
2.6
false
∗ * ∗
##
执行命令看效果:
D:\code\IdeaProjects\b2b>mvn clean package -pl :b2b-account-service
[INFO] Scanning for projects…
[INFO]
[INFO] ----------------< com.javacode2018:b2b-account-service >----------------
[INFO] Building b2b-account-service 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] — maven-clean-plugin:2.5:clean (default-clean) @ b2b-account-service —
[INFO] Deleting D:\code\IdeaProjects\b2b\b2b-account\b2b-account-service\target
[INFO]
[INFO] — maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-service —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ b2b-account-service —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-account-service —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-account-service —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-surefire-plugin:2.12.4:test (default-test) @ b2b-account-service —
[INFO]
[INFO] — maven-jar-plugin:2.4:jar (default-jar) @ b2b-account-service —
[INFO] Building jar: D:\code\IdeaProjects\b2b\b2b-account\b2b-account-service\target\b2b-account-service-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.116 s
[INFO] Finished at: 2019-11-21T18:38:59+08:00
[INFO] ------------------------------------------------------------------------
上面有如下输出:
[INFO] — maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-service —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
插件处理了2个资源文件。
我们看一下target/classes
目录下两个文件的内容。
jdbc.proerties:
jdbc.url=${jdbc.url}
jdbc.username=root
jdbc.password=root
const.properties:
email=javacode2018@163.com
jdbc.url=${jdbc.url}
jdbc.username= j d b c . u s e r n a m e jdbc.username jdbc.username
jdbc.password=##jdbc.password##
2个资源都被复制到target/classes目录了,只有jdbc.properties
中的内容被替换了。
关于资源文件处理的,更详细的过程可以去看这个插件的源码,下面我们来说多环境处理的问题。
使用profiles处理多环境构建问题
maven支持让我们配置多套环境,每套环境中可以指定自己的maven属性,mvn命令对模块进行构建的时候可以通过-P
参数来指定具体使用哪个环境的配置,具体向下看。
profiles元素支持定义多套环境的配置信息,配置如下用法:
测试环境配置信息
开发环境配置信息
线上环境配置信息
环境n配置信息
profiles中包含多个profile元素,每个profile可以表示一套环境,profile示例如下:
dev
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
id:表示这套环境的标识信息,properties可以定义环境中使用到的属性列表。
执行mvn命令编译的时候可以带上一个
-P profileid
来使用指定的环境进行构建。
指定环境进行构建
在b2b-account-service/pom.xml
加入下面配置:
dev
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
test
<jdbc.url>test jdbc url</jdbc.url>
<jdbc.username>test jdbc username</jdbc.username>
<jdbc.password>test jdbc password</jdbc.password>
prod
<jdbc.url>test jdbc url</jdbc.url>
<jdbc.username>test jdbc username</jdbc.username>
<jdbc.password>test jdbc password</jdbc.password>
将pom.xml的project->properties
中的下面几个元素干掉,这些和profile中的重复了,需要干掉:
<jdbc.url>jdbc:mysql://localhost:3306/javacode2018?characterEncoding=UTF-8</jdbc.url>
<jdbc.username>root</jdbc.username>
<jdbc.password>root</jdbc.password>
此时pom.xml内容如下,建议大家直接贴进去:
<?xml version="1.0" encoding="UTF-8"?><project xmlns=“http://maven.apache.org/POM/4.0.0”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
4.0.0
com.javacode2018
b2b-account-service
1.0-SNAPSHOT
UTF-8
dev
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
test
<jdbc.url>test jdbc url</jdbc.url>
<jdbc.username>test jdbc username</jdbc.username>
<jdbc.password>test jdbc password</jdbc.password>
prod
<jdbc.url>prod jdbc url</jdbc.url>
<jdbc.username>prod jdbc username</jdbc.username>
<jdbc.password>prod jdbc password</jdbc.password>
com.javacode2018
b2b-account-api
${project.version}
${project.basedir}/src/main/resources
true
**/jdbc.properties
${project.basedir}/src/main/resources
**/const.properties
${project.basedir}/src/test/resources
true
org.apache.maven.plugins
maven-resources-plugin
2.6
false
∗ * ∗
##
修改src/main/resource/jdbc.properties
内容如下:
jdbc.url= j d b c . u r l jdbc.url jdbc.url
jdbc.username= j d b c . u s e r n a m e jdbc.username jdbc.username
jdbc.password=##jdbc.password##
运行下面的构建命令:
D:\code\IdeaProjects\b2b>mvn clean package -pl :b2b-account-service -Pdev
[INFO] Scanning for projects…
[INFO]
[INFO] ----------------< com.javacode2018:b2b-account-service >----------------
[INFO] Building b2b-account-service 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] — maven-clean-plugin:2.5:clean (default-clean) @ b2b-account-service —
[INFO] Deleting D:\code\IdeaProjects\b2b\b2b-account\b2b-account-service\target
[INFO]
[INFO] — maven-resources-plugin:2.6:resources (default-resources) @ b2b-account-service —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ b2b-account-service —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-resources-plugin:2.6:testResources (default-testResources) @ b2b-account-service —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-compiler-plugin:3.1:testCompile (default-testCompile) @ b2b-account-service —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-surefire-plugin:2.12.4:test (default-test) @ b2b-account-service —
[INFO]
[INFO] — maven-jar-plugin:2.4:jar (default-jar) @ b2b-account-service —
[INFO] Building jar: D:\code\IdeaProjects\b2b\b2b-account\b2b-account-service\target\b2b-account-service-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.361 s
[INFO] Finished at: 2019-11-21T18:51:16+08:00
[INFO] ------------------------------------------------------------------------
注意上面命令中多了一个
-Pdev
参数,-P后面跟的是pom.xml中profile的id
,表示需要使用那套环境进行构建。此时我们使用的是dev
环境,即开发环境。
看一下target/classes/jdbc.properties
,内容变成了下面这样:
jdbc.url=dev jdbc url
jdbc.username=dev jdbc username
jdbc.password=dev jdbc password
上面文件的内容和pom.xml中dev的profile中的properties对比一下,内容是不是一样的,说明资源文件中内容被替换为了dev环境的配置,我们再来试试test
环境,执行下面命令:
mvn clean package -pl :b2b-account-service -Ptest
看一下target/classes/jdbc.properties
,内容变成了下面这样:
jdbc.url=test jdbc url
jdbc.username=test jdbc username
jdbc.password=test jdbc password
看到了么,神奇的效果出现了,test环境起效了。
开启默认环境配置
我们在执行下面命令:
mvn clean package -pl :b2b-account-service
看一下target/classes/jdbc.properties
,内容变成了下面这样:
jdbc.url= j d b c . u r l jdbc.url jdbc.url
jdbc.username= j d b c . u s e r n a m e jdbc.username jdbc.username
jdbc.password=##jdbc.password##
内容没有被替换,因为我们没有通过-P来指定具体使用哪个环境进行构建,所以出现了这种现象。
但是我们可以指定一个默认开启的配置,我们默认开启dev的配置,修改dev的profile元素,在这个元素下面加上:
true
activeByDefault表示默认开启这个环境的配置,默认值是false,这个地方我们设置为true,表示开启默认配置。
此时dev的配置如下:
dev
true
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
执行下面命令:
mvn clean package -pl :b2b-account-service
看一下target/classes/jdbc.properties
,内容变成了下面这样:
jdbc.url=dev jdbc url
jdbc.username=dev jdbc username
jdbc.password=dev jdbc password
这次我们没有指定环境,默认使用了dev环境。
通过maven属性来控制环境的开启
刚才上面说了通过-P profileId的方式来指定环境,现在我们想通过自定义的属性值来控制使用哪个环境。
可以在profile元素中加入下面配置
属性xx
属性xx的值
那么我们可以在mvn后面跟上下面的命令可以开启匹配的环境:
mvn … -D属性xx=属性xx的值
-D可以通过命令行指定一些属性的值,这个前面有讲过,-D后面的属性会和activation->properties中的name、value进行匹配,匹配成功的环境都会被开启。
将pom.xml中profiles
元素修改成下面这样:
dev
true
env
env_dev
<jdbc.url>dev jdbc url</jdbc.url>
<jdbc.username>dev jdbc username</jdbc.username>
<jdbc.password>dev jdbc password</jdbc.password>
test
env
env_test
<jdbc.url>test jdbc url</jdbc.url>
<jdbc.username>test jdbc username</jdbc.username>
<jdbc.password>test jdbc password</jdbc.password>
prod
env
env_prod
<jdbc.url>prod jdbc url</jdbc.url>
<jdbc.username>prod jdbc username</jdbc.username>
<jdbc.password>prod jdbc password</jdbc.password>
运行命令:
mvn clean package -pl :b2b-account-service -Denv=env_prod
target/classes/jdbc.properties
内容如下:
jdbc.url=prod jdbc url
jdbc.username=prod jdbc username
jdbc.password=prod jdbc password
说明使用到了prod环境的配置。
启动的时候指定多个环境
可以在-P
参数后跟多个环境的id,多个之间用逗号隔开,当使用多套环境的时候,多套环境中的maven属性会进行合并,如果多套环境中属性有一样的,后面的会覆盖前面的。
运行下面命令看效果:
mvn clean package -pl :b2b-account-service -Pdev,test,prod
修改pom.xml中的profiles元素,如下:
dev
true
env
env_dev
<jdbc.url>dev jdbc url</jdbc.url>
test
env
env_test
<jdbc.username>test jdbc username</jdbc.username>
prod
env
env_prod
<jdbc.password>prod jdbc password</jdbc.password>
注意看一下上面3个环境中都只有一个自定义属性了
下面我们同时使用3个环境,执行下面命令:
mvn clean package -pl :b2b-account-service -Pdev,test,prod
target中的jdbc.properties文件变成了这样:
jdbc.url=dev jdbc url
jdbc.username=test jdbc username
jdbc.password=prod jdbc password
查看目前有哪些环境
命令:
mvn help:all-profiles
案例:
D:\code\IdeaProjects\b2b>mvn help:all-profiles -pl :b2b-account-service
[INFO] Scanning for projects…
[INFO]
[INFO] ----------------< com.javacode2018:b2b-account-service >----------------
[INFO] Building b2b-account-service 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] — maven-help-plugin:3.2.0:all-profiles (default-cli) @ b2b-account-service —
[INFO] Listing Profiles for Project: com.javacode2018:b2b-account-service:jar:1.0-SNAPSHOT
Profile Id: dev (Active: true , Source: pom)
Profile Id: prod (Active: false , Source: pom)
Profile Id: test (Active: false , Source: pom)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.527 s
[INFO] Finished at: 2019-11-21T19:16:34+08:00
[INFO] ------------------------------------------------------------------------
从输出中可以看到有3个环境,他们的id,默认激活的是那个等信息。
查看目前激活的是哪些环境
命令:
mvn help:active-profiles
案例:
D:\code\IdeaProjects\b2b>mvn help:active-profiles -pl :b2b-account-service -Ptest,prod
[INFO] Scanning for projects…
[INFO]
[INFO] ----------------< com.javacode2018:b2b-account-service >----------------
[INFO] Building b2b-account-service 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] — maven-help-plugin:3.2.0:active-profiles (default-cli) @ b2b-account-service —
[INFO]
Active Profiles for Project ‘com.javacode2018:b2b-account-service:jar:1.0-SNAPSHOT’:
The following profiles are active:
- test (source: com.javacode2018:b2b-account-service:1.0-SNAPSHOT)
- prod (source: com.javacode2018:b2b-account-service:1.0-SNAPSHOT)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.387 s
[INFO] Finished at: 2019-11-21T19:25:56+08:00
[INFO] ------------------------------------------------------------------------
从输出中可以看到启用了2套环境,分别是test
和prod
。
新问题:配置太分散了
我们的系统中有2个模块需要用到数据库的配置,这两个模块是:
b2b-account-service
b2b-order-service
上面我们介绍了b2b-account-service
不同环境的构建操作,是在pom.xml
中进行配置的,b2b-order-service
中数据的配置也可以这么做,如果以后有更多的模块都需要连接不同的数据库,是不是每个模块中都需要配置这样的pom.xml
,那时候数据库的配置分散在几十个pom.xml
文件中,如果运维需要修改数据库的配置的时候,需要去每个模块中去修改pom.xml
中的属性,这种操作会让人疯掉的,我们可以怎么做?
我们可以将数据库所有的配置放在一个文件中,运维只用修改这一个文件就行了,然后执行构件操作,重新发布上线,就ok了。
maven支持我们这么做,可以在profile中指定一个外部属性文件xx.properties
,文件内容是这种格式的:
key1=value1
key2=value2
keyn=value2
然后在profile元素中加入下面配置:
xx.properties文件路径(相对路径或者完整路径)
上面的filter
元素可以指定多个,当有多个外部属性配置文件的时候,可以指定多个来进行引用。
然后资源文件复制的时候就可以使用下面的方式引用外部资源文件的内容:
xxx=${key1}
案例
新建文件b2b/config/dev.properties
,内容如下:
# b2b-account-service jdbc配置信息
b2b-account-service.jdbc.url=dev_account_jdbc_url
b2b-account-service.jdbc.username=dev_account_jdbc_username
b2b-account-service.jdbc.password=dev_account_jdbc_password
# b2b-order-service jdbc配置信息
b2b-order-service.jdbc.url=dev_order_jdbc_url
b2b-order-service.jdbc.username=dev_order_jdbc_username
b2b-order-service.jdbc.password=dev_order_jdbc_password
新建文件b2b/config/test.properties
,内容如下:
# b2b-account-service jdbc配置信息
b2b-account-service.jdbc.url=test_account_jdbc_url
b2b-account-service.jdbc.username=test_account_jdbc_username
b2b-account-service.jdbc.password=test_account_jdbc_password
# b2b-order-service jdbc配置信息
b2b-order-service.jdbc.url=test_order_jdbc_url
b2b-order-service.jdbc.username=test_order_jdbc_username
b2b-order-service.jdbc.password=test_order_jdbc_password
新建文件b2b/config/prod.properties
,内容如下:
# b2b-account-service jdbc配置信息
b2b-account-service.jdbc.url=prod_account_jdbc_url
b2b-account-service.jdbc.username=prod_account_jdbc_username
b2b-account-service.jdbc.password=prod_account_jdbc_password
# b2b-order-service jdbc配置信息
b2b-order-service.jdbc.url=prod_order_jdbc_url
b2b-order-service.jdbc.username=prod_order_jdbc_username
b2b-order-service.jdbc.password=prod_order_jdbc_password
b2b-account-service/src/main/resource/jdbc.properties
文件内容:
jdbc.url=${b2b-account-service.jdbc.url}
jdbc.username=${b2b-account-service.jdbc.username}
jdbc.password=${b2b-account-service.jdbc.password}
看到了没,这里面
${}
中的属性名称取的是上面b2b/config
目录中资源文件中的属性名称。
b2b-order-service/src/main/resource/jdbc.properties
文件内容:
jdbc.url=${b2b-order-service.jdbc.url}
jdbc.username=${b2b-order-service.jdbc.username}
jdbc.password=${b2b-order-service.jdbc.password}
b2b-account/pom.xml
内容如下:
<project xmlns=“http://maven.apache.org/POM/4.0.0”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
4.0.0
com.javacode2018
b2b-account-service
1.0-SNAPSHOT
com.javacode2018
b2b-account-api
${project.version}
UTF-8
dev
true
env
env_dev
…/…/config/dev.properties
test
env
env_test
…/…/config/test.properties
prod
env
env_prod
…/…/config/prod.properties
${project.basedir}/src/main/resources
true
${project.basedir}/src/test/resources
true
b2b-order/pom.xml
内容如下:
<project xmlns=“http://maven.apache.org/POM/4.0.0”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
4.0.0
com.javacode2018
b2b-order-service
1.0-SNAPSHOT
${project.groupId}
b2b-account-api
${project.version}
${project.groupId}
b2b-order-api
${project.version}
UTF-8
dev
true
env
env_dev
…/…/config/dev.properties
test
env
env_test
…/…/config/test.properties
prod
env
env_prod
…/…/config/prod.properties
${project.basedir}/src/main/resources
true
${project.basedir}/src/test/resources
true
最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
JVM面试专题
Java并发面试专题
Kafka面试专题
MongDB面试专题
MyBatis面试专题
MySQL面试专题
Netty面试专题
RabbitMQ面试专题
Redis面试专题
Spring Cloud面试专题
SpringBoot面试专题
zookeeper面试专题
常见面试算法题汇总专题
计算机网络基础专题
设计模式专题
roperty>
env
env_dev
…/…/config/dev.properties
test
env
env_test
…/…/config/test.properties
prod
env
env_prod
…/…/config/prod.properties
${project.basedir}/src/main/resources
true
${project.basedir}/src/test/resources
true
最后
即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!
我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:
Dubbo面试专题
[外链图片转存中…(img-znGcevMc-1719166223789)]
JVM面试专题
[外链图片转存中…(img-e1y3UPr3-1719166223790)]
Java并发面试专题
[外链图片转存中…(img-tkj26ZNc-1719166223790)]
Kafka面试专题
[外链图片转存中…(img-1SpuVOU2-1719166223790)]
MongDB面试专题
[外链图片转存中…(img-x62ZmtDT-1719166223791)]
MyBatis面试专题
[外链图片转存中…(img-djft8197-1719166223791)]
MySQL面试专题
[外链图片转存中…(img-k7vPjf8f-1719166223791)]
Netty面试专题
[外链图片转存中…(img-r41cWDCJ-1719166223792)]
RabbitMQ面试专题
[外链图片转存中…(img-501MWRGE-1719166223792)]
Redis面试专题
[外链图片转存中…(img-ST0n26G4-1719166223792)]
Spring Cloud面试专题
[外链图片转存中…(img-6z2S4ivK-1719166223793)]
SpringBoot面试专题
[外链图片转存中…(img-YaF27nPy-1719166223793)]
zookeeper面试专题
[外链图片转存中…(img-fLegd2Dt-1719166223793)]
常见面试算法题汇总专题
[外链图片转存中…(img-jNbtvjZI-1719166223794)]
计算机网络基础专题
[外链图片转存中…(img-9USx0AcB-1719166223794)]
设计模式专题
[外链图片转存中…(img-gjd3rQIE-1719166223794)]