自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(347)
  • 资源 (7)
  • 收藏
  • 关注

原创 20191126 一致性Hash算法的原理

什么是一致性Hash?当mysql单表数据大于500W条记录的时候需要对其进行分库分表;当数据量很大的时候(标准可能不一样,要看Redis服务器容量)我们同样可以对Redis进行类似的操作,就是分库分表。假设,我们有一个社交网站,需要使用Redis存储图片资源,存储的格式为键值对,key值为图片名称,value为该图片所在文件服务器的路径(图片名称,图片url地址),我们需要根据文件名查找...

2019-11-26 21:05:59 165

原创 20191126 B+tree数据结构

查询速度更快,查询更稳定。关键字:索引字段的值信息,左闭合区间原则。二叉树数据结构中的二叉树;树是一种一对多的数据结构。树又有很多子集,比如:二叉树、二叉搜索树、2-3树、红黑树等等。树的特征:1.没有父结点的结点叫根(根结点),一个数有且只有一个根;2.每个结点有0个或多个子结点;3.一颗树里也可拥有子树,且子树不能相交;(根结点,子结点,叶子结点,子树...

2019-11-26 17:31:44 1019

原创 20191125 事务以及隔离级别二

Spring的配置式事务可以把多个操作数据库的方法配置在一个事务中。起了一个新事务,就是创建了一个新的数据库连接。如果方法中全是查询操作 根本没必要使用事务。只是多了传播行为,只是因为存在方法的调用。根据你的传播行为,是使用同一个会话,还是使用一个新的连接回话。Spring的事务是什么?与数据库的事务是否一样?本质上其实是同一个概念,spring的事务是对数据库的事...

2019-11-25 13:38:49 95

原创 20191125 HashMap,LinkedHashMap的有序性

有序集合与无序集合的使用场景(对excel表格的字段进行排序)1、集合是否有序指的是:存取是否有序。map内保存内容的顺序不一定与放进去顺序一致,这叫无序。内容不变,取出来顺序一定不变,这叫有序。2、如果集合中的内容有排序的需求,尽量使用有序集合,比如LinkedHashMap,如果没有排序需求,可以使用HashMap。HashMap,LinkedHashMap,TreeMap的...

2019-11-25 11:53:57 181

原创 20191121 查询优化器及慢sql优化

优化器分类传统关系型数据库里面的优化器分为CBO和RBO。RBO— Rule_Based Potimizer 基于规则的优化器:( 内置规则)RBO :RBO所用的判断规则是一组内置的规则,这些规则是硬编码在数据库的编码中的,RBO会根据这些规则去从SQL诸多的路径中来选择一条作为执行计划(比如在RBO里面,有这么一条规则:有索引使用索引。那么所有带有索引的表在任何情况下都会走索引)所...

2019-11-21 19:43:35 245

原创 20191121 比较器Comparator

Comparable比较器类,主要用于排序。在字符串中使用过CompareTo方法,这个方法是用于比较字符串顺序的,根据字典顺序进行排序。Java中所有的compareTo方法都源于一个共同的接口,那就是Comparable。这个接口只有一个方法,那就是CompareTo。所有想要具有比较功能的类,都建议实现这个接口,而非是自己定义这个功能。 /** * Has...

2019-11-21 18:50:46 223

原创 20191121 Redis三种模式

为什么会有三种模式,分别适用什么场景? 主从,哨兵,集群。redis2.8版本之前的模式,redis2.8及之后的模式,redis cluster模式(redis3.0版本之后)Redis三种模式的区别标准:结点状态监视,故障自动转移,动态扩容。对着三个问题的解决状况。1、为什么redis会使用主从模式?为了应对读压力特别大的情况。2、主从结构:一主一从,一主多从或者级联结构。...

2019-11-21 17:26:17 421

原创 20191120 CAP理论和BASE理论

CAP理论CAP是一个已经经过证实的理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。CAP 不可能同时满足,而分区容错是对于分布式系统而言,是必须的。一致性C我们知道ACID中事务的一致性是指事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行前后...

2019-11-20 20:04:07 134

原创 20191113 Map与Object对象的转化

两种方式:框架和反射/** * Created on 2019/11/13 18:55 * author:crs * Description:map集合与对象之间的转换 */public class TestMapTransferObject { @Autowired private CacheClient cacheClient; /** ...

2019-11-13 19:26:52 386

原创 20191111 jvm虚拟机调优

CPU报警,有哪些原因? 大量的计算; 内存报警,有哪些原因? 大量的文件读写; 如何排查问题?现象:CPU报警,使用率高达90%.CPU报警期间----->当前哪个接口调用次数最高(通过cat进行监控)----->当前接口做了哪些业务处理?是否可以使用缓存处理进行优化?(CPU高的常规原因有哪些:里面是否有for循环,是否进行大量的对象创建,是否频繁触发Full GC)...

2019-11-11 10:22:23 497 1

原创 20191109 短链接技术

短链接(Short Link)顾名思义就是长度比较短的网址。如:http:/ /mrw.so。早期,短链接主要应用在网站的图片上传中,上传网站通过特定的算法缩短 URL(Uniform Resource Locator,统一资源定位符)链接地址,达到减少代码字符数的目的。自己的理解:把网址长度变短的技术,减少代码字符数。如何生成短的链接?短链接生成器。域名重定向技术。短链接压缩算法。分享的...

2019-11-09 18:28:42 807

原创 20191109 mongdb

Mongdb 数据库MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 是一个基于分布式文件存储的开源数据库系统。文档型数据库:文档存储一般用类似json的格式存储,存储的内容是文档型的。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON...

2019-11-09 18:16:10 158

原创 20191109 Git 使用

使用Git自动化代码管理分布式版本控制系统,版本控制软件。若有冲突,用pull来解决后提交。pull后就能看到是否有代码冲突。查看已有的本地及远程分支git branch -a删除本地分支:git branch -d dev 【git branch -参数 本地分支名称】删除远程分支:git push origin --delete dev 【git push ...

2019-11-09 18:00:46 298

原创 20191109 guava构建本地缓存

/** * Created on 2019/12/27 14:15 * author:crs * Description:测试guava的基本功能 */public class TestGuavaCache { public static void main(String[] args) { //缓存工具对象,而非缓存本身 //Cach...

2019-11-09 17:01:15 571

原创 20191109 为什么JVM新生代中有两个survivor?

原因:为了保证任何时候总有一个survivor是空的(幸存区),主要为了解决内存的碎片化问题,防止频繁触发GC,影响程序的性能和响应速度。(内存地址不连续,就会产生很多内存碎片,浪费survivor空间,存活对象,预筛选机制)因为将eden区的存活对象复制到survivor区时,必须保证survivor区是空的,如果survivor区中已有上次复制的存活对象时,这次再复制的对象肯定和上次...

2019-11-09 13:21:58 740 2

原创 20190815 构建者模式

Builder模式核心思想1、在静态内部类中,对外提供获取外部类对象的方法,如build(),create()等。2、创建外部类的对象时,传入静态内部类对象,以便把参数传递到外部类中。3、在外部类中,提供构造方法,传递静态内部类对象,通过静态内部类对象,给外部类的成员变量赋值。4、内部类字段要与外部类的字段相同。5、内部类中set方法,返回this对象,以便进行链式调用。......

2019-08-15 19:13:51 134 2

原创 20190808 日志切面类

主要用于打印请求和响应信息日志打印需求:切面设计,controller层拦截,请求信息获取,请求头,请求参数,响应信息的获取,日志打印。package com.yunque.www.springbootdemo.interceptor;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONOb...

2019-08-08 16:13:08 632

原创 20190802 Spring MVC拦截器

@LoginPermission注解的使用通过拦截器进行判断,通过方法签名获取当前访问的方法上面是否使用@LoginPermission注解Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用Spring MVC的拦截器,不仅可实现Filter的所有功能,还可以更精确的控制拦截精度。Spring MVC提供的org.springfr...

2019-08-02 19:03:12 143

原创 20190802 加解密算法

常用的加密解密算法高级加密标准(英语:Advanced Encryption Standard,缩写:AES)对称加密算法也就是加密和解密用相同的密钥。AES加密函数,AES解密函数。密钥K:用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络...

2019-08-02 18:07:28 304

原创 20190802 图片url处理

图片云存储地址头的处理: /** * 通用地址头处理 */ @Autowired private PropertiesConfiguration propertiesConfiguration; public void processImageUrl(){ DoctorDto doctorDto = new DoctorDt...

2019-08-02 12:12:09 1180

原创 20190731 算法复杂度

算法复杂度是对性能的考量。算法的复杂度如何与自己的项目设计关联起来?算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时...

2019-07-31 16:24:41 105

原创 20190730 跨服务调用

Spring提供多种方式处理http请求。1、ResponseEntity标识整个http请求响应:状态码、头部信息以及相应体内容。2、如果需要使用ResponseEntity,必须在请求点返回,通常在spring rest中实现。ResponseEntity是通用类型,因此可以使用任意类型作为响应体。3、ResponseEntity提供了两个内嵌的构建器接口: HeadersBuil...

2019-07-30 21:14:37 646

原创 20190728 冗余设计

在设计数据库时,某一字段属于一个表,但它又同时出现在另一个或多个表,且表示的意义完全相同,那么这个字段就是一个冗余字段。关系数据库中的数据冗余主要是指关系数据库中同一信息数据的重复存贮。数据冗余浪费了宝贵的资源,应尽量减少。但关系数据库中为实现一些功能有些数据冗余是必需的。必需的数据冗余主要用于以下用途:(1)数据间建立联系,如两表间通过共同属性建立联系;(2)数据恢复,如建立备份文件...

2019-07-28 23:28:18 5644

原创 20190725 全局异常处理器

出现异常,返回给前端一个ResponseEntity对象,里面包含异常信息。是否需要区分异常级别?package com.yunque.www.springbootdemo.exceptions;import com.yunque.www.springbootdemo.pojo.BaseResult;import org.slf4j.Logger;import org.slf4j...

2019-07-25 17:14:04 117

原创 20190723 BaseController封装

1、BaseService的封装思路一样,很多通用性的方法都可以放在父类里面2、请求头获取信息;3、工具性操作封装到父类里面;4、如果获取不到值,直接抛异常;package com.yunque.www.springbootdemo.base;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSO...

2019-07-23 19:53:30 3185

原创 20190723 架构师-形成技术体系

1、spring cloud的五大神兽和服务治理。2、软件开发流程:概要设计 详细设计,数据库设计,dao层编码,service层编码,功能接口定义。3、三高问题的解决方案(性能优化方案,都是为了解决三高问题)4、jvm虚拟机体系(内存,GC,调优,常用命令以及图形化工具;章节目录)5、mysql数据库体系(索引,执行计划,架构,资源消耗;章节目录)当下正在解决的问题、请教安栋...

2019-07-23 18:16:25 328

原创 20190722 maven的SNAPSHOT版本与RELEASE版本的区别

1、SNAPSHOT版本代表不稳定(快照版本),还在处于开发阶段,随时都会有变化。当上传同样的版本号jar包的时候,SNAPSHOT会在版本号的后面自动追加一串新的数字,即日志标签;2、RELEASE则代表稳定的版本(发布版本),一般上线后都会改用RELEASE版本。在maven的依赖管理机制中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId、artifactId以及...

2019-07-22 22:43:00 410

原创 20190722 优雅的接口设计

哪些能够落实到自己的代码里面?接口设计应该考虑哪些问题或者说考虑到哪些方面?你设计的接口,够优雅吗?在设计接口时,有很多因素要考虑:接口的业务定位 接口的安全性 接口的可扩展性 接口的稳定性 接口的跨域性 接口的协议规则 接口的路径规则 接口单一原则 接口过滤及接口组合一 规范性建议1.职责原则在设计接口时,必须明确接口的职责,即接口类型,接口应解...

2019-07-22 11:20:07 356

原创 20190719 接口的幂等性

接口幂等性1、当前接口设计的时候,是否要考虑接口的幂等性?2、在高并发的核心技术中如何实现幂等性?对外提供的Api如何保证幂等?3、后端处理前端的重复请求?为了解决以上问题,就需要保证接口的幂等性,接口的幂等性实际上就是接口可重复调用,在调用方多次调用的情况下,接口最终得到的结果是一致的。有些接口可以天然的实现幂等性,比如查询接口,对于查询来说,你查询一次和两次,对于系统来说...

2019-07-19 22:30:41 344

原创 20190716 事务以及隔离级别一

一、事务的作用:1)并发情况下如何保持数据一致性的问题?通过事务可以解决。2)如果对数据库的操作失败了,可以恢复到正常状态。3)通过设置隔离级别,防止彼此的操作相互干扰。二、核心理论:1、事务所具备的特征:ACID1)同时成功同时失败其实说的是事务的原子性,不可分割。2)事务执行前后的逻辑一致性;账户加减。3)隔离性:如果存在多个事务,事务之间不应该项目干扰。...

2019-07-17 10:31:08 95

原创 20190715 Spring Aop与注解处理

使用注解匹配Spring Aop切点表达式如何把注解和注解解析器联系起来?如果不结合起来,就会把很多方法给切到,导致当前的注解逻辑用到很多方法上。1)通过方法签名判断,当前方法上是否使用了这个注解。2)直接把切面表达式设置成这个注解;只有使用了这个注解的方法,才会执行注解解析逻辑。切点表达式的两种写法。使用注解的写法更好。@Pointcut("@annotation(注解...

2019-07-15 16:24:44 176

原创 20190714 Mysql系列教程笔记

数据库引擎是用于存储、处理和保护数据的核心服务。Mysql支持多种数据库引擎。如果没有选择数据库引擎,那么创建数据库的默认引擎是什么?创建表的时候要指定数据库引擎,不同的引擎对表会有不同的影响。对两种引擎的认识。 对应数据库中的锁机制。两种数据库引擎:Innodb引擎,MYISAM引擎。数据库驱动数据库驱动是不同数据库开发商(比如oracle mysql等)为了某一种开发...

2019-07-14 20:01:43 190

原创 性能监控与服务器监控

数据库性能监控工具的使用如何查看数据库的健康状况?使用druid进行监控。数据库性能监控工具监控数据库连接量、并发量、吞吐量、响应时间等功能。连接需要监控的数据库。数据库连接性能基本信息(连接量、并发量)Monyog数据库性能监控工具的使用可以实时监测MYSQL服务器,查看MySQL服务器的运行状态。支持查询分析功能,能够轻松找出有MySQL的问题...

2019-07-05 01:02:33 1658

原创 20190628 BeanUtils类封装,启动监听

SpringBoot的启动监听ApplicationRunner有时我们需要在SpringBoot启动成功后,执行一些回调方法。一般用于资源的初始化或者其他的的服务启动。CommandLineRunner 和 ApplicationRunner这是由SpringBoot提供的两个监听接口。由程序实现,并且标识@Component注解,交于IOC管理。在SpringBoot启动成功后就会...

2019-06-28 16:37:07 291

原创 20190625 Spring配置文件浅析

Spring配置文件浅析一、Spring的配置文件概述Spring的配置文件是用于指导Spring工厂进行Bean的生产、依赖关系注入及Bean实例分发的“图纸”,它是一个或多个标准的XML文档,J2EE程序员必须学会并灵活应用这份“图纸”,准确的表达自己的“生产意图”。配置文件的作用是什么? 现在的配置文件都通过一个注解进行代替了@Configuration注解,@Bean注解配合其使用。...

2019-06-25 20:21:20 191

原创 Java中如何动态创建接口的实现

https://www.cnblogs.com/clonen/p/6735011.html移动性能测试为什么平均响应时间和 95%percentile 会相差很大?https://testerhome.com/topics/11423

2019-06-10 15:08:37 2105

原创 服务治理:服务熔断与监控

项目中微服务如何修改?1,添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> ...

2019-05-21 17:33:45 1181

原创 spring cloud的常用配置

#注意组件的常用配置,网上有的server.port=11101server.context-path=/doctorspring.application.name=${server.port}-pica-cloud-doctorspring.application.hospital.name=11501-pica-cloud-hospital#config server se...

2019-05-15 16:46:36 268

转载 HttpURLConnection与 HttpClient 区别/性能测试对比

参考https://www.cnblogs.com/langtianya/p/4001499.htmlhttps://www.cnblogs.com/liushuibufu/p/4140913.html项目实施计划https://www.cnblogs.com/alsw/p/6385256.html风险控制管理https://wenku.baidu.com/vi...

2019-04-25 18:58:26 1163

原创 quartz开源任务调度框架

主要用到的设计模式:Builder模式,Factory模式,组件模式,链式写法.三个核心概念:调度器Scheduler,任务JobDetail,触发器Trigger。调度器Scheduler把任务和触发器绑定在一起。Quartz监听器,Calender1、Job定义:实现业务逻辑的任务接口,在execute方法中编写我们的业务逻辑。2、Job实例在Quartz中的生命周期...

2019-04-22 18:59:29 449

.net服务器端性能优化

.net服务器端性能优化

2016-12-20

数据库基础操作

数据库基本操作:增删改查

2016-10-25

自定义对话框

自定义对话框,直接可以拿来用的。

2016-07-29

图片多点触控代码案例 可以直接拿来用

图片多点触控功能的实现、特别好用、能够减少很多时间。原理是手势识别和边界控制

2016-07-19

安卓开发中的图片加载框架Glide 案例源码

安卓开发中的图片加载框架Glide 案例源码

2016-05-21

安卓开发中的mvp模式、小案例源码

安卓开发中的mvp模式、小案例源码

2016-05-05

c#基础编程小程序

一些简单的小程序,求水仙花数,进行异常检测等等

2014-08-21

空空如也

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

TA关注的人

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