自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shine的博客

Success is your persistence

  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 LeetCode从两数之和到K数之和

LeetCode上关于两数之和的问题,从而扩展到多数之和等

2022-11-05 22:38:55 453 1

原创 Spring系列(四) 循环依赖那些事

随着我们代码中更多服务的出现与依赖关系的耦合,bean与bean之间的交互往往会涉及很多对其他类的依赖。我们通常用简单的Autowired、提供对应依赖对象的setter方法以及构造器中传入需要引用的其他对象,spring就可以完美的做好依赖关系自动装配。那么本节就来分析下spring中是如何完成bean之间这些依赖的自动查找与注入关于这个话题,最重要的是spring中用到的三级缓存。但spring中的循环依赖情况分很多种,会进行不同场景的依次分析。本片先介绍最简单的单例对象间的注解依赖方式包括字段上.

2021-08-22 14:51:08 260 1

原创 Dubbo系列(二)服务发布注册原理

前言DubboBootstrapApplicationListener extends OnceApplicationContextEventListener只触发一次容器事件监听的执行避免事件传播,适合用于容器初始化完成和关闭等。@SPI(DirectEventDispatcher.NAME)EventDispatcher默认采用DirectEventDispatcher实现类发布事件,直接使用单线程Executor DIRECT_EXECUTOR = Runnable::runEventL

2021-07-31 22:09:55 1683

原创 Dubbo系列(一) 从SPI开始看ExtensionLoader

ExtensionLoader的原理SPIjava中的SPISPI(Service Provider Interface)是java中一种服务发现机制,通过在classpath下的META-INF/services下指定一接口全路径名的文件中指定具体实现类(可配置多个),通过ServiceLoader进行动态可替换的服务方式调用。测试类package com.example.spi;import java.util.ServiceLoader;public class SpiMain {

2021-07-04 17:40:58 1276 1

原创 Spring系列(三) 从refresh看createBean源码解析

createBean解析spring当中单例bean的创建原理,其中涉及到了非常多阶段及各种处理器的调用启动代码通过注解配置类AppConfig启动一个容器,其中添加了一个自定义的beanFactoryPostProcessor, 注意:这个类是直接添加到beanFactoryPostProcessors中的,没有被spring当成bean放到单例map中 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationC

2021-06-28 20:19:11 190

原创 Java8 函数式编程

JDK 8 函数式编程用法概览jdk 8中新增了lambda和接口默认实现方式,简化了编程,让我们可以转换为新的函数式编程,更多关注于业务逻辑@FunctionalInterface 编译时期检验了接口只有唯一方法合法性,可以有多个默认实现方法@FunctionalInterfaceinterface INumberFunction{ int doubleNum(int num); default void printNum(int num){ System.out

2020-08-15 21:29:29 220

原创 Elasticsearch 6.8源码构建

Elasticsearch源码构建从elasticsearch github下载源码从github上下载clone下来或zip包git clone https://github.com/xiamoy/elasticsearch.gitgit checkout 6.8选择自己需要的分支,这里用了6.8的分支[因为集成了plugin x-pack很多特性], 对应的版本其实为6.8.11Gradle 环境准备及构建本地构建需要用gradle,在下载来的代码里可以看到具体需要的gradle、java

2020-07-26 12:10:47 895

原创 Spring IOC笔记之Autowire 注入方式

Spring IOC 一些常见容易忽略的问题,包括autowire/resource 注入,类型定义,循环依赖等,会后续不断补充。Autowire注入五种模式1.no默认,如果没找到在调用依赖对象时会抛NullPointerException2.byType根据bean class类型在容器中找到唯一一个对应的给目标对象注入当所注入的类型在容器中只有唯一对象时,较为简单不需要关注属性名或setter方法,以下分析多实现情况场景1 annotation @Autowired example:D

2020-06-26 20:12:38 1030

原创 Spring系列(二) AnnotationConfigApplicationContext

AnnotationConfigApplicationContext创建一个AnnotationConfigApplicationContext的方式及区别构造传入注解配置类,一步式解析 扫描 创建spring 容器AnnotationConfigApplicationContext context =new AnnotationConfigApplicationContext(AopConfig.class); 如果有自定义的BeanDefinitionRegistryPost

2020-05-09 20:03:07 1044

原创 spring系列(一)基本组件

spring系列(一)基本组件类级别注解@Component:通用注解组件,可被继承扩展为不同层次使用的专用组件.当某一个类在不属于其他典型层次中可作为选择使用@Controller: 控制层,所注解的为Controller类型与最前端用户数据交互,在web 中广泛与RequestMapping等结合使用@Service: 服务层,所注解的为一般业务类(如xxxServiceI...

2020-03-22 17:45:48 310

原创 Docker 部署Sonarqube

Docker 部署Sonarqube官方image 仓库:docker hubdocker search sonarqbedocker search mysqldocker search postgresSonarqube与MySQL部署Sonarqube与MySQL兼容问题:参考: sonarqube与mysqlsonarqube7.9后不再支持mysql,建议换成Postg...

2020-01-18 19:46:56 1238

原创 Docker安装及配置

windows 10安装不同操作系统有对应的docker 安装包,对应自己的系统去下载。win7/win8: 下载 docker toolbox,可以从阿里云镜像下载,或者官方地址下载最新win 10/MAC: 下载docker desktop, 从docker官方网站下载.(注意:需要登录才能下载,你要有docker账号)更多版本可参照:Docker安装这里以win10 为例,如果...

2020-01-18 12:04:04 367

转载 Idea 2018.02 ultimate破解安装

Idea 2018 ultimate破解安装下载Idea安装破解功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入俗话说...

2019-03-30 11:34:40 931

原创 Gradle整合jetty的第一个HelloWorld工程

Jetty是一个开源的Servlet容器和应用服务器,与tomact服务器有着相同的作用,可部署自己的web应用。现在gradle的使用越来越多,不需要手动导入jar包进行配置。通过配置所需的依赖项和一些编译运行的jar包即可完美运行。Gradle工程配置jetty运行环境,启动jetty服务器的第一个HelloWorld工程

2017-09-24 13:05:08 2777

转载 JavaScript常用代码集合(转自黑马程序员)

javascript常用代码集合,包括Browser各大对象等

2017-06-12 18:33:03 474

原创 浅谈js中事件preventDefault()和addEventListener()

js的事件相关函数使用preventDefault()和addEventListener()

2017-05-15 17:19:01 6101

原创 前端开发浏览器兼容测试工具Lunascape

前端开发浏览器兼容问题,选择好的测试工具,介绍下其中几种使用方法

2017-05-15 16:59:53 5311

转载 ubuntu下安装配置nodejs

nodejs在ubuntu下的常用安装方式详解

2017-04-29 21:46:56 567

原创 Ubuntu终端光标形状切换

ubuntu界面设置基本属性

2017-04-29 17:41:03 15050

原创 实现如下页面布局。核心区域左侧自适应,右侧固定宽度 200px

原题目:牛客网-阿里巴巴2016前端开发工程师笔试(一):10题 要求自适应,那一开始就不能把左侧content的宽度给设死了。尝试了几次一开始思维定式就先从左至右写吧,于是 .content { height: 400px; margin: 0; margin-right: 210px;

2017-04-27 23:43:16 1824

转载 欢迎使用CSDN-markdown编辑器

CSDN Markdown编辑器写博客本入门

2017-04-27 23:25:12 215

Android 猜歌游戏demo

根据慕课网Android猜歌游戏教程而来,自己看完做了改进写的demo,使用Eclipse+ADT+SDK环境开发,供参考

2017-11-26

java设计模式(疯狂java联盟版)

java23种设计模式的详细讲解,包括UML图以及代码实现

2015-07-25

空空如也

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

TA关注的人

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