- 博客(33)
- 资源 (8)
- 收藏
- 关注
原创 Java访问HTTPS证书问题解决
1.原因Java在访问SSL加密的网站时,需要从JDK的KeyStore 里面去查找相对应得可信证书,如果不能从默认或者指定的KeyStore 中找到可信证书,就会报错。另外,Java所使用的证书仓库并不是Windows系统自带的证书管理。所以即使系统中包含此证书也不可以使用。2. 解决方法只要将SSL的证书添加到KeyStore中即可。1.导入证书下载访问的SSL站点的证书通过k...
2019-07-04 16:52:24 8136 2
转载 转:领域驱动设计在互联网业务开发中的实践
作者:美团技术团队链接:https://zhuanlan.zhihu.com/p/32459776来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。前言至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD)。在互联网开发“小步...
2019-05-23 10:58:31 296
转载 Mockito中文文档
转自:https://github.com/hehonghui/mockito-doc-zh文章目录Mockito 中文文档 ( 2.0.26 beta )参与人员目录0. 迁移到Mockito 2.01. 验证某些行为2. [如何做一些测试桩 (Stub)]()3. [参数匹配器 (matchers)]()4. [验证函数的确切、最少、从未调用次数]()5. [为返回值为void的函数通过...
2019-05-21 12:03:20 3668
转载 分布式事务
转自:再有人问你分布式事务,把这篇扔给他前言不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交钱一手交货。有了事务,你去网上购物,扣款即产生订单交易。事...
2019-02-18 14:53:41 258
转载 如果有人问你数据库的原理,叫他看这篇文章
转自: http://blog.jobbole.com/100349/ 一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那...
2018-12-26 14:43:34 303
转载 Java Stream 详解
文章目录1. 介绍并行 ParallelismNon-interference无状态 Stateless behaviors副作用 Side-effects排序 Ordering结合性 Associativity2. 创建Stream3. 中间操作 intermediate operationsdistinctfiltermapflatmaplimitpeeksortedskip4. 终点操作 t...
2018-12-26 11:32:23 501
转载 maven settings.xml详解
转自:http://www.cnblogs.com/jingmoxukong/p/6050172.html文章目录概要settings.xml有什么用?settings.xml文件位置配置优先级settings.xml元素详解顶级元素概览LocalRepositoryInteractiveModeUsePluginRegistryOfflinePluginGroupsServersMirro...
2018-12-11 10:41:22 290
转载 Bloom Filter概念和原理
一提到元素查找,我们会很自然的想到HashMap。通过将哈希函数作用于key上,我们得到了哈希值,基于哈希值我们可以去表里的相应位置获取对应的数据。除了存在哈希冲突问题之外,HashMap一个很大的问题就是空间效率低。引入Bloom Filter则可以很好的解决空间效率的问题。原理Bloom Filter是一种空间效率很高的随机数据结构,Bloom filter 可以看做是对bit-map 的...
2018-11-22 14:51:01 1971
转载 netty
1. netty源码Netty学习笔记2. netty原理netty学习系列一:Java NIO预备知识netty学习系列二:NIO Reactor模型 & Netty线程模型netty学习系列三:pipeline原理与事件处理netty学习系列四:读操作netty学习系列五:write&flushnetty学习系列六:服务端ServerSocketChannel绑...
2018-11-15 11:01:41 947
转载 Reactor模式详解
转自:http://www.blogjava.net/DLevin/archive/2015/09/02/427045.html什么是Reactor模式要回答这个问题,首先当然是求助Google或Wikipedia,其中Wikipedia上说:“The reactor design pattern is an event handling pattern for handling se...
2018-10-25 14:53:31 264
转载 浅谈 Linux下的零拷贝机制
转自:https://www.jianshu.com/p/e76e3580e356什么是零拷贝维基上是这么描述零拷贝的:零拷贝描述的是CPU不执行拷贝数据从一个存储区域到另一个存储区域的任务,这通常用于通过网络传输一个文件时以减少CPU周期和内存带宽。 零拷贝给我们带来的好处:减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其他的任务 减少内存带宽的占用 通...
2018-10-25 14:31:06 236
转载 synchronized 原理
转: Synchronized底层优化(偏向锁、轻量级锁)一、重量级锁 上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高...
2018-10-22 15:24:36 173
转载 volatile 原理
转:volatile的使用及其原理文章目录一、volatile的作用二、volatile的使用1、防止重排序2、实现可见性3、保证原子性三、volatile的原理1、可见性实现2、有序性实现3、内存屏障四、总结一、volatile的作用在《Java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不...
2018-10-22 15:19:46 135
转载 TCP协议中的三次握手和四次挥手
常用的熟知端口号应用程序FTPTFTPTELNETSMTPDNSHTTPSSHMYSQL熟知端口21,206923255380223306传输层协议TCPUDPTCPTCPUDPTCP一. TCP的概述TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端...
2018-10-18 17:08:34 149
原创 API网关监控简单实现
文章目录一. 需求二. 思路三. 实现1. filter&factory2. service一. 需求API网关统计: 调用量,响应时间,响应码等等,时间粒度为分钟(其实没需求,自己想的,随便参考阿里云网关的一些参数)二. 思路首先,框架为 Spring Cloud Gateway,通过filter进行统计各台主机统计各个接口的数据到本地内存,使用LongAdder计数...
2018-10-16 17:19:24 3062
原创 Spring事务管理详解
文章目录一、事务概念回顾1.什么是事务?2.事物的特性(ACID):二、Spring事务管理接口介绍1.Spring事务管理接口:2.PlatformTransactionManager接口介绍3.TransactionDefinition接口介绍(1) 事务隔离级别(定义了一个事务可能受其他并发事务影响的程度):(2) 事务传播行为(为了解决业务层方法之间互相调用的事务问题):(3) 事务超时属...
2018-10-14 00:31:46 157
转载 Java内存模型
转:https://blog.csdn.net/suifeng3051/article/details/52611310Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Ja...
2018-10-10 10:36:27 153
转载 响应式流Spring
官方参考文档地址:http://projectreactor.io/docs/core/release/reference/中文翻译文档地址:http://htmlpreview.github.io/?https://github.com/get-set/reactor-core/blob/master-zh/src/docs/index.html中文翻译源码地址:https://github...
2018-09-21 15:58:41 307
转载 Hystrix原理与实战
转:Hystrix原理与实战背景分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。雪崩效应常见场景硬件故障:如服务器宕机,机房断电,光...
2018-09-14 14:36:57 174341 17
转载 RxJava汇总
Github: ReactiveX Wiki: wiki Doc:javaDoc 中文文档:ReactiveX/RxJava文档中文版1. 初学给初学者的RxJava2.0教程(一) 给初学者的RxJava2.0教程(二) 给初学者的RxJava2.0教程(三) 给初学者的RxJava2.0教程(四) 给初学者的RxJava2.0教程(五) 给初学者的RxJava2.0...
2018-09-12 15:32:08 193
转载 Redisson分布式锁实现
转:分布式锁和Redisson实现概述分布式系统有一个著名的理论CAP,指在一个分布式系统中,最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。所以在设计系统时,往往需要权衡,在CAP中作选择。当然,这个理论也并不一定完美,不同系统对CAP的要求级别不一样,选择需要考虑方方面面。...
2018-09-07 15:30:32 42414 19
转载 CGLIB中BeanCopier源码实现
转载:CGLIB中BeanCopier源码实现CGLIB代码包结构1.core2.beans3.reflect4.proxyBeanCopier实现机制1.BeanCopier的使用2.性能分析3.一次调用流程(1)CGLIB做了什么(2)从BeanCopier#create开始(3)KEY_FACTORY的由来(4)AbstractClassGene...
2018-09-06 15:25:18 1169
转载 使用 SpringFox、Swagger2Markup、Spring-Restdoc和 Maven 构建 RESTful API文档
转: 使用 SpringFox、Swagger2Markup、Spring-Restdoc和 Maven 构建 RESTful API文档有时候我们的的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android开发或是前端开发等。为了减少与其他团队平时开发期间的频繁沟通成本,我们需要构造相应的开发文档进行说明。利用传统的方法构造的文档即耗时耗力,利用Sw...
2018-09-03 11:50:19 760
转载 实现 Spring AOP 拦截对象内部调用的方法
转:实现 Spring AOP 拦截对象内部调用的方法一个SpringBoot项目中使用了 Scheduled Task ,如果任务出现异常,需要发送邮件给管理员,让管理员进行处理。而使用 AOP 对所有任务里的一些方法进行拦截处理时,由于方法经过封装(需要被拦截的),在 task 内部调用该方法时 AOP 不能直接拦截,所以我们需要进行一些特殊处理。 在 task 中定义了两个定时...
2018-09-03 11:21:09 2444
转载 转:TiDB 的正确使用姿势
转: TiDB 的正确使用姿势 十问 TiDB :关于架构设计的一些思考 TiDB官方博客 全球分布式数据库:Google Spanner(论文翻译) 最近这几个月,特别是 TiDB RC1 发布后,越来越多的用户已经开始测试起来,也有很多朋友已经在生产环境中使用,我们这边也陆续的收到了很多用户的测试和使用反馈。非常感谢各位小伙伴和早期用户的...
2018-08-28 17:24:05 522
转载 转:秒杀系统的架构解决之道
转自:秒杀系统的架构解决之道首先,代码层面 需要状态同步的节点,用 redission做分布式可重入锁,频繁访问的相同的数据,放入 redis 缓存,频繁访问的方法,做多线程处理,设置线程池,总之就是该非阻塞的非阻塞,该异步的异步,如有必要,加入服务熔断和服务降级,做分布式限流, 其余注意事务的控制, 架构层面nginx的 connection 保证,li...
2018-08-27 15:20:52 273
原创 接口限流算法及解决方案
参考: 接口限流算法:漏桶算法&令牌桶算法 redisson实现分布式限流一、限流算法1. 漏桶算法2. 令牌桶算法二、令牌桶算法VS漏桶算法三、解决方案1. 使用Guava的RateLimiter进行限流控制(单机)2. 使用Semphore进行并发流控(单机)3. redisson实现分布式限流工作中对外提供的API ...
2018-08-27 15:15:59 4665
转载 mysql之事务详解
一.特点1. 原子性(Atomicity):事务是不可分割的。2. 一致性(Consistency):保证数据在事务的执行周期内,是一致的。3. 隔离性(Isolation):多个事务之间的干扰关系,隔离级别。4. 持久性(Durability):事务一旦被提交,就不可能再被回滚。二.事务并发1. 脏读2. 不可重复读3. 幻读4. 更新丢失 时间 取...
2018-08-23 12:11:27 125
转载 MySQL 锁
转自:[MySQL] 行级锁SELECT ... LOCK IN SHARE MODE 和 SELECT ... FOR UPDATE一、译文翻译来自官方文档:Locking ReadsIf you query data and then insert or update related data within the same transaction, the regular S...
2018-08-22 20:28:54 144
转载 转:MySQL架构 目录
MySQL实例搭建如何查询、修改参数状态值关于MySQL用户会话及连接线程SQL执行过程中的性能负载点MySQL缓存之Qcache与buffer pool对比MySQL存储写入速度慢分析关于MySQL的commit非规律性失败案例的深入分析MySQL存储写入性能严重抖动分析MySQL IO线程及相关参数调优MySQL后台线程的清理工作InnoDB关键特性之change buf...
2018-08-22 10:40:40 134
翻译 MySQL命令 Explain参数说明
MySQL EXPLAIN命令是查询性能优化不可缺少的一部分,该文主要讲解explain命令的使用及相关参数说明。EXPLAIN Output Columns 列名 说明 id 执行编号,标识select所属的行。如果在语句中没子查询或关联查询,只有唯一的select,每行都将显示1。否则,内层的select语句一般会顺序编号,对应于其在原始语句中的位置...
2018-08-22 10:29:26 225
转载 MySQL命令 Explain 使用分析
转载:MySQL 性能优化神器 Explain 使用分析简介MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAIN SELECT * from user_inf...
2018-08-21 17:43:56 146
转载 Git
一、新建代码库二、配置三、增加/删除文件四、代码提交五、分支六、标签七、查看信息八、远程同步九、撤销十、其他Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为...
2018-08-21 16:45:53 127
《java并发编程实战》(完整扫描版PDF带书签)
2018-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人