5 陈如水

尚未进行身份认证

市场经济条件下,每个人都有一个价,你有哪些本事?你值不值这个价? 人生如茶,经历浮沉,经历苦难浸泡,方能长大.

等级
TA的排名 5k+

20191206 linux常用命令

可用的memory=free memory+buffers+cached(可用内存的统计)如何查看linux系统的内存和cpu信息? 文件:cpuinfo,meminfo,或者直接top命令。如何查看正在运行的用户进程:进程名称,所占用端口号信息?netstat -ntlupgrep -C 10 1089676533 error-latest.log Linux下grep显...

2019-12-06 10:21:56

20191205 swagger接口文档api完善

添加请求头,token信息,完善对框架的完善。自己打jar包让别人引用,慢慢进行封装。 @Bean public Docket customDocket(){ ParameterBuilder ticketPar = new ParameterBuilder(); List<Parameter> pars = new ArrayList<P...

2019-12-05 19:54:11

20191114 分布式job配置中心

分布式job配置中心相当于注册中心,每个需要跑定时任务的微服务都需要自动或者手动注册到上面。管理后台执行器管理,任务管理,调度日志,可以查看某个job的执行状况。1、定时job如何进行测试?2、每个配置都是什么意思?3、启动运行下,看看代码会不会执行,job中有执行日志的?4、把执行器自动注册到任务管理上;安装:分布式job整体使用一个数据库,直接把所有的...

2019-11-14 18:13:37

20191204 微信支付后台接口

JSAPI支付:公众号接入文档(支付系统对比.pdf 文档)商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时(公众号),可以调用微信支付完成下单购买的流程。立即支付---->确认支付---->支付成功调起微信支付控件,用户开始输入支付密码。密码验证通过,支付成功。商户后台得到支付成功的通知。返回商户页面,显示购买成功。该页面由商户自定义。微信支...

2019-12-04 17:01:00

20191102 常见异步的手段

//一、使用线程池 ExecutorService executorService= Executors.newFixedThreadPool(5); executorService.submit(new Runnable() { @Override public void run() { ...

2019-12-02 18:31:46

20191202 浅拷贝、深拷贝、原型模式

如图所示浅拷贝、深拷贝原型模式深拷贝和浅拷贝的区别(copy的是值还是引用)1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用2.深拷贝: 创建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用”java的传递类型:java传递的话只有值传递,不存在引用传递。浅拷贝(Sha...

2019-12-02 17:25:52

20191128 数据库拆分方案

任何脱离业务的架构设计都是耍流氓。数据库分布式,其核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合工作,解决单一数据库或数据表因数据量过大而导致的性能瓶颈问题。已有的MySQL、ORACLE等成熟数据库系统基础上进行的一系列数据操作调度。后者分布式数据库则是集数据存储、管理以及分布式协调与计算为一体的数据库系统。纵向拆分数据库(逻辑关系),横向拆分数据表...

2019-11-28 16:18:54

20191128 分布式系统下最终一致性案例

分布式事务:这种解决方案的成本是非常高的,而且实现起来非常复杂,效率也比较低下。对于极端的情况:例如发布,故障的时候都是没有办法保证强一致性的。订单系统,支付系统,仓库系统是三个独立的应用,是独立部署的,系统之间通过远程服务调用。订单的有三个状态:I:初始 P:已支付 W:已出库,订单金额100, 会员帐户余额200如果整个流程比较顺利,正常情况下,订单的状态会变为I->P-&g...

2019-11-28 13:58:57

20191127 分布式系统下最终一致性解决方案

一个操做需要在四个服务上写数据,这四个服务对应不同的db;aMysql,bMysql,cMysql,dMysql;如何保证同时成功,同时失败?A服务在写sql的同时,调用服务B,这两个操做在一个事务里面。B服务也可以这样处理。如果接口不能保证幂等性,数据的唯一性将很难保证。 数据的唯一性。账户表数据重复:接口进行幂等性处理,分布式环境下使用redis锁,唯一索引。把...

2019-11-27 17:53:25

20191127 数据库查询优化的几种思路

1.使用索引应尽量避免全表扫描,首先应考虑在 where 及 order by ,group by 涉及的列上建立索引。2.优化 SQL 语句2.1通过 explain(查询优化神器)用来查看 SQL 语句的执行效果(查看sql执行计划,选择最优路径)可以帮助选择更好的索引和优化查询语句, 写出更好的优化语句。 通常我们可以对比较复杂的尤其是涉及到多表的 SELECT 语句,...

2019-11-27 13:40:04

20191126 一致性Hash算法的原理

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

2019-11-26 21:05:59

20191126 B+tree数据结构

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

2019-11-26 17:31:44

20191125 如何使用redis实现分布式锁

为什么要使用分布式锁,场景? 涉及到重复提交或交易的地方。1、用户购买商品,下单时,有时不小心连续点击多次;2、或者网络不好,导致用户以为没有提交,重复点击提交按钮;3、网络层面比如nginx的重发.对于分布式系统,提交订单的n个请求可能会被不同的服务单体消费(不同的结点),那么就会生成多个相同的订单。(除了订单号,其他购买信息完全一样)后果:1、产生了脏数据,影响了校验,...

2019-11-25 22:21:56

20191125 事务以及隔离级别二

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

2019-11-25 13:38:49

20191125 HashMap,LinkedHashMap的有序性

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

2019-11-25 11:53:57

20191121 查询优化器

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

2019-11-21 19:43:35

20191121 比较器Comparator

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

2019-11-21 18:50:46

20191121 Redis三种模式

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

2019-11-21 17:26:17

20191120 缓存穿透和缓存雪崩

数据的一致性问题;如果对数据的一致性要求很高,那么就不能使用缓存。1、缓存穿透:查询直接穿透缓存层,到达存储层,比如-1不存在,又不能进行redis存储。针对某一个查询接口,如果出现了缓存雪崩现象,应该怎么处理?(恶意的)在工作中,会采用缓存空值的方式,也就是【代码流程】中第5步,如果从数据库查询的对象为空,也放入缓存,只是设定的缓存过期时间较短,比如设置为60秒。2、...

2019-11-20 20:06:43

20191120 CAP理论和BASE理论

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

2019-11-20 20:04:07

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。