自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟笔记

容易实现的,它不是梦想;轻言放弃的,它不是诺言;要想成功,得敢于挑战;有了梦想,才有美好明天。...

原创 redis设计与实现:简单动态字符串SDS

1、SDS定义 SDS遵循C字符串以空字符结尾的惯例,保存空字符的一字节空间不计算在SDS的len属性里面。空字符对于SDS使用者是透明的,遵循空字符结尾的好处是SDS可以直接重用一部分C字符串函数库里面的函数。 2、SDS和C字符串的区别 1)常数复杂度获取字符串长度:...

2020-05-19 11:25:09 49 0

原创 机器学习:KNN用java代码实现

KNN算法:使用欧式距离计算方法,从源对象集合中选取距离目标节点最近的K个节点,判断K个节点所属类别最多的节点,即为目标节点所属的类别。 此处只是简单的实现KNN算法的过程,其中有一些优化的地方不再修改,还请小伙伴自行优化。 KNN的model类: package com.spring5....

2020-05-19 11:10:50 35 0

原创 如何设计一个秒杀系统总结

通过学习"如何设计一个秒杀系统"课程,总结秒杀相关的一些重要问题。 1.秒杀系统主要解决两个问题,一个是并发读,一个是并发写。 并发读的优化就是尽量减少客户端到服务端来读数据,或者读更少的数据;并发写处理原则也一样,在数据库独立出一个库,做特殊处理。 2.秒杀的整...

2019-11-13 15:45:03 375 1

原创 org.springframework.beans.factory.NoUniqueBeanDefinitionException导致错误原因之一:spring事物

项目运行过程中报错 报错信息如下: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.transaction.Pl...

2019-02-19 15:30:44 1492 4

原创 MySQL中不等号索引问题

最近在使用MySQL中的一个小总结。 在MySQL中,不等号<>在主键字段和唯一索引字段中会走索引,在普通索引的字段上不会走索引。   1.当不等号<>作用在普通索引字段上   表信息: 使用explain查看普通索引字段,没...

2019-01-31 17:22:06 4248 2

转载 支付对账系统怎么设计?

支付对账系统是整个支付清结算体系中具体基础性意义的一个环节,是确保支付平台与各类第三方支付渠道数据一致性的关键系统,是商户资金结算、资金划拨、资金报表等逻辑准确运行的重要前提。   支付对账涉及账单下载处理、核心对账、差错处理等诸多细节逻辑,同时根据交易量大小的不同,需要处理的数据量规模也不...

2019-01-15 13:13:43 1416 2

原创 多级缓存实例

一个使用了Redis集群和其他多种缓存技术的应用系统架构。     首先用户的请求被负载均衡服务器分发到Nginx上,此处常见的负载均衡算法有轮询和一致性哈希,轮训可以使服务器的请求更加均衡,而一致性哈希可以提高Nginx应用的缓存命中率。   接着,Nginx服务器读取本地缓存,实...

2019-01-15 13:06:06 1222 3

转载 互联网账户系统如何设计(下篇)

导读   在上一篇文章中(互联网账户系统如何设计(上篇)?)我们通过场景举例的方式,讨论了一套相对通用的互联网业务账户系统,从业务模型上应该如何定义。那么除了从业务模型上进行定义外,在具体系统实现上又该如何设计?又有哪些需要注意的地方呢?在本篇内容中小码农就和大家一起讨论下账户系统的实现细节,...

2019-01-04 11:13:55 418 0

转载 互联网账户系统如何设计(上篇)

在很多互联网公司业务发展的早期,业务模式比较单一的情况下,涉及用户账户资金交易相关的逻辑也比较简单,但是随着公司业务模式的不断创新及类型的多元化发展,会渐渐发现现有系统账户逻辑越来越雍肿,不仅难以支持新业务的扩张,对现有业务的支持也适配困难,最终导致新业务系统不得不重新搭建自己的业务账户逻辑,造成...

2019-01-04 11:10:15 686 0

原创 Centos7中MySQL的安装并设置开机启动

CentOS 7不带Mysql数据库了,默认的数据库是MariaDB(Mysql的一个分支)。 可以按照以下步骤手动安装Mysql数据库。 1.首先检查系统中是否安装有mysql rpm -qa | grep mysql 如果返回空值,说明没有安装MySQL 2.下载mysql的repo...

2018-12-27 00:05:51 6788 0

原创 oracle数据库查看表空间默认大小及使用情况总结

oracle查询数据库的默认表空间情况操作步骤如下:   1. 查询用户对应的表空间,我们可以看到针对不同的数据库用户Oracle select username, default_tablespace, temporary_tablespace from dba_users;   2...

2018-12-10 13:10:04 5071 0

原创 JVM内存模型介绍

  Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间。     java虚拟机所管理的内存将会包括以下几个运行时数据区域,有程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。以下将分别进行介绍...

2018-08-21 16:03:03 184 0

转载 BTree和B+Tree详解

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树...

2018-08-08 17:00:42 5707 3

原创 Java nio完成网络通信(三)

使用Java nio实现网络通信。 以下是用nio实现简单网络通信的demo /** * 使用NIO完成网络通信 * *1.通道channel:负责连接 * java.nio.channels.Channel * |--selectableChannel * ...

2018-08-06 10:38:16 355 0

原创 java NIO中的channel、分散、聚集(二)

Java NIO中的通道(channel)介绍、通道的实现方式、直接缓冲区和非直接缓冲区、nio中的分散聚集。 /**  *   *   * 一.通道(channel):用于源节点和目标节点的连接。在Java nio中负责数据的传输,  *         channel本身不存储数据,因此...

2018-08-06 10:33:06 197 0

原创 java nio中几个重要的属性(一)

最近学习一下Java NIO非阻塞式IO,下面是NIO中几个重要的属性和方法,方便大家理解 /**  * nio 非阻塞IO  * nio核心 Channel,Buffer 和 Selector   *   * 1.缓冲区buffer:在nio中负责数据的存取,缓冲区就是数据,用于存储不同的数...

2018-08-03 15:50:24 533 0

原创 centos7安装rabbitmq操作步骤

  本文使用的是Centos7 一、编译安装方式 1.依赖环境的安装-如果需要用编译安装erlang语言环境,需要安装C++编译。 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel un...

2018-07-26 17:08:15 9517 6

原创 Java 排序算法冒泡排序、插入排序、选择排序、奇偶排序、并行奇偶排序

本章将介绍一些常用的排序算法,有常用的串行排序,如冒泡排序、选择排序、插入排序、奇偶排序;还有对奇偶排序的并行实现方法。一、串行排序直接上代码public static void main(String[] args) { int[] array = {9,8,23,34,65,78,3,46,...

2018-06-27 11:10:42 271 8

原创 mysql实用总结

MySQL 5.7版本中实用功能总结,有些功能低版本也可以使用。1.GROUP_CONCAT(fieldName)将分组中每个字段的值显示出来SQL : SELECT t.user_id,GROUP_CONCAT(bank_name) from account t GROUP BY t.user_...

2018-06-11 10:58:57 235 0

原创 用mybatis往oracle批量插入数据报错java.lang.StackOverflowError

往oracle中批量插入10000条数据,报错如下java.lang.StackOverflowError at java.util.HashMap.hash(HashMap.java:362) at java.util.HashMap.getEntry(HashMap.java:462) at ...

2018-06-07 10:22:07 2542 4

原创 mybatis 缓存总结以及遇到的问题

一级缓存MyBatis 默认开启了一级缓存,一级缓存是在SqlSession 层面进行缓存的。即,同一个SqlSession ,多次调用同一个Mapper和同一个方法的同一个参数,只会进行一次数据库查询,然后把数据缓存到缓冲中,以后直接先从缓存中取出数据,不会直接去查数据库。​ 但是不同的SqlS...

2018-06-01 15:05:47 5772 1

转载 数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事...

2018-03-02 14:20:48 178 0

转载 详解java类的生命周期

引言         最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面...

2018-01-26 11:27:23 312 0

原创 rocketmq初学者入门

最近由于工作需要开始学习消息中间件rocketmq 首先,介绍一下rocketmq的安装。 1.解压rocketmq 2.新解压的rocketmq是没有执行权限的,需要修改文件权限。 3.修改runbroker.sh和runserver.sh的内存设置,因为这两个文...

2018-01-21 22:04:11 5044 1

转载 互联网支付系统整体架构详解

互联网支付系统整体架构详解 在互联网产品运营中,有很多小伙伴或许会遇到这样的困扰:产品好不容易推出来了,流量成本节节攀升,用户的活跃度、留存度却持续下降。 因此在瞬息万变的互联网产品环境中,需要研发接入支付系统来加入商业行为的闭环,支付系统能够帮助企业更好地实现...

2018-01-09 14:37:54 3486 0

原创 20个非常有用的Java程序片段

先收藏了,以后应该用的到。 下面是20个非常有用的Java程序片段,希望能对你有用。 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric string int i = Integer.parseI...

2017-12-26 09:08:20 283 0

原创 二维码的两种生成方法(前端js生成,后端java生成)

最近项目中需要开发生成二维码的功能,方便使用手机支付,在网上查了一些资料,把用过的方法进行总结。 1.前端js生成二维码 demo下载:http://download.csdn.net/download/yin767833376/10165335 html页面代码:       ...

2017-12-20 10:32:39 35603 6

转载 大规模分布式应用之海量数据和高并发解决方案总结一二

一、网站应用背景 开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。 当问题的规模在经济条件下通过堆硬件的方式解决不了的...

2017-12-19 10:53:55 446 0

原创 曾经的王者Dubbo低调重启维护 焕发新春的它要走向何处

几个月前,开源社区发生了一件大事,那个曾经风靡国内Java开发者的开源RPC服务框架——Dubbo,低调宣布将重新得到官方维护与支持。 对于Dubbo框架,大部分Java开发者都不会感到陌生,它自诞生起就备受关注。 2011年末,阿里巴巴在GitHub上开源了基于Java的分布式服务治...

2017-12-13 11:47:09 1711 0

转载 @Transactional事务几点注意

这里面有几点需要大家留意: A. 一个功能是否要事务,必须纳入设计、编码考虑。不能仅仅完成了基本功能就ok。 B. 如果加了事务,必须做好开发环境测试(测试环境也尽量触发异常、测试回滚),确保事务生效。 C. 以下列了事务使用过程的注意事项,请大家留意。 1. 不要在接口上声...

2017-10-24 14:42:20 787 0

转载 如何通过Mysql的二进制日志恢复数据库数据

经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响。所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据。   系统环境: 操作系统:CentOS 6.5 X64  (虚拟机);...

2017-09-30 16:24:23 404 0

转载 ireport制作小技巧

首先ireport中大小写问题: 1、parameter中如果小写,引用也小写 2、$F{},一般都大写 3、子报表中引用父报表中查询出来的值时,只需要小写即可,即在子报表的parameter中只需要小写 一、iReport 中获取系统当前时间 1...

2017-09-08 11:45:45 480 0

转载 使用存储过程将Oracle数据批量导出为多个csv文件

数据库有如下表结构: aaa (          obj_id          NUMBER,  (Primary Key)         obj_name   VARCHAR2(80),         obj_size   NUMBER NOT NULL ...

2017-08-30 16:46:19 2451 0

转载 Spring注解详解

概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务...

2017-08-29 16:49:42 238 0

转载 在线支付设计

探讨在线支付平台的实现 1.1        支付平台的接入 1.2        支付请求、支付结果返回的传输安全 1.3        支付站点、商户站点、银行网关的交互 1.4        支付状态不同步的处理   1.1   支付平台的接入 支付平台...

2017-08-24 17:25:22 469 0

转载 详述支付网关的设计原则

正文   在支付系统中,支付网关和支付渠道的对接是最核心的功能。其中支付网关是对外提供服务的接口,所有需要渠道支持的资金操作都需要通过网关分发到对应的渠道模块上。一旦定型,后续就很少,也很难调整。而支付渠道模块是接收网关的请求,调用渠道接口执行真正的资金操作。每个渠道的接口,传输方式都不尽相...

2017-08-24 16:48:39 4851 0

转载 详述支付路由的设计方案

正文   在支付的过程中,用户在前端选择一种支付方式,比如使用招行借记卡来支付后,系统不一定就是调用招行的接口来执行支付。支付宝、微信、易宝支付等第三方支付平台以及银联等,都支持招行借记卡支付,这种将支付方式落地到具体的支付接口的模块,就是支付路由。 1 设计目标 支付路由在支付...

2017-08-24 14:07:22 12389 0

转载 支付的典型架构

支付的典型架构 每个公司根据其业务和公司发展的不同阶段,所设计的支付系统也会有所不同。我们先看看互联网公司的一些典型的支付系统架构。 支付宝 先看看业内最强的支付宝系统,支付宝的支付系统整体架构设计这个整体架构上并没有与众不同之处。在模块划分上,这个图显示的是最顶层的划分,也无法告知...

2017-08-23 12:25:41 463 0

转载 第三方支付平台业务分析

何为第三方支付平台     我们把时间往前推15年,1999年的时候国内的电子商务开始起步,一些电商网站开始运行。理论上人们可以通过网络进行支付、购物。用户在网上下单,支付,然后商家收到钱后发货,用户收到货物感觉非常嗨皮,一次美好的网购旅程结束了。但有时并不那么嗨皮,这种流程因为在支付和收货...

2017-08-23 12:23:52 691 0

原创 ireport、jasperreport 导出excel的java代码

在用ireport、jasperreport 导出excel时的两种方法, 方法一:这种方式方法和参数已经过时,使用setParameter()和JRExporterParameter获取属性设置,还可以使用,看着不舒服 方法二:使用SimpleXlsxReportConfig...

2017-08-11 16:32:11 2063 6

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