
java
꧁༺逍༒遥༻꧂
这个作者很懒,什么都没留下…
展开
-
带你深入了解拓扑排序
# 前言 Topological sort 又称 Topological order,这个名字有点迷惑性,因为拓扑排序并不是一个纯粹的排序算法,它只是针对某一类图,找到一个可以执行的线性顺序。 这个算法听起来高大上,如今的面试也很爱考,比如当时我在面我司时有整整一轮是基于拓扑排序的设计。 但它其实是一个很好理解的算法,跟着我的思路,让你再也不会忘记她。 # 有向无环图 刚刚我们提到,拓扑排序只是针对特定的一类图,那么是针对哪类图的呢? 答:Directed acyclic graph (DAG)原创 2020-07-04 16:12:58 · 375 阅读 · 0 评论 -
Sharding-jdbc,完美解决了SpringBoot中分库分表问题
一、 Sharding-jdbc简介 Sharding-jdbc是开源的数据库操作中间件;定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 官方文档地址:https://shardingsphere.apache.org/document/current/cn/overview 本文demo实现了分库分表功能。如有错误,欢迎各位在评论中指出。不胜感激!原创 2020-07-03 15:29:54 · 827 阅读 · 0 评论 -
java导入导出,POI实战
# 介绍 java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下。 目前我所接触过的导入导出技术主要有POI和iReport,poi主要作为一些数据批量导入数据库,iReport做报表导出。另外还有jxl类似poi的方式,不过貌似很久没跟新了,2007之后的office好像也不支持,这里就不说了。 # POI使用详解 1 什么是Apache POI? Apache POI是Apache软件...原创 2020-07-02 16:12:22 · 178 阅读 · 0 评论 -
零拷贝
前言 从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能;这个词我们也经常在java nio,netty,kafka,RocketMQ等框架中听到,经常作为其提升性能的一大亮点;下面从I/O的几个概念开始,进而在分析零拷贝。 I/O概念 1.缓冲区 缓冲区是所有I/O的基础,I/O讲的无非就是把数据移进或移出缓冲区;进程执行I/O操作,就是向操作系统发出请求,让它要么把缓冲区的数据排干(写),要么填充缓冲区(读);下面看一个java进程发起read请求加载数据大致的流程图: 进程发起原创 2020-07-02 15:20:19 · 113 阅读 · 0 评论 -
validator校验参数
很痛苦遇到大量的参数进行校验,在业务中还要抛出异常或者 不断的返回异常时的校验信息,在代码中相当冗长, 充满了if-else这种校验代码,今天我们就来学习spring的javax.validation 注解式参数校验. # 为什么要用validator javax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行校验 不然我们的代码就像下面这样: // http://localhost:8080/api/user/save/serial /** * 走串行校原创 2020-07-02 15:11:45 · 386 阅读 · 0 评论