分布式理论 - 数据分布的方式

数据分布方式          所谓分布式系统顾名思义就是利用多台计算机协同解决单台计算机所不能解决的计算、存储等问题。单机系统与分布式系统的最大的区别在于问题的规模,即计算、存储的数据量的区别。将一个单机问题使用分布式解决,首先要解决的就是如何将问题拆解为可以使用多机分布式解决,使得分布式系统...

2019-02-25 15:24:15

阅读数 52

评论数 0

分布式理论 - 服务中可能出现的网络异常

   网络异常       分布式服务节点间通过不可靠的网络进行通信,可能出现以下几种异常。 消息丢失  消息丢失是最常见的网络异常。对于常见的 IP 网络来说,网络层不保证数据报文(IP fragment)的可靠传递,在发生网络拥塞、路由变动、设备异常等情况时,都可能发生发送的数据丢...

2019-02-21 16:34:09

阅读数 84

评论数 0

Java - 高效解析Execl

这里的场景是将execl放在项目下,启动项目时对其解析,加载到内存中使用。 pom: <dependency> <groupId>com.monitorjbl&am...

2019-02-15 10:46:43

阅读数 43

评论数 0

Java - 函数式编程(2):常用的流操作

流操作: 即stream接口针对于集合类提供的操作。集合类.stream()集合获取到stream(流),随之进行自己想要的操作。 filter():按照一定条件过滤集合的元素 。 list.stream().filter(x -> x > 5);...

2018-12-24 10:40:52

阅读数 50

评论数 0

Druid - 源码浅析(2) 获取连接

获取连接     getConnection(); public DruidPooledConnection getConnection() throws SQLException { return getConnection(maxWait); } pu...

2018-12-20 16:53:54

阅读数 43

评论数 0

Druid - 源码浅析(1) - 初始化

实现类DruidDataSource:      一些重要变量:         private volatile DruidConnectionHolder[] connections;  //存连接的数组,不一定会满         private int           ...

2018-12-20 14:35:20

阅读数 128

评论数 0

Druid - 源码分析与学习

找BUG时不得不接触到Druid源码。单看源码还是很吃力,结合下面的文章努力理解一些。 原文:https://blog.csdn.net/herriman/article/details/51759479

2018-12-19 16:14:04

阅读数 33

评论数 0

Druid - SpringBoot配置数据库连接池druid

关于Druid     DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,是目前最好的连接池。 yml文件配置 spri...

2018-12-19 12:27:04

阅读数 25

评论数 0

Spring - yml配置文件错读数字字符串

项目中碰到一个诡异问题,yml文件中配置了一个值为字符串的属性,用@Value注入时确发现不对应,出现了全项目中都找不到的值。研究了半天才发现,yml会把0开头的数字作为8进制对待,注入时转化为十进制注入。 datasource: 0400010001 所以,字符串最好要写规范...

2018-12-11 14:58:47

阅读数 274

评论数 0

java - 中转上传文件(有坑)

遇到一个问题,我们的服务只做代理功能,有时候需要转发文件,又不能把文件先保存下来后再读取文件上传到第三方服务器,这时候就要直接发送流文件。 restTemplate(亲测有效,很费劲才找到的): class MultipartInputStreamFileResource extends...

2018-12-05 16:38:14

阅读数 144

评论数 0

Java - 使用RestTemplate代理Http请求

使用RestTemplate代理Http请求(请求方式不限),下面对POST请求的Body进行了封装。 HttpEntity:请求实体。 封装Body还可以用MultiValueMap。 public ResponseEntity<byte[]> ...

2018-11-15 11:15:47

阅读数 567

评论数 0

MySql - innodb不可重复读下的一些锁

MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。   一,InnoDB的索引 InnoDB的索引有两类索引,聚集索引(Clustered In...

2018-11-12 16:36:39

阅读数 153

评论数 0

SpringBoot - 配置Druid允许批量执行SQL

Druid默认是不开启批量SQL执行的,属性为MultiStatementAllow.配置为true即可. yml文件配置: filters:stat  spring: profiles: active: dev datasource: type: com.alib...

2018-11-09 19:12:09

阅读数 200

评论数 0

Java - 函数式编程(1): lambda表达式入门

关于lambda表达式            Lambda 是Jdk8推出的一个新特性,允许把函数作为一个方法的参数(函数作为参数传递进方法中)。            Lambda表达式只支持函数式接口  也就是只有一个抽象方法的接口。用来实现接口            使用 Lambda...

2018-09-05 11:32:54

阅读数 71

评论数 0

设计模式 - Java静态代理和动态代理

本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢? 原因: 1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者的区别是什么呢? 2,通过学习动态代理了解到动态代理是一种符合AOP设计思想的技术,那么什么...

2018-09-05 09:21:21

阅读数 47

评论数 0

网络 - TCP大全

TCP/IP 中有两个具有代表性的传输层协议,分别是TCP、UDP。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。 要知道TCP为了这简单描述“可靠的通信传输”背后所做的努力,你会深感佩服其强大性。TCP的特征:序列化+确认应答、超时重发、流量控制、拥塞控制等等...

2018-09-05 09:17:17

阅读数 290

评论数 0

分布式事务 - 2PC和3PC

协调者 在分布式系统中,每一个机器节点虽然都能明确的知道自己执行的事务是成功还是失败,但是却无法知道其他分布式节点的事务执行情况。因此,当一个事务要跨越多个分布式节点的时候(比如,淘宝下单流程,下单系统和库存系统可能就是分别部署在不同的分布式节点中),为了保证该事务可以满足ACID,就要引入一个...

2018-08-23 10:48:54

阅读数 66

评论数 0

数据库 - MySql MVCC机制

什么是MVCC         MVCC:是一种多版本并发控制(MVCC,Multiversion Currency Control)。一般情况下,事务性储存引擎不是只使用表锁,行加锁的处理数据,而是同时结合了MVCC机制,以处理更多的并发问题。当然Mysql中Innodb引擎才支持。 MyS...

2018-08-22 16:02:25

阅读数 698

评论数 0

常见算法 - 连续子数组最大和

public class Solution { public int FindGreatestSumOfSubArray(int[] array) { if(array.length == 0){ return 0; } ...

2018-08-20 17:27:36

阅读数 53

评论数 0

常见算法 - 二叉搜索树与双向链表

/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val =...

2018-08-20 16:41:45

阅读数 69

评论数 0

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