前言
关于@Import注解的使用,在Spring源码中随处可见,其作用大家基本也都知道,无非就是注入指定的Bean到Spring IOC容器管理,只能作用用于类上,其用法分三种:普通的类直接注入、实现了ImportSelector接口的类、实现了ImportBeanDefinitionRegistrar接口的类,那么Spring具体是如何实现的?这三种方式又有何不同?一起跟进源码一探究竟,彻底了解Import的实现。
2024年08月04日
前言
关于@Import注解的使用,在Spring源码中随处可见,其作用大家基本也都知道,无非就是注入指定的Bean到Spring IOC容器管理,只能作用用于类上,其用法分三种:普通的类直接注入、实现了ImportSelector接口的类、实现了ImportBeanDefinitionRegistrar接口的类,那么Spring具体是如何实现的?这三种方式又有何不同?一起跟进源码一探究竟,彻底了解Import的实现。
2024年08月04日
接口内允许添加默认实现的方法
Java 8 允许我们通过 default 关键字对接口中定义的抽象方法提供一个默认的实现。
请看下面示例代码:
// 定义一个公式接口 interface Formula { // 计算 double calculate(int a); // 求平方根 default double sqrt(int a) { return Math.sqrt(a); } }
2024年08月04日
背景
用户:货都到了,购物车里怎么还有刚买的东西,what?产品:有用户反映,提单完成了,怎么没清购物车,研发赶紧看看是不是有bug啊?研发:恩,我看看,!@#¥%……&*()一顿狂查,搜嘎,当时在上线,重启应用,异步任务丢了……产品:能不能行,上线你就丢任务,丢不丢人啊!研发:…………
2024年08月04日
创建字符串常见的有两种方式:
2024年08月04日
Spring 3.0之前,创建Bean可以通过xml配置文件与扫描特定包下面的类来将类注入到Spring IOC容器内。而在Spring 3.0之后提供了JavaConfig的方式,也就是将IOC容器里Bean的元信息以java代码的方式进行描述。我们可以通过@Configuration与@Bean这两个注解配合使用来将原来配置在xml文件里的bean通过java代码的方式进行描述
2024年08月04日
摘要】 在Java中并发就是指多线程的进程环境,进程是系统进行资源分配和调度的独立单位,每一个进程都有它的内存空间和系统资源,在同一个进程内执行的多个任务就可以看作是多个进程,线程存在于进程内,进程负责分配调度线程,线程负责执行程序,多个线程就执行多个程序
2024年08月04日
老规矩,先看测试代码,测试代码很简单,每隔 100ms 运行一次 sayHi 方法,并随机随眠一段时间。
packageorg.xunche.app;publicclassHelloTraceAgent{publicstaticvoidmain(String[] args)throwsInterruptedException{HelloTraceAgent helloTraceAgent =newHelloTraceAgent();while(true) {helloTraceAgent.sayHi("xunche");Thread.sleep(100); } }publicStringsayHi(String name)throwsInterruptedException{ sleep();String hi ="hi, "+ name +", "+ System.currentTimeMillis();returnhi; }publicvoidsleep()throwsInterruptedException{Thread.sleep((long) (Math.random() *200)); }}
2024年08月04日
Java提供了强大的类库,帮助开发者快速完成开发任务,这也是其叱咤风云20多年的一个重要原因。我们现在就学习一些Java中常用的类。本文将介绍: