在北漂了几个月后,拿到了几个还行的offer,然后跑来了心心念念的杭州。讲实话,杭州各方面我还是比较有好感的,如果非要说一点不好的,那一定是“杭州太不尊重冬天了”(你品,你细品!!)
鄙人目前虽然是在摄像头大厂混吃混喝,但是面对她的主动邀请(同花顺在拉勾私信俺,相信很多人碰见过类似情况吧!这些公司简直是渣男行径啊,大面积撒网,小范围捕捞),出于尊重也就投递了简历约定了面试。先不说问了写啥吧,因为之前对她的情况了解一些,知道她的PHP是正式生的,Java的话是后娘养的。这个在跟面试官交流的时候也证实了,得知他们Java是刚成立的,有一个三年的Java做负责人,剩下的基本都是应届生了吧,所以我就呵呵了!!
这里主要有两个让我比较印象深的问题。一个自然是SpringBoot的启动过程,另一个是容器部署时需要配置哪些JVM参数,对JVM参数和优化了解多少。 在这里我们先聊一聊SpringBoot这个东东,另一个在下一篇分享。
我们知道SpringBoot是一个在使用,搭建优于SSM框架的流行框架。它的优势在于Spring starter解决bean之间的依赖和内置Tomcat。虽然用的是简便舒服,但是知其然,不知其所以然的感觉不是俺想要的哦!所以,下面从SpringBoot的@SpringBootApplication这个注解切入。首先我们来看看这个注解的作用是什么。
一 @SpringBootApplication的作用 @SpringBootApplication由以下三个注解组成:
这里出现了Spring自带的工具:SpringFactoriesLoader,这个工具是去读“META-IN/spring.factories”下的文件,这个文件里都是配置类的全限定名。 在拿到类的全限定名之后通过反射的手段获取类的实例,然后注入到IOC容器中。 总结一下:@SpringBootApplication先通过@Configuration将启动类做成一个配置类,然后通过@EnableAutoConfiguration将spring.factories中的配置类注入到IOC容器中,再通过@Conponent扫描其他组件将其注入到IOC中。
二 SpringBoot的启动过程 SpringBoot启动后主要做的就是如下这些动作!