自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BeanFactory和FactoryBean的区别

1.BeanFactoryBeanFactory是接口,提供了IOC容器最基本的形式,给具体的IOC容器的实现提供了规范,负责生产和管理bean的一个工厂职责包括:实例化、判断是否包含、配置应用程序中的对象及建立这些对象间的依赖。boolean containsBean(String beanName)判断工厂中是否包含给定名称的bean定义,若有则返回true Object getBean(String)返回给定名称注册的bean实例。根据bean的配置情况,如果是singl..

2021-05-27 10:49:19 51

原创 线程池是怎么重复利用线程的

当线程执行任务时会调用Worker对象的run方法 private final class Worker extends AbstractQueuedSynchronizer implements Runnable { Worker(Runnable firstTask) { setState(-1); // inhibit interrupts until runWorker

2021-05-09 10:28:15 106

原创 ThreadLocal原理

ThreadLocal 实例 通常是类中的私有静态final变量,常用于将状态与线程关联ThreadLocal 类 提供了 get/set 线程局部变量的实现,每个线程都可以通过 ThreadLocal 成员变量 get/set 自己的专属值。ThreadLocal能为每个 Thread线程 绑定一个专属值的奥秘就是:每个Thread对象都持有一个 ThreadLocalMap类型的成员变量,其key为ThreadLocal对象,value为绑定的值ThreadLocal部分源码publi

2021-05-07 17:35:29 125

原创 线程池 ThreadPoolExecutor 执行任务原理

1.调用线程池的execute方法public void execute(Runnable command) { ...... addWorker(command, true) ......}2.addWorker方法private boolean addWorker(Runnable firstTask, boolean core) { ...... w = new Worker(firstTask); final.

2021-05-07 11:11:29 70

原创 线程池拒绝策略

//以当前调用线程跑任务public static class CallerRunsPolicy implements RejectedExecutionHandler { public CallerRunsPolicy() { } public void rejectedExecution(Runnable r, ThreadPoolExecutor e) { if (!e.isShutdown()) { r.run(); } .

2021-05-07 10:54:51 78

原创 638. 大礼包

在LeetCode商店中, 有许多在售的物品。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。现给定每个物品的价格,每个大礼包包含物品的清单,以及待购物品清单。请输出确切完成待购清单的最低花费。每个大礼包的由一个数组中的一组数据描述,最后一个数字代表大礼包的价格,其他数字分别表示内含的其他种类物品的数量。任意大礼包可无限次购买。示例 1:输入: [2,5],...

2018-12-07 12:25:32 653

原创 343. 整数拆分

给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。思路:整数n可以划分为若...

2018-12-06 17:14:20 123

原创 889. 根据前序和后序遍历构造二叉树

返回与给定的前序和后序遍历匹配的任何二叉树。 pre 和 post 遍历中的值是不同的正整数。 示例:输入:pre = [1,2,4,5,3,6,7], post = [4,5,2,6,7,3,1]输出:[1,2,3,4,5,6,7]提示:1 <= pre.length == post.length <= 30 pre[] 和 post[] 都是 1,...

2018-12-06 16:41:22 201

原创 Eclipse安装Git

方式一打开eclipse,点击help--Install New Software 点击Add添加Name与地址,EGit    http://download.eclipse.org/egit/updates 等待几秒,点击Select All,然后一路点击Next. Review Licenses:accept方式二打开eclipse,help--marketplace Fi...

2018-11-16 13:14:54 350

原创 maven中GroupID 和ArtifactID

GroupID :是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID:是项目的唯一的标识符,定义了当前maven项目在组中唯一的ID,实际对应项目的名称,就是项目根目录的名称。推荐的做法是使用实际项目的名称作为artifactId的前缀。version:指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中...

2018-11-04 15:35:21 248

原创 maven 细节 —— scope

scope的分类compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit,必须在测试代码(测试目录下,src/test/java)中才会识别 org.junit.* 下的类和成员;runtime:表示被...

2018-11-04 15:33:03 85

原创 maven中的dependencyManagement

DepencyManagement应用场景统一的依赖管理,目的就是统一项目使用到的依赖。 使用dependencyManagement让所有的子项目使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。通过它来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有depend...

2018-11-04 15:31:41 194

原创 spring2.5组件自动扫描机制@Component、@Service、@Controller、@Repository

采用xml的bean定义来配置会增加配置文件的体积,查找及维护起来不太方便,引入了组件自动扫描机制使编程更为轻松。

2018-09-08 22:28:51 303

空空如也

空空如也

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

TA关注的人

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