- 博客(12)
- 资源 (2)
- 收藏
- 关注
翻译 翻译-插件架构
原文 Plug-in Architecture这是一个我们可能每日使用并交互的东西之一,但是很少意识到它的存在。它不仅仅存在于产品软件,像是可以通过插件定制并扩展的 Eclipse(IDE) 或者浏览器,而且存在于业务规则和数据处理逻辑都非常多变的业务软件中,例如像保险理赔和税务软件。底层思想很简单。能够插入特性到一个已经存在的组件中,并且组件不知道这个插入特性的实现细节。这听起来向我曾经听到过的。Polymorphism (OOP)?. Protected Variations (Design.
2022-02-06 18:40:08 294
原创 延迟队列的几种实现方案
延迟队列是这样一种队列:元素有一个过期时间,元素在队列中顺序是按照过期时间排序的,只有到达过期时间的元素才能出队,最先到达过期时间的元素最先出队。延迟队列可以用到这样的场景:比如有一个任务需要 10 分钟后执行,那么就可以把这个任务存入延迟队列,并且设置过期时间为 10 分钟,队列的另一头有一个消费者去消费,没到达过期时间时消费者是取不到这个任务的,到达过期时间后消费者才能取到这个任务。像这种多少分钟之后执行的任务特别适合使用延迟队列实现,如果不使用延迟队列,把任务存入数据库定期扫描也能实现,但是会有一
2021-03-07 00:38:39 3156 1
原创 SpringBoot2.0.4开放actuator(端点)
SpringBoot端点开放配置变了 以前的endpoints.shutdown.enabled=true过时了 查了下官方爸爸 现在应该这样配置management.endpoints.web.exposure.includemanagement: endpoints: web: exposure: include: "*"...
2018-08-31 15:42:37 1172
原创 图解快速排序算法
快速排序算法步骤: 1.选择一个基数。 2.把i和j想象成两个巡逻员,一个巡逻员从数组最右边的数向左寻找比基数小的数,找到后暂时停止寻找。另一个从数组最左边向右寻找比基数大的数,找到后暂停寻找。 3.交换步骤2找到的两个数。 4.继续2步骤,直到两个巡逻员碰面。把基数和他们碰面的那个位置数字兑换位置。这时他们的左边数字都不大于基数,右边的数字都不小于基数。 5.以他们碰面的位置为中心,把...
2018-03-14 12:28:47 3063 4
原创 Spring配置profile,切换开发环境和测试生产环境
项目的开发环境和测试生产环境要配置的数据库,redis等等,连接地址都不一样。这样在项目部署到测试,生产时总要挨个修改这些配置。通过Spring的profile可以控制在不同的环境在Spring容器中注册不同的配置Bean,然后用一个总开关控制在什么环境用什么配置。public interface CompactDisc { void play();}有两个类实现了它publ...
2018-02-28 18:48:19 3062
原创 Spring装配Bean
Sping通过容器来管理javaBean,既然Spring要管理Bean那我们日常使用中接触的无非就是一个“放”,和一个“取”了。通常把Bean放入Spring容器叫做注册,注册有两种方式组件扫描显示配置下面分别介绍两种方式。1.组件扫描首先创建一个CD播放器接口/** * 光碟机,CD * @author: XuWei * @date: 2018年2月27...
2018-02-27 18:43:13 170
原创 linux下reids安装
1下载rediscd ./usr local/src 一般源码都存放到这个文件夹下wget http://download.redis.io/releases/redis-4.0.2.tar.gz 下载tar xzf
2017-10-08 19:31:24 320
原创 linux部署JDK+tomcat+mariaDb
1.各软件版本号 Jdk :jdk-8u101-linux-x64 Tomcat :apache-tomcat-7.0.75 Mariadb:mariadb-10.0.17-linux-x86_64 先将所有的安装包放到 /usr/local/ 目录下2.JDK安装配置在/usr下添加一个java目录,将rpm文件拷过去#mkdir /usr/java/
2017-08-31 13:11:24 844
Java编程思想第四版完整中文高清版(带目录!!!!)
2017-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人