自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 六、G1垃圾收集器

G1垃圾处理器使用范围:服务器拥有多个服务器,大内存;G1:将JVM堆划分为大小相等的region,最多有2048个reqion,region的角色是变化;可能显示是Eden区域,一次垃圾回收之后就是Old区域了。年轻代默认占比5%,由参数-XX:G1NewSizePercent指定;年轻代最大占比不超过60%,由参数-XX:G1MaxNewSizePercent指定;G1的特殊之处之一是对大对象的处理:大对象就是上图中显示的H区域,H区域判断条件是一个对象的大小>region的一半。举

2020-06-30 17:47:39 520 1

原创 springmvc源码01——servlet请求过程

servlet的请求过程符合MVC架构,其中:jsp表示View;设置数据表示model;servlet表示contrillor;springmvc其实是基于servlet架构的!

2020-06-27 16:26:32 224

原创 spring源码10——AbstractAutoProxyCreator.postProcessAfterInitialization

根据配置的拦截器创建一个代理/** * Create a proxy with the configured interceptors if the bean is * identified as one to proxy by the subclass. * @see #getAdvicesAndAdvisorsForBean */@Overridepublic Object postProcessAfterInitialization(@Nullable Object bean, Stri

2020-06-24 18:50:54 396

原创 spring源码09——AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization

applyBeanPostProcessorsAfterInitialization就是在bean初始化之后,执行的方法。public Object applyBeanPostProcessorsAfterInitialization(Object existingBean, String beanName) throws BeansException { Object result = existingBean; //获取所有的BeanPostProcessors进行遍历

2020-06-24 09:24:08 345

原创 spring源码08——finishBeanFactoryInitialization(beanFactory)

调用链:finishBeanFactoryInitialization(beanFactory)---->DefaultListableBeanFactory.preInstantiateSingletons();类名:DefaultListableBeanFactory对符合条件的bean进行初始化,条件就是:非抽象的,单实例的,非懒加载的public void preInstantiateSingletons() throws BeansException { if (

2020-06-24 08:38:23 252

原创 Java基础——lambda表达式

使用lambda表达式可以简化我们的代码,但是该表达式的使用有个前提:实现接口方法,并且该接口中只有一个方法。语法形式:(parameters) -> expression(parameters) -> {statements;}基本用法1、定义两个接口类,只有一个方法package com.company;/** * @author * @date 2020/6/23 */public interface MathOperation { int opera

2020-06-24 08:20:50 473

原创 spring源码07——AbstractAutowireCapableBeanFactory.initializeBean

类名:AbstractAutowireCapableBeanFactory#initializeBean protected Object initializeBean(final String beanName, final Object bean, RootBeanDefinition mbd) { if (System.getSecurityManager() != null) { AccessController.doPrivileged(new Privi

2020-06-16 20:09:43 579

原创 spring源码06——AbstractAutowireCapableBeanFactory.doCreateBean

类名:AbstractAutowireCapableBeanFactory protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, Object[] args) { BeanWrapper instanceWrapper = null; if (mbd.isSingleton()) { instanceWrapper = (BeanWrapp

2020-06-16 20:02:23 368

原创 spring源码05——AbstractBeanFactory.doGetBean

类名:AbstractBeanFactoryprotected <T> T doGetBean(String name, Class<T> requiredType, final Object[] args, boolean typeCheckOnly) throws BeansException { //格式化名称 final String beanName = this.transformedBeanName(name); //尝试从缓存中获取Bean,

2020-06-16 19:51:08 643

原创 spring源码04——AbstractApplicationContext.registerBeanPostProcessors

类名:AbstractApplicationContextprotected void registerBeanPostProcessors(ConfigurableListableBeanFactory beanFactory) { //先获取容器所有的BeanPostProcessor String[] postProcessorNames = beanFactory.getBeanNamesForType(BeanPostProcessor.class, true, false)

2020-06-16 19:06:04 284

原创 spring源码03——AbstractApplicationContext.refresh()

类名:AbstractApplicationContextpublic void refresh() throws BeansException, IllegalStateException { synchronized(this.startupShutdownMonitor) { this.prepareRefresh(); ConfigurableListableBeanFactory beanFactory = this.obtainF

2020-06-16 17:58:22 361

原创 spring源码01——AnnotationConfigApplicationContext

AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Test.class)类名:AnnotationConfigApplicationContext public AnnotationConfigApplicationContext(Class<?>... annotatedClasses) { this(); this.registe

2020-06-16 13:59:39 257

原创 spring源码02——registerBean源码解析

类名:AnnotatedBeanDefinitionReaderregisterBean(java.lang.Class<?>, java.lang.String, java.lang.Class<? extends java.lang.annotation.Annotation>…)public void registerBean(Class<?> annotatedClass, String name, Class<? extends Annotation&

2020-06-16 12:05:13 959

原创 创建AnnotationAwareAspectJAutoProxyCreator

2020-06-16 00:00:17 262

原创 loggger.error的正确使用姿势

logger.error有两个重载的方法:public void error(String msg);public void error(String msg, Throwable t);第一个方法只有一个String类型的参数;第二个方法两个参数,一个String类型,一个Throwable类型错误的使用姿势logger.error(e);logger.error(e.getMessage);logger.error("错误信息:" + e);默认会调用String参数的方法,将e转

2020-06-15 09:44:30 2784 1

原创 Spring使用——AOP功能测试

基本使用步骤配置类package com.ysy.config;import com.ysy.aop.LogAspect;import com.ysy.aop.MathCalculator;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annota

2020-06-11 23:42:33 440

原创 Spring使用——读取properties配置文件

配置类package com.ysy.config;import com.ysy.Person;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.PropertySource;/**@author shanyangyang@dat

2020-06-11 22:44:14 446

原创 Spring使用——@Profile使用

配置类package com.ysy.config;import com.ysy.bean.DataSource;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Profile;/** * @author shanyangyan

2020-06-11 22:39:56 363

原创 Spring使用——自动注入

配置类package com.ysy.config;import com.ysy.Dao.BookDao;import com.ysy.bean.Car;import com.ysy.bean.Color;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context

2020-06-11 22:37:04 269

原创 Spring使用——bean生命周期

配置类package com.ysy.config;import com.ysy.bean.Car;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;/** * @author shanyangyang

2020-06-11 22:33:22 271

原创 Spring使用——给容器注册组件

配置类/**给容器注册组件:1)包扫描+组件标注注解(@Controller,@Service,@Component,@Repository)[局限:自己写的]2)@Bean [导入的第三方包里面的组件]3)@Import[快速的给容器中导入组件]1)@Import(要导入到容器中的组件),容器中就会自动注册这个组件,id默认是全类名2)@ImportSelecor:返回需要导入的组件的全类名的数组3)ImportBeanDefinitionRegistrar:手动注册bean到容器中4

2020-06-11 22:25:29 265

原创 Spring使用——通过配置类注入Bean

配置类@Configuration //告诉spring这是一个配置类@ComponentScanvalue指定要扫描的包Filter[] excludeFilters() default {}; 扫描的时候按照规则排除哪些@ComponentScan(value = "com.ysy",excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,classes = {Controller.class,Service

2020-06-10 22:57:38 1623

原创 Linux系统中查找文件

在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。它的格式为”find <指定目录> <指定条件> <指定动作>“;比如使用find命令搜索在根目录下的所有名为ysy文件所在位置命令格式为:find / -name "ysy"(2) grep 是根据文件内容进行查找,会对文件的每一行按照给定的模式

2020-06-01 19:17:15 575

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除