一.概述 收集算法(JVM之垃圾回收-垃圾收集算法)是内存回收的抽象策略,垃圾收集器就是内存回收的具体实现。 JVM规范对于垃圾收集器的应该如何实现没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器差别较大,这里只看HotSpot虚拟机。 就像没有最好的算法一样,垃圾收集器也没有最好, ...
分类:
其他好文 时间:
2020-05-22 13:05:10
阅读次数:
37
一、为什么要用分布式ID? 在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征? 1、什么是分布式ID? 拿MySQL数据库举个栗子: 在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。 但随着数 ...
分类:
其他好文 时间:
2020-05-21 00:15:31
阅读次数:
46
WEB 套打的基本解决思路是:把套打的格式做成一张图片,将要填入的数据按其在图片的坐标来定位,最后把数据填充到对应位置。 但是具体实现时会遇到各种问题: 1、 图片坐标定位不精准,实际打印效果有偏移; 2、 多页数据套打时,无法进行数据准确定位; 3、 套打数据的关联计算 / 页内计算支持性低; 4 ...
分类:
Web程序 时间:
2020-05-19 22:28:56
阅读次数:
72
beego 限速 路由之前调用 具体实现 func rateLimit(r rateLimiter, ctx context.Context) { var ( limiterCtx limiter.Context ip net.IP err error req = ctx.Request ) if ...
分类:
其他好文 时间:
2020-05-19 10:53:40
阅读次数:
79
[toc] 1 前言 计算器在现实生活中是很普遍的一种工具,所以很多初学者基本上就会用计算器来作为自己的第一个Java项目,当然对于我来说也并不意外。本文采用逆波兰算法来实现计算器的功能,为有需要的小伙伴详细讲解原理和具体实现。完整代码可以查看 "GitHub仓库" 。 2 表达式求值 2.1 问题 ...
分类:
其他好文 时间:
2020-05-18 12:17:00
阅读次数:
56
AspectJ1、 简介 AspectJ:Java社区里最完整最流行的AOP框架。(在Spring中AOP是一种思想,而AspectJ是一种AOP的更明确具体实现) 在Spring2.0以上版本中,可以使用基于AspectJ注解或基于XML配置的AOP。2、在Spring中启用AspectJ注解支持 ...
分类:
Web程序 时间:
2020-05-18 12:06:33
阅读次数:
88
依赖倒置原则(Dependency Inversion Priniciple,()DIP)(也叫依赖倒转原则)的定义: 高层模块不要应该依赖低层模块,他们都应该依赖抽象,抽象(接口和抽象类)不应该依赖于细节,细节(具体实现的类)应该依赖于抽象。意为要针对接口编程不要针对对象编程。 另一种描述为要针对 ...
分类:
其他好文 时间:
2020-05-17 16:11:20
阅读次数:
56
实践内容 从 MariaDB 一张表内读 10 万条记录,经处理后写到 MongoDB 。 具体实现 1、新建 Spring Boot 应用,依赖如下: 2、创建一张表,并生成 10 万条数据 3、创建 Person 类 4、创建一个中间处理器 5、创建 ,用户数据库映射 6、创建任务完成的监听 7 ...
分类:
编程语言 时间:
2020-05-17 01:35:05
阅读次数:
71
一、前言 我们提交一个事务,里面有多条sql,mysql是如何管理事务的呢?是如何做到其中一条sql执行失败,全部回滚的呢? 二、XA事务 XA协议是基于二阶段提交的一个具体实现,也是分为Prepare和Commit两个阶段。 Prepare阶段:TM(事务协调者)向所有RM(资源管理者)发送pre ...
分类:
数据库 时间:
2020-05-16 19:02:59
阅读次数:
114
概述 SPI全称Service Provider Interface,是一种为框架提供良好扩展性的机制。一般由框架开发方定义接口规范(如java.sql.Driver),而第三方厂商为之提供自己的实现(如com.mysql.jdbc.Driver)。借助SPI机制可以达到不修改框架具体实现代码就能根 ...
分类:
编程语言 时间:
2020-05-16 10:48:55
阅读次数:
94