5 菜鸟笔记

尚未进行身份认证

java成长笔记

等级
TA的排名 5k+

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

项目运行过程中报错报错信息如下:org.springframework.beans.factory.NoUniqueBeanDefinitionException:Noqualifyingbeanoftype[org.springframework.transaction.PlatformTransactionManager]isdefined:expectedsing...

2019-02-19 15:30:44

MySQL中不等号索引问题

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

2019-01-31 17:22:06

支付对账系统怎么设计?

支付对账系统是整个支付清结算体系中具体基础性意义的一个环节,是确保支付平台与各类第三方支付渠道数据一致性的关键系统,是商户资金结算、资金划拨、资金报表等逻辑准确运行的重要前提。 支付对账涉及账单下载处理、核心对账、差错处理等诸多细节逻辑,同时根据交易量大小的不同,需要处理的数据量规模也不尽相同,需要在数据处理时进行一些比较细致地思考。在本文中,作者以单渠道日成功交易订单量300W左右规模...

2019-01-15 13:13:43

多级缓存实例

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

2019-01-15 13:06:06

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

导读 在上一篇文章中(互联网账户系统如何设计(上篇)?)我们通过场景举例的方式,讨论了一套相对通用的互联网业务账户系统,从业务模型上应该如何定义。那么除了从业务模型上进行定义外,在具体系统实现上又该如何设计?又有哪些需要注意的地方呢?在本篇内容中小码农就和大家一起讨论下账户系统的实现细节,希望可以和大家一起交流进步。 事实上账户系统的业务逻辑是比较复杂的,对数据的一致性要求很高,特...

2019-01-04 11:13:55

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

在很多互联网公司业务发展的早期,业务模式比较单一的情况下,涉及用户账户资金交易相关的逻辑也比较简单,但是随着公司业务模式的不断创新及类型的多元化发展,会渐渐发现现有系统账户逻辑越来越雍肿,不仅难以支持新业务的扩张,对现有业务的支持也适配困难,最终导致新业务系统不得不重新搭建自己的业务账户逻辑,造成重复建设不说,也往往给后续的财务资金核算造成混乱。 以某互联网A租车公司的业务发展路径为例?...

2019-01-04 11:10:15

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

CentOS7不带Mysql数据库了,默认的数据库是MariaDB(Mysql的一个分支)。可以按照以下步骤手动安装Mysql数据库。1.首先检查系统中是否安装有mysqlrpm-qa|grepmysql如果返回空值,说明没有安装MySQL2.下载mysql的repo源 如果提示没有wget命令,可以使用 yuminstall-ywget安装wge...

2018-12-27 00:05:51

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

oracle查询数据库的默认表空间情况操作步骤如下: 1.查询用户对应的表空间,我们可以看到针对不同的数据库用户Oracleselectusername,default_tablespace,temporary_tablespacefromdba_users; 2.查询用户的对应的数据文件,以及数据文件大小selecttablespace_name,f...

2018-12-10 13:10:04

JVM内存模型介绍

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

2018-08-21 16:03:03

BTree和B+Tree详解

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大...

2018-08-08 17:00:42

Java nio完成网络通信(三)

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

2018-08-06 10:38:16

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

JavaNIO中的通道(channel)介绍、通道的实现方式、直接缓冲区和非直接缓冲区、nio中的分散聚集。/** *  *  *一.通道(channel):用于源节点和目标节点的连接。在Javanio中负责数据的传输, *      channel本身不存储数据,因此需要配合缓冲区进行传输。 *  *   写数据到Buffer有两种方式:      从...

2018-08-06 10:33:06

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

最近学习一下JavaNIO非阻塞式IO,下面是NIO中几个重要的属性和方法,方便大家理解/** *nio非阻塞IO *nio核心Channel,Buffer和Selector  *  *1.缓冲区buffer:在nio中负责数据的存取,缓冲区就是数据,用于存储不同的数据类型 *  *数据类型不同(boolean除外),提供对应的缓冲区,其实就是数组 *Byt...

2018-08-03 15:50:24

centos7安装rabbitmq操作步骤

 本文使用的是Centos7一、编译安装方式1.依赖环境的安装-如果需要用编译安装erlang语言环境,需要安装C++编译。yum-yinstallmakegccgcc-c++kernel-develm4ncurses-developenssl-develunixODBCunixODBC-develhttpdpython-simplejson2.er...

2018-07-26 17:08:15

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

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

2018-06-27 11:10:42

mysql实用总结

MySQL5.7版本中实用功能总结,有些功能低版本也可以使用。1.GROUP_CONCAT(fieldName)将分组中每个字段的值显示出来SQL:SELECTt.user_id,GROUP_CONCAT(bank_name)fromaccounttGROUPBYt.user_id查询结果如下:2.WITHROLLUP在所有查询出的分组记录之后增加一条记录,该记录计算查询出的...

2018-06-11 10:58:57

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

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

2018-06-07 10:22:07

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

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

2018-06-01 15:05:47

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

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

2018-03-02 14:20:48

详解java类的生命周期

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

2018-01-26 11:27:23

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!