- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 Ribbon功能介绍与使用
目录Ribbon介绍Ribbon的使用Ribbon组成Spring Cloud中的RibbonRibbon功能介绍Ribbon是一个部署在调用端并在生产的云服务项目中经过考验的进程间通信库。Ribbon主要提供客户端负载均衡容错处理支持多协议的异步通信。支持HTTP、TCP、UDP协议。支持缓存和批量处理Ribbon模块介绍:ribbon: Ribbon功能应用入口。使用Ribbon的功能可以通过初始化应用入口,调用接口实现。该模块依赖其他模版实现所需功能,比
2020-09-23 16:12:47 7119
原创 Spring Cloud Gateway 搭建与说明
目录Spring Cloud Gateway 搭建过程配置Gateway术语工作原理配置Route Predicate 和 Gateway Filter 工厂配置路由规则到达时间路由规则时间区间路由规则Cookie路由规则请求头路由规则域名路由规则请求类型路由规则路径路由规则请求参数路由客户端IP地址路由规则权重路由规则请求响应装饰器(GatewayFilter)分类介绍与使用添加请求头装饰器请求参数装饰器其他的装饰器配置超时间配置全局超时间配置
2020-08-24 13:33:55 817
原创 搭建 Spring Cloud Config
目录Spring Cloud Config启动Config服务获取配置信息Spring Cloud ConfigSpring Cloud Config为分布式系统管理配置文件提供配置文件管理中心支持,以及访问该配置文件管理中心的客户端支持。Spring Cloud Config支持子目录(能够支持多个项目的配置管理),并且支持按环境区分配置文件(不同环境访问不同的配置文件)。服务端提供http接口返回配置文件的内容,客户端将这些配置信息解析并抽象成Environment和Propert
2020-07-18 10:29:22 187
原创 搭建 Eureka 服务
目录Spring Cloud Eureka启动 Spring Cloud Eureka 服务Spring Cloud Eureka 客户端的配置和使用获取 Eureka服务列表注册服务[{backto}](./Spring Cloud.md)Spring Cloud EurekaEureka是Netflix开源的基于Jersey框架实现的REST服务注册中心。Spring Cloud 在次基础之上进行了封装纳入到Spring Cloud体系中。启动 Spring Clo
2020-07-17 20:46:32 244
原创 Spring MVC 利用自定义媒体类型控制使用自定义消息转换器
目录问题描述Spring MVC 如何处理返回值自定义消息转换器问题描述由于存在一些技术债,需要服务层返回的的json即能支持驼峰(默认支持),又能支持下划线。Spring MVC配置的RestController默认使用jackson将结果转成驼峰格式的json,所以需要自定义一个在符合某个条件下返回的json转成下划线格式。Spring MVC 如何处理返回值Spring MVC通过HttpMessageConverter来处理数据流和对象的转换,HttpMessageConve
2020-06-12 06:43:55 606
原创 Metrics监控工具介绍与使用
目录Metrics介绍使用Metric RegistriesGaugesCounterHistogramsMetersTimers监控输出方式Metrics介绍监控工具。Metrics提供了强大的工具用于监控重要组件的行为。Metrics依赖Jetty, Logback, Log4j, Apache HttpClient, Ehcache, JDBI, Jersey和Graphite,提供一个可视化程序执行情况。Metrics可以统计TPS,方法执行次数,队列
2020-05-26 13:29:10 4261
原创 ScheduledThreadPoolExecutor学习笔记
目录介绍原理重要组件ScheduledFutureTaskDelayedWorkQueue主要源码介绍ScheduledThreadPoolExecutor在ThreadPoolExecutor基础上另外提供了延迟执行任务和定时执行任务的功能。ScheduledThreadPoolExecutor可以用来代替Timer。Timer是JDK1.3 提供的一个定时执行任务...
2020-04-20 13:30:54 695
原创 ThreadPoolExecutor学习笔记
Table of Contents介绍重要组件介绍ReentrantLock mainLockWorkerBlockingQueue workQueueCondition terminationThreadFactory threadFactoryRejectedExecutionHandler handlerexecute 方法原理改变线程池状态的方法工作线程控制任...
2020-04-09 17:33:22 253
原创 AbstractExecutorService 笔记
Table of Contents介绍ExecutorExecutorService方法定义CompletionServiceExecutorCompletionServiceAbstractExecutorService介绍AbstractExecutorService 是 JDK 线程池 ThreadPoolExecutor,ForkJoinPool 等的...
2020-03-16 12:50:53 1229
原创 AtomicInteger 学习笔记
目录介绍原理方法列表Number 方法实现AtomicInteger 操作整形数据的方法列表介绍AtomicInteger 是 JDK1.5 之后引入的原子更新整形数据的工具。同期引入的还有另外 11 个原子操作工具,这个工具都能提供简单高效并且多线程安全的原子操作。原理AtomicInteger 能够保证线程安全的原因是 AtomicInteger 的整形...
2020-02-11 14:00:06 233
原创 FutureTask学习笔记
目录Future 接口介绍RunnableFutureFutureTask介绍原理代码详情Future 接口介绍Future 表示一个异步计算,提供了用于检查异步计算是否完成,等待异步计算结果,取消异步计算任务等方法。等待获取异步计算结果会阻塞当前线程,直到超时或者获取到异步计算的结果。如果异步计算已经完成,取消计算任务的方法将不会生效。如果希望利用 Futur...
2020-01-15 20:25:15 1617
原创 SynchronousQueue 学习笔记
目录介绍原理栈 transfer 操作逻辑队列 transfer 操作逻辑awaitFulfill出队方法入队方法介绍SynchronounsBlockingQueue 是一种同步阻塞队列,每当有线程操作添加元素时,添加线程会一直阻塞直到有其他线程获取这个元素。SynchronounsBlockingQueue 不想其他的阻塞队列有个数组或者链表的数据结构存储...
2020-01-03 09:57:34 310
原创 PriorityBlockingQueue 笔记
目录介绍实现原理初始化方法出队方法入队方法二叉堆相关方法迭代器介绍PriorityBlockingQueue 是基于二叉堆(binary heap)实现的有序阻塞队列。队列容量上线是 Integer.MAXVALUE - 8,如果一直往队列中添加元素,并且来不及消费,可能会产生 OOM。PriorityBlockingQueue 的排序策略和 PriorityQue...
2019-12-20 15:40:16 208
原创 LinkedBlockingQueue学习笔记
Table of Contents介绍数据存储设计构造方法介绍入队方法介绍出队方法介绍迭代器介绍其他方法介绍介绍LinkedBlockingQueue 是一个基于单向链表和双锁队列算法实现的先进先出的同步队列。头部元素是最早进入队列的元素,尾部元素时最晚进入队列的元素。在添加元素时,将会在单向链表的末尾添加元素。ArrayBlockingQueue 由于是循环数组...
2019-12-09 14:29:30 331
原创 ArrayBlockingQueue 学习笔记
Table of Contents概念queueAbstractQueueBlockingQueueArrayBlockingQueueItrsItrArrayBlockingQueue概念queue(队列)是一种基础的数据结构,它只允许在一端进行入队列操作,另一端出队列操作,是一种先进先出(FIFO),或者按照其他定义的排序规则排列的线性表。colle...
2019-12-03 14:49:42 436
原创 StampedLock 学习笔记
目录介绍源码分析介绍StampedLock 是一种读写锁,但是是 JUC 锁中比较特殊的一个。因为它的实现逻辑不依赖 AbstractQueuedSynchronizer,线程等待和唤醒也不依赖 LockSupport(而是直接使用 Unsafe.park 和 unpark 方法。当然 LockSupport 本身也是使用 Unsafe.park 和 unpark 方法实现的...
2019-11-01 13:32:45 214
原创 JUC 锁学习笔记
Table of ContentsLockReentrantLockReadWriteLockReentrantReadWriteLockLockLock 是定义锁的接口,位于 java.util.concurrent.locks 包下。锁时用来控制线程访问共享资源的工具,比起 Synchronized 关键词实现的同步方式,锁更加灵活,并且能够支持静态条件(Condit...
2019-10-15 13:10:48 221
原创 Java AbstractOwnableSynchronizer 学习笔记
目录同步器AbstractOwnableSynchronizer 类介绍AbstractQueuedSynchronizerAbstractQueuedSynchronizer 子类实现的方法介绍tryAcquiretryRelease同步器同步器为多线程环境下多个线程访问修改同一个资源时,提供线程同步、互斥、等待等一系列功能。JDK 提供的主要同步器类继承如下...
2019-09-18 21:45:59 318
原创 Java Condition学习笔记
Table of Contents作用接口定义ConditionObject 实现类AbstractQueuedSynchronizerNodeConditionObject作用Condition 是 jdk1.5 引入的用于代替监视器方法,比如 wait,notify,notifyAll,提供更加易用和灵活的同步阻塞方法。Condition 翻译暂时翻译为竞...
2019-08-22 13:15:24 266
原创 LockSupport 学习笔记
Table of Contents概念作用Park 方法的实现UnPark 方法的实现概念许可:一种类似信号量((java.util.concurrent.Semaphore)的技术,用来标记当前线程是否允许阻塞。但是不同于信号量可以设置多个信号标识,许可只有一个是否有效的标识。如果许可是有效的,可以理解为当前线程已经被阻塞;如果许可无效,那么可以理解线程未被阻塞。...
2019-07-17 08:45:08 147
原创 Spring boot 搭建一个简单的 Java EE 项目
Spring Boot简单介绍spring boot 是为了响应 spring 框架依赖太多的 XML 配置和复杂的依赖管理而开发的框架。Spring Boot 让我们创建一个基于 Spring 的,独立的,产品级别的项目变得非常简单。Spring boot 将 Spring 平台和第三方库预先做了绑定,所以在使用 Spring Boot 过程中需要关注的问题非常少,配置量非常简单。我们可以利用 S
2017-10-18 13:28:15 552
转载 Java集合 介绍二
Java集合 介绍二1. 集合 第二部分1.1. 上次分享回顾1.1.1. List1.1.2. 简单介绍 hashcode1.1.3. 数组和链表1.2. 实际问题1.2.1. 问题描述1.2.2. 解决方法1.3. Java 中的HashTable1.3.1. HashTable 的属性1.3.2. HashTable 的构造函数1.3.3. HashTable 主要方法1.4. HashMap
2017-08-28 09:07:03 167
原创 Java集合 介绍一
Table of Contents1. 集合(第一部分)1.1. 集合(Collection)介绍1.2. List1.2.1. ArrayList1.2.2. LinkedList1.2.3. Vector1.2.4. Stack1.2.5. ArrayList 和 LinkedList 的应用场景1.3. Set1.3.1. HashSet1.3.2. TreeSet1.4. Map1.4.1.
2017-08-28 08:52:03 253
gitbucket1.8版本 关于readme.md的XSS漏洞
最近在利用gitbucket用作项目开发中的代码托管工具。简单介绍一下gitbucket:gitbucket是一个仿github界面的代码托管工具。使用scala语言开发,利用jgit开源工具管理和操作git命令,内置了一个轻量级的内存数据库h2数据库(轻量到就一个jar包)。这个项目更新的比较快,目前最近的版本已经到1.11。 在使用1.8版本时,遇到一个XSS...
2014-03-10 17:27:30 273
随机点名系统 java eclipse
2009-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人