自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (1)
  • 收藏
  • 关注

转载 转载

1、服务端   package contacts;   import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.ByteBuffer; import java....

2018-09-11 18:56:28 207

转载 参考一下(转载)

Hbase原理、基本概念、基本架构深入HBase架构解析(一)深入HBase架构解析(二)HBase 系统架构HBase之数据模型(DataModel)hbase数据模型HBase 在淘宝的应用和优化小结[Hadoop] 如何为你的企业选择正确的Hadoop版本[HBase]数据模型(逻辑结构)[Hadoop] 实际应用场景之 - 阿里HBase的特征和优点笔者带你剖析大数据存储HBase特性[H...

2018-07-06 18:53:27 648

转载 @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常(转载)

零、前言对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化的 tr...

2018-07-06 10:50:26 215

转载 fastjson的一些坑(转)

问题1: 使用Fastjson生成Json字符串少字段属性我使用Fastjson将节点对象Node生成JSON字符串时少个对象属性,麻烦你看一下是怎么回事,是bug吗?我用Gson就没出现问题!这是节点对象文件Node.java[java] view plain copypackage per.eblink.pojo;     public class Node {             pri...

2018-06-15 15:19:03 4247

转载 spring boot 多环境配置的方法(转载)

原文路径是:https://blog.csdn.net/guanfl/article/details/72123338springboot maven 多环境配置1.使用Intellij IDEA创建Spring Boot和Maven项目2.Spring Boot项目下application.yaml(yaml支持中文)或者application.properties(properties不支持中...

2018-06-14 13:52:24 250

转载 世上最详细的git原理解释(转载)

原文路径是https://www.cnblogs.com/cb0327/p/5066685.html目录1.提交 代码到远程仓库2.将远程仓库代码更新到本地3.更新到本地仓库时, 出现冲突,解决冲突后记: 正文本文背景,在实际项目中使用git已有一年,发现不少同事虽然会使用常用git指令,但并不理解每个指令对应的作用原理。今天静下心总结下git 的基本理解:代码的存在区域;本文以实际项目出发,理清...

2018-06-14 13:49:36 39422 8

转载 LinkedBlockingQueue和ConcurrentLinkedQueue适用场景

适用阻塞队列的好处:多线程操作共同的队列时不需要额外的同步,另外就是队列会自动平衡负载,即那边(生产与消费两边)处理快了就会被阻塞掉,从而减少两边的处理速度差距。当许多线程共享访问一个公共 collection 时,ConcurrentLinkedQueue 是一个恰当的选择。LinkedBlockingQueue 多用于任务队列ConcurrentLinkedQueue  多用于消息队列多个生产...

2018-06-01 12:03:15 6732

转载 Spring Cloud Config 分布式配置中心使用教程

最后那张图很不错一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是confi...

2018-05-29 19:30:00 216

转载 这个spring cloud网络拓扑图不错

公司目前使用的是dubbo方式实现微服务,想试水改造接口层服务为Spring Cloud, 以下是网络拓补图。        第一层负载均衡可以用nginx或者zuul(即有2层zuul), 本图画的是nginx。        Zuul的作用就是路由转发和过滤, 即将请求转发到微服务或拦截请求; Zuul默认集成了负载均衡功能。      下面创建一个zuul工程:      打开Intelli...

2018-05-29 11:10:43 8065 2

转载 基于状态机的订单系统

前言: 本文针对民宿业务下订单系统状态管理提出了一种解决方案:通过有限状态机极大的简化订单状态的迁移处理,同时使订单状态变得可控。此处的状态机指“有限状态机”1 有限状态机的概念有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型 摘自 - 维基百科FSM(有限状态机)可以使用状态图...

2018-05-29 10:55:26 13119

转载 电商系统之订单系统

01概述订单系统作为电商系统的“纽带”贯穿了整个电商系统的关键流程。其他模块都是围绕订单系统进行构建的。订单系统的演变也是随着电商平台的业务变化而逐渐演变进化着,接下来就和大家一起来解析电商平台的“生命纽带”。上帝视角订单系统订单系统的作用是:管理订单类型、订单状态,收集关于商品、优惠、用户、收货信息、支付信息等一系列的订单实时数据,进行库存更新、订单下发等一系列动作。订单系统业务的基本模型涉及用...

2018-05-29 10:54:18 25847

转载 Zuul通常用法

微服务架构体系中,通常一个业务系统会有很多的微服务,比如:OrderService、ProductService、UserService...,为了让调用更简单,一般会在这些服务前端再封装一层,类似下面这样:前面这一层俗称为“网关层”,其存在意义在于,将"1对N"问题 转换成了"1对1”问题,同时在请求到达真正的微服务之前,可以做一些预处理,比如:来源合法性检测,权限校验,反爬虫之类...传统方式...

2018-05-29 10:50:11 15746

转载 spring cloud使用zuul实现反向代理和负载均衡

首先,这篇文章参考的是http://blog.didispace.com/springcloud5/这位大牛的博客。本人是通过这篇博客来学习zuul的,现在写的博客只是个人在学习时个人的一些感受和理解。谈到spring cloud,就要提及到其核心组件:zuul组件,这个组件其实功能很多,比如反向代理,负载均衡还有权限控制等功能,这篇博客主要写的是zuul的反向代理和负载均衡。首先是进行eurek...

2018-05-29 10:43:35 2675

转载 电商演进

本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。一、大型分布式网站架构技术1、大型网站的特点用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费...

2018-05-25 17:24:27 537

转载 分布式事务一致性

有人的地方,就有江湖有江湖的地方,就有纷争问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便...

2018-05-25 17:18:45 3728

转载 spring boot架构改造

【51CTO.com原创稿件】Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多。在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的。从最初的开源软件云收藏来熟悉 Spring Boot,到项目中的慢慢使用,再到最后全面拥抱 Spring Cloud。这篇文章给大家介绍我们使用 Spring Boot / ...

2018-05-25 14:10:59 5556 2

转载 mycat使用限制

部分 SQL 还不能很好的支持除了分片规则相同、 ER 分片、全局表、以及 SharedJoin,其他表之间的 Join 问题目前还没有很好的解决,需要自己编写 Catlet 来处理 不支持 Insert into 中不包括字段名的 SQL insert into x select from y 的 SQL,若 x 与 y 不是相同的分片规则,则不被支持,此时会涉及到跨分片转移 跨分片的事务,目前...

2018-05-03 14:39:27 867

转载 关于Sharding-jdbc

jdbc真是个大坑,如果不是必要进行分库分表的话,就不要使用 sharding-jdbc,因为会有诸多的限制和不方便版本:2.0.0.M3 注意:本篇主要针对spring-mybatis不分库只分表目前Sharding-JDBC还在不断更新中,网上很多资料和答疑都是以前出现但是已修复了的,包括本篇,因此学习资料和问题解答最好是围绕着官方走。推荐加入官方群(在官网里找,提问的人多,答复的人少),可在...

2018-05-03 11:35:06 8436

转载 java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁

之前做过一个测试,详情见这篇文章《多线程 +1操作的几种实现方式,及效率对比》,当时对这个测试结果很疑惑,反复执行过多次,发现结果是一样的: 1. 单线程下synchronized效率最高(当时感觉它的效率应该是最差才对); 2. AtomicInteger效率最不稳定,不同并发情况下表现不一样:短时间低并发下,效率比synchronized高,...

2018-04-09 16:08:09 214

转载 java NIO 详解

Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓冲区时,...

2018-03-16 22:40:39 194

转载 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】

我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者……这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析。傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝。老实...

2018-03-16 22:40:11 125

转载 我对卷积的理解

在学习机器学习和图像处理的过程中,经常会遇到卷积这个概念。我每次遇到这个概念都有点似懂非懂的样子。有时候清楚它的直观解释,但又搞不清公式中是如何体现的。究其原因,还是我没有完全搞懂这个概念。 维基百科上有一个动态图来演示这个概念,但对于我来说还是有些复杂。于是自己在网上找了很多文章来研究,终于有了比较直观的印象,这里就趁热把我理解的解释一下,作为总结。一、一维卷积1.1 数学定义维基百科上,卷积的...

2018-03-16 22:39:46 556

转载 跨行清算系统的实现原理

最近看了很多银联方面的清算系统的设计原理,对于跨行清算系统有了很大的了解,写这篇文章的目的是在于从一个程序员的角度去思考一个跨行清算系统的架构是如何实现的以及整个过程中我们有哪些思想是可以借鉴的。由于金融里面涉及到太多的专业名词,包括借贷,备付金,头寸,调拨等等,这里不会涉及到这些,取而代之的是以大家可以理解的概念去解释。下面简单的介绍一下两种跨行清算系统的实现原理以及特点。一种跨清算系统是我们最...

2018-03-16 22:39:22 2244

转载 spring事务管理器设计思想

在最近做的一个项目里面,涉及到多数据源的操作,比较特殊的是,这多个数据库的表结构完全相同,由于我们使用的ibatis框架作为持久化层,为了防止每一个数据源都配置一套规则,所以重新实现了数据源,根据线程变量中指定的数据库连接名称来获取实际的数据源。一个简单的实现如下:public class ProxyDataSource implements DataSource {/** 数据源池配置 */...

2018-03-16 22:39:03 1242 1

转载 ThreaLocal内存泄露的问题

在最近一个项目中,在项目发布之后,发现系统中有内存泄漏问题。表象是堆内存随着系统的运行时间缓慢增长,一直没有办法通过gc来回收,最终于导致堆内存耗尽,内存溢出。开始是怀疑ThreadLocal的问题,因为在项目中,大量使用了线程的ThreadLocal保存线程上下文信息,在正常情况下,在线程开始的时候设置线程变量,在线程结束的时候,需要清除线程上下文信息,如果线程变量没有清除,会导致线程中保存的对...

2018-03-16 22:38:33 121

转载 缓存使用的一些注意事项

最近在项目中使用了很多缓存技术,包括局部缓存,远程集中式缓存,分布式缓存,在缓存的使用中也发现一些问题,整体总结如下:1 使用局部缓存要注意内存溢出一般局部缓存使用Map来实现,很容易无限制的往Map中填入数据,导致内存溢出。最好的方法就是使用SoftReference引用对象,而不是强引用对象2 在分布式环境下使用局部缓存,如果缓存是同一类数据,比如同一张表的数据库配置,则需要考虑一个同步措施,...

2018-03-16 22:38:16 569

转载 java语言的线程安全级别

java是支持多线程编程的语言,java中提供了很多类,如果把这些类的实现按照线程安全级别来排序的话,则由强到弱主要可以分为以下几个级别1 绝对线程安全在任何环境下,调用者都不需要考虑额外的同步措施,都能够保证程序的正确性。这个定义要求很严格,java里面满足这个要求的类比较少,对于实现jsr133规范(java内存模型)的jdk(一般指jdk5.0之上),一般的不变类都是满足绝地线程安全的。比如...

2018-03-16 22:38:00 222

转载 java对象初始化顺序

今天用了jmock对进行单元测试编码,发现一个比较奇怪的语法,见下面例子mockery.checking(new Expectations() {            {               one(new Object()).toString();               will(returnValue(""));           }       }); 下面写一个写一个简单...

2018-03-16 22:37:42 90

转载 Java内存模型-jsr133规范介绍

最近在看《深入理解Java虚拟机:JVM高级特性与最佳实践》讲到了线程相关的细节知识,里面讲述了关于java内存模型,也就是jsr 133定义的规范。系统的看了jsr 133规范的前面几个章节的内容,觉得受益匪浅。废话不说,简要的介绍一下java内存规范。什么是内存规范在jsr-133中是这么定义的A memory model describes, given a program and an e...

2018-03-16 22:37:25 125

转载 java嵌套类(Nested Classes)总结

Nested Classes定义在java语言规范里面,嵌套类(Nested Classes)定义是:A nested class is any class whose declaration occurs within the body of another class or interface. A top level class is a class that is not a nested...

2018-03-16 22:37:03 5867

转载 java中关于try、catch、finally中的细节分析

看了一位博友的一片文章,讲解的是关于java中关于try、catch、finally中一些问题下面看一个例子(例1),来讲解java里面中try、catch、finally的处理流程1234567891011121314151617181920212223public class TryCatchFinally {     @SuppressWarnings("finally")    publi...

2018-03-16 22:36:44 93

转载 java中volatile关键字的含义

在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多...

2018-03-16 22:36:16 88

转载 JAVA 中BIO,NIO,AIO的理解

【转自】http://qindongliang.iteye.com/blog/2018539在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下: 序号 问题1 什么是同步?2 什么是异步?3 什么是阻塞?4 什么是非阻塞?5 什么是同步阻塞?6 什么是同步非阻塞?7 什么是异步阻塞?8 什么是异步非阻塞?散仙不才,在查了一部分资料后,愿试着以通俗易懂的方式解释下这几个名词。...

2018-03-16 22:35:55 107

转载 分库分表带来的完整性和一致性问题

在最近做的一个项目中,由于每天核算的数据量过于庞大,需要把数据库进行分库保存。当数据分散到各个库之后,带来的数据更新操作就会存在一个一致性和完整性的问题。下面是一个典型的场景假设目前存在三个物理库,现在有一个文件,里面有1W条数据,根据分库的规则,可以把文件里面的数据分到三个库中,现在需要保证这1W条数据要要完整的保存到这三个库里面,并且数据是一致性的,也就是说 三个库里面已导入的数据完全和文件里...

2018-03-16 22:35:41 683

转载 Java中的注解是如何工作的?

自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解。这篇文章中,我将向大家讲述到底什么是注解,为什么要引入注解,注解是如何工作的,如何编写自定义的注解(通过例子),什么情况下可以使用注解以及最新注解和ADF(应用开发框架)。这会花点儿时间,所以为自己准备一杯咖啡,让我们来进入注...

2018-03-16 22:35:25 100

转载 查找(二)简单清晰的B树、Trie树详解

散列表散列表是普通数组概念的推广。由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。我们需要面对两个或多个键都会散列到相同的索引值的情况。因此,第二步就是一个处理碰撞冲突的过程,由两种经典解决碰撞的方法:拉链法和线性探测法...

2018-03-16 22:34:05 255

转载 全面理解Java内存模型

Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此Ja...

2018-03-16 22:33:45 128

转载 mysql 索引列为Null的走不走索引

要尽可能地把字段定义为 NOT NULL,即使应用程序无须保存 NULL(没有值),也有许多表包含了可空列(Nullable Column)这仅仅是因为它为默认选项。除非真的要保存 NULL,否则就把列定义为 NOT NULLMySQL难以优化引用了可空列的查询,它会使索引、索引统计和值更加复杂。可空列需要更多的储存空间,还需要在MySQL内部进行特殊处理。当可空列被索引的时候,每条记录都需要一个...

2018-03-16 22:33:28 4595

转载 redis主从复制和集群实现原理

redis主从复制redis主从配置比较简单,基本就是在从节点配置文件加上:slaveof 192.168.33.130 6379主要是通过master server持久化的rdb文件实现的。master server 先dump出内存快照文件,然后将rdb文件传给slave server,slave server 根据rdb文件重建内存表。redis复制过程如下:1、slave server启动...

2018-03-16 22:33:12 296

转载 memcache、redis原理对比

一、问题:         数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求。 二、解决方案:     1.通过高速服务器Cache缓存数据库数据     2.内存数据库   (这里仅从数据缓存方面考虑,当然,后期可以采用Hadoop+HBase+Hive等分布式存储分析平台)三、主流解Cache和数据库对比:      上述技术基本上代表了当今在数据存储方面所有的实现方案,其中...

2018-03-16 22:32:55 118

legendShop3.0.6

legendShop3确实是个很不错的系统,包含了登录,积分,支付,订单,退货等等模块

2017-02-11

空空如也

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

TA关注的人

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