自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(504)
  • 资源 (7)
  • 收藏
  • 关注

原创 “12306” 是如何支撑百万 QPS 的

总体来说,秒杀系统是非常复杂的。我们这里只是简单介绍模拟了一下单机如何优化到高性能,集群如何避免单点故障,保证订单不超卖、不少卖的一些策略,完整的订单系统还有订单进度的查看,每台服务器上都有一个任务,定时的从总库存同步余票和库存信息展示给用户,还有用户在订单有效期内不支付,释放订单,补充到库存等等。

2023-02-22 23:57:37 44

原创 为什么说Netty是性能之王,因为它用了 Reactor 模型啊

针对传统阻塞 I/O 服务模型的 2 个缺点,比较常见的有如下解决方案:1)基于 I/O 复用模型:多个连接共用一个阻塞对象,应用程序只需要在一个阻塞对象上等待,无需阻塞等待所有连接。当某条连接有新的数据可以处理时,操作系统通知应用程序,线程从阻塞状态返回,开始进行业务处理;2)基于线程池复用线程资源:不必再为每个连接创建线程,将连接完成后的业务处理任务分配给线程进行处理,一个线程可以处理多个连接的业务。

2023-02-22 23:57:14 38

原创 InnoDB的七种锁

MySQL是目前世界上最流行的数据库,InnoDB是MySQL最流行的存储引擎,它在大数据量高并发量的业务场景下,有着非常良好的性能表现,之所以如此,是和InnoDB的。最简单的情况,如果一个事务正在往表中插入记录,所有其他事务的插入必须等待,以便第一个事务插入的行,是连续的主键值。,是间隙锁(Gap Locks)的一种(所以,也是实施在索引上的),它是专门针对insert操作的。,它封锁索引记录中的间隔,或者第一条索引记录之前的范围,又或者最后一条索引记录之后的范围。

2023-02-22 23:56:52 53

原创 Shiro + JWT + Spring Boot Restful 简易教程

我就说下代码还有哪些可以进步的地方吧没有实现 Shiro 的Cache功能。Shiro 中鉴权失败时不能够直接返回 401 信息,而是通过跳转到/401地址实现。

2023-02-22 23:56:34 32

原创 52条SQL语句,性能优化

在使用索引字段作为条件时,如果该索引是联合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用;,在适当的情形下使用GROUP BY而不是DISTINCT,在WHERE, GROUP BY和ORDER BY子句中使用有索引的列,保持索引简单,不在多个索引中包含同一个列,有时候MySQL会使用错误的索引,对于这种情况使用USE INDEX,检查使用SQL_MODE=STRICT的问题,对于记录数小于5的索引字段,在UNION的时候使用LIMIT不是是用OR。

2023-02-22 23:56:09 11

原创 Kafka 背后优秀的架构设计

Kafka broker有一个参数,log.segment.bytes,限定了每个日志段文件的大小,最大就是1GB,一个日志段文件满了,就自动开一个新的日志段文件来写入,避免单个文件过大,影响文件的读写性能,这个过程叫做log rolling,正在被写入的那个日志段文件,叫做active log segment。我们可以对比一下,如果HDFS没有block的设计,一个100T的文件也只能单独放在一个服务器上面,那就直接占满整个服务器了,引入block后,大文件可以分散存储在不同的服务器上。

2023-02-22 23:55:42 10

原创 12306架构到底是不是国内最牛逼的架构

怎样保证高并发下,正确的扣库存,还能快速的响应用户请求?在本地减库存以后,如果本地有订单,我们再去请求 Redis 远程减库存,本地减库存和远程减库存都成功了,才返回给用户抢票成功的提示,这样也能有效的保证订单不会超卖。完整的订单系统还有订单进度的查看,每台服务器上都有一个任务,定时的从总库存同步余票和库存信息展示给用户,还有用户在订单有效期内不支付,释放订单,补充到库存等等。从上面的介绍我们知道用户秒杀流量通过层层的负载均衡,均匀到了不同的服务器上,即使如此,集群中的单机所承受的 QPS 也是非常高的。

2023-02-22 23:54:50 21

原创 一文看懂分布式事务

在一阶段,Seata 会拦截“业务 SQL”,首先解析 SQL 语义,找到“业务 SQL”要更新的业务数据,在业务数据被更新前,将其保存成“before image”,然后执行“业务 SQL”更新业务数据,在业务数据更新之后,再将其保存成“after image”,最后生成行锁。在 AT 模式下,用户只需关注自己的“业务 SQL”,用户的 “业务 SQL” 作为一阶段,Seata 框架会自动生成事务的二阶段提交和回滚操作。一个分布式的全局事务,整体是 两阶段提交 的模型。

2023-02-22 23:54:37 72

原创 Cookie、Session、Token、JWT

通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)互联网中的认证:用户名密码登录邮箱发送登录链接手机号接收验证码只要你能收到邮箱/验证码,就默认你是账号的主人用户授予第三方应用访问该用户某些资源的权限你在安装手机应用的时候,APP 会询问是否允许授予权限(访问相册、地理位置等权限)你在访问微信小程序时,当登录时,小程序会询问是否允许授予权限(获取昵称、头像、地区、性别等个人信息)

2023-02-22 23:54:27 37

原创 RabbitMQ 七种队列模式应用场景案例分析

做最简单的事情,一个生产者对应一个消费者,RabbitMQ相当于一个消息代理,负责将A的消息转发给B将发送的电子邮件放到消息队列,然后邮件服务在队列中获取邮件并发送给收件人具有路由功能的交换机,绑定到此交换机的时候需要指定一个routing_key,交换机发送消息的时候需要routing_key,会将消息发送道对应的队列广播消息到所有队列,没有任何处理,速度最快在直连交换机基础上增加模式匹配,也就是对routing_key进行模式匹配,代表一个单词,代表多个单词。

2023-02-22 23:54:09 13

原创 阿里程序员常用的 15 款开发者工具

从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍:工具名称和简介使用场景使用教程获取方式。

2023-02-19 16:19:17 104

原创 换掉 Maven

相信使用Java的同学都用过Maven,这是一个非常经典好用的项目构建工具。但是如果你经常使用Maven,可能会发现Maven有一些地方用的让人不太舒服:Maven的配置文件是XML格式的,假如你的项目依赖的包比较多,那么XML文件就会变得非常非常长;XML文件不太灵活,假如你需要在构建过程中添加一些自定义逻辑,搞起来非常麻烦;Maven非常的稳定,但是相对的就是对新版java支持不足,哪怕就是为了编译java11,也需要更新内置的Maven插件。

2023-02-19 16:17:51 43

原创 一款高颜值的 SpringBoot 项目

这是一款 java + SpringBoot框架系统。项目整体还是不错的,单体架构,易部署,新手可以快速上手,是一款不可多得的 SpringBoot 入门学习项目。项目采用SpringBoot框架 + JPA持久层 前端采用比较流行的Semantic UI。分为控制层 业务层 数据持久层 严格按照 SpringMVC 架构模式开发。数据库采用MySQL。

2023-02-19 16:17:25 23

原创 精准优化 if…else ,干掉,过多,烂代码

干掉”if...else 的能力高低反映的是程序员对软件重构、设计模式、面向对象设计、架构模式、数据结构等多方面技术的综合运用能力,反映的是程序员的内功。一般来说,当一个类中的多个方法都有类似于示例中的 if...else 判断,且条件相同,那就可以考虑使用多态的方式消除 if...else。今天,跟大家聊一聊,现实中的代码往往存在着过多的 if...else。当 if...else 中的条件表达式灵活多变,无法将条件中的数据抽象为表格并用统一的方式进行判断时,这时应将对条件的判断权交给每个功能组件。

2023-02-19 16:14:31 53

原创 SpringBoot操作ES进行各种高级查询(值得收藏)

查询到了上面这条数据,因为 spring开发基础 分完词后是 spring 开发 基础 ,而查询关键字是 spring 不分词,这样当然可以匹配到这条记录,但是当我们修改关键字为 spring开发,按照往常的查询方法,也是可以查询到的。结果可想而知是查询不到的。定义过滤器查询,是在原本查询结果的基础上对数据进行筛选,因此省略了重新计算的分的步骤,效率更高。在多域联合查询的时候,可以通过 boost 来设置某个域在计算得分时候的比重,比重越高的域当他符合条件时计算的得分越高,相应的该记录也更靠前。

2023-02-19 16:10:51 181

原创 Java身份证号码识别系统(开源项目)

不需要安装opencv 新增的了前端控制识别区域的功能,新增了后端识别后验证 ,页面样式主要适应paid,重新修改了后面的识别过程,用户opencv进行图片优化和区域 选择,使用tess4j进行数字和x的识别 配合样式中的区域在后台裁剪相关区域图片 /idCardCv/src/main/resources/static/js/plugins/cropper/cropper.css。该项目修改原有的需要安装opencv的过程,全部使用javaccp技术重构,通过javaccp引入需要的c++库进行开发。

2023-02-19 16:10:09 63

原创 大厂面试:25 道 MyBatis 面试题

Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时 只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性 能,灵活度高。MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数 据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

2023-02-19 16:09:35 41

原创 高并发介绍

2、业务都是从0到1做起来的,并发量和QPS只是参考指标,最重要的是:在业务量逐渐变成原来的10倍、100倍的过程中,你是否用到了高并发的处理方法去演进你的系统,从架构设计、编码实现、甚至产品方案等维度去预防和解决高并发引起的问题?另外,如果业务场景不同,高并发的落地方案也会存在差异,但是总体的设计思路和可借鉴的方案基本类似。了解了高并发设计的3大目标后,再系统性总结下高并发的设计方案,会从以下两部分展开:先总结下通用的设计方法,然后再围绕高性能、高可用、高扩展分别给出具体的实践方案。

2023-02-19 16:07:50 40

原创 红黑树介绍

红黑树是一种含有红黑结点并能自平衡的二叉搜索树。为了保证平衡,红黑树必须满足以下性质:每个结点是要么是红色或黑色根结点必须是黑色叶结点(外部结点、空结点)是黑色红色结点不能连续(也就是,红色结点的孩子和父亲都是黑色)对于每个结点,从该点至 nil(树尾端,Java 中为 null 的结点)的任何路径都包含所相同个数的黑色结点。

2023-02-19 16:06:42 19

原创 10个解放双手实用在线工具

上边这些是我常用到的几个在线工具,其实远不止这些,虽然说不上神器,但确实实在在是提升了我的工作效率,希望也能对你有点帮助。

2023-02-19 16:03:32 30

原创 从零教你实现一个小说和漫画在线阅读网站[附源码]

今天给大家推荐的这个开源项目是一个基于 SpringBoot 实现的小说和漫画在线阅读网站。。这个开源项目是一个多平台(web、安卓 app、微信小程序)、功能完善的小说弹幕网站,包含精品小说专区、轻小说专区和漫画专区。包括小说 / 漫画分类、小说 / 漫画搜索、小说 / 漫画排行、完本小说 / 漫画、小说 / 漫画评分、小说 / 漫画在线阅读、小说 / 漫画书架、小说 / 漫画阅读记录、小说下载、小说弹幕、小说 / 漫画自动爬取、小说内容自动分享到微博、邮件自动推广、链接自动推送到百度搜索引擎等功能。

2023-02-18 16:09:01 144

原创 另一种思考:为什么不选JPA、MyBatis,而选择JDBCTemplate

这符合ORM最初的理想,ORM认为Java程序员使用OO的思维方式,和关系数据库的思维方式差距巨大,为了填补对象和关系思维方式的鸿沟,必须做一个对象到关系的映射,然后在Java的对象世界中,程序员可以使用纯的对象的思维方式,查询POJO对象,查询条件是对象属性,不再需要有任何表、字段等关系的概念,这样java程序员就更容易做持久层的操作。任何一个框架和中间件,都不是解决问题的银弹,我们不应该人云亦云,而更应用根据自身团队的情况、业务需求的情况、成本预算的情况,选择更适合自身环境的东西,这样才是最好的。

2023-02-18 16:08:00 476

原创 为什么SpringBoot的 jar 可以直接运行

LaunchedURLClassLoader重写了loadClass方法,也就是说它修改了默认的类加载方式(先看该类是否已加载这部分不变,后面真正去加载类的规则改变了,不再是直接从父类加载器中去加载)。return cls;加载规则:如果根类加载器存在,调用它的加载方法。这里是根类加载是ExtClassLoader。

2023-02-18 16:07:41 287

原创 Docker遇到Intellij IDEA,再次解放了生产力

Idea是Java开发利器,SpringBoot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢?/home/developer/app/logs/ 目录下,将宿主机目录挂载到容器内部目录后,那么日志就会持久化容器外部的宿主机目录中。这里我们可以看到镜像名称为docker-demo:1.1,docker容器为docker-server。(2) 在src/main目录下创建docker目录,并创建Dockerfile文件。

2023-02-18 16:06:03 51

原创 国产开源监控系统

集监控点监控、日志监控、数据可视化以及监控告警为一体的国产开源监控系统,直接部署即可使用。监控数据类型丰富,提供多种富有表现力的图表,满足对数据可视化的需要,目前支持折线图、饼图、地理位置图,后续会引入 更多富有表现力的图表以加强对数据可视化的支持。相比其它开源监控系统优势支持插件功能, 监控插件无需开发,自由选择监控插件,安装即可使用集成告警功能, 支持多种告警方式集成分布式日志系统功能支持多种部署方式a.集中部署(全部服务部署在一台机器,适合个人或者小团队开发者)

2023-02-18 16:05:36 70

原创 压缩20M文件从30秒到1秒的优化过程

生活处处都需要学习,有时候只是一个简单的优化,可以让你深入学习到各种不同的知识。所以在学习中要不求甚解,不仅要知道这个知识也要了解为什么要这么做。知行合一:学习完一个知识要尽量应用一遍。这样才能记得牢靠。源码地址: https://www.oschina.net/action/GoToLink?

2023-02-18 16:03:05 224

原创 这样统计代码执行耗时,才足够优雅

本文列举了四种统计代码耗时的方法:时间差统计StopWatchFunction列举的方案是我目前能想到的方案。

2023-02-18 16:02:05 208

原创 Spring 中经典的 9 种设计模式

source 接口是具体资源访问策略的抽象,也是所有资源访问类所实现的接口。定位并打开资源,返回资源对应的输入流。每次调用都返回新的输入流。调用者必须负责关闭输入流。返回 Resource 所指向的资源是否存在。返回资源文件是否打开,如果资源文件不能多次读取,每次读取结束应该显式关闭,以防止资源泄漏。返回资源的描述信息,通常用于资源处理出错时输出该信息,通常是全限定文件名或实际 URL。返回资源对应的 File 对象。返回资源对应的 URL 对象。

2023-02-18 16:01:31 321

原创 Kibana

Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。imgimgKibana是一个Web应用程序,你可以通过5601来访问它。

2023-02-18 15:59:21 42

原创 SpringBoot整合Elastricsearch + LogStash + Kibana

在看大型网站的中间件技术,对于Elasticsearch有点兴趣,所以将配置流程记录了一下。

2023-02-18 15:56:25 77

原创 Spring中涉及的设计模式总结

因为这个类的方法太多,但是我们还是想用到JdbcTemplate已有的稳定的、公用的数据库连接,那么我们怎么办呢?通过Spring接口的暴露,在实例化bean的阶段我们可以进行一些额外的处理,这些额外的处理只需要让bean实现对应的接口即可,那么spring就会在bean的生命周期调用我们实现的接口来处理该bean。各种的Aware接口,比如 BeanFactoryAware,对于实现了这些Aware接口的bean,在实例化bean时Spring会帮我们注入对应的BeanFactory的实例。

2023-01-19 22:20:55 585

原创 SpringBoot 接口幂等性实现的4种方案

幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。在HTTP/1.1中,对幂等性进行了定义。

2023-01-19 22:18:38 574

原创 SpringBoot 项目

TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、日志记录、文件上传、代码生成等,为快速开发后台系统而生的脚手架!同时又让开发者节省大量的时间,减少加班,快乐工作,热爱生活。后台管理系统包含商品管理、订单管理、运费模板、规格管理、会员管理、运营管理、内容管理、统计报表、权限管理、设置等模块。

2023-01-19 22:15:24 2533

原创 17道Redis 面试题

Redis 持久化机制缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题热点数据和冷数据是什么Memcache与Redis的区别都有哪些?单线程的redis为什么这么快redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构redis的过期策略以及内存淘汰机制【~】Redis 为什么是单线程的,优点如何解决redis的并发竞争key问题Redis 集群方案应该怎么做?都有哪些方案?有没有尝试进行多机redis 的部署?如何保证数据一致的?对于大量的请求怎么样处理。

2023-01-19 22:12:35 2112

原创 缓存一致性问题怎么解决

延时双删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到数据,就在更新完数据库之后,再sleep一段时间,然后再次删除缓存。这个就更明显的问题了,更新数据库成功,如果删除缓存失败或者还没有来得及删除,那么,其他线程从缓存中读取到的就是旧值,还是会发生不一致。每次放入缓存的时候,设置一个过期时间,比如5分钟,以后的操作只修改数据库,不操作缓存,等待缓存超时后从数据库重新读取。先删除缓存,数据库还没有更新成功,此时如果读取缓存,缓存不存在,去数据库中读取到的是旧值,缓存不一致发生。

2023-01-19 22:12:05 885

原创 字符串匹配算法详解

如上图所示,如果我们利用 BF 算法,遇到不匹配字符时,每次右移一位模式串,再重新从头进行匹配,我们观察一下,我们的模式串 abcdex 中每个字符都不一样,但是我们第一次进行字符串匹配时,abcde 都匹配成功,到 x 时失败,又因为模式串每位都不相同,所以我们不需要再每次右移一位,再重新比较,我们可以直接跳过某些步骤。其实这个题目很容易理解,但是我们需要注意的是一下几点,比如我们的模式串为 0 时,应该返回什么,我们的模式串长度大于主串长度时,应该返回什么,也是我们需要注意的地方。哦,我还没评论功能。

2023-01-19 22:10:10 1359

原创 一个数据库文档生成神器

在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人。于是萌生了要自己写一个插件工具的想法,但由于自己前期在程序设计上没有很多造诣,且能力偏低,有想法并不能很好实现,随着工作阅历的增加,和知识的不断储备,终于在2020年的3月中旬开始进行编写。

2023-01-19 21:48:27 1434

原创 synchronized锁升级

假如 synchronized 是「王」身边的「大总管」,那么Thread就像是他后宫的王妃。「王」每日只能选择一个王妃陪伴,王妃们会想方设法争宠获得陪伴权,大总管需要通过一定的手段让王「翻牌」一个「王妃」与王相伴。今日听「码哥」胡言乱语解开 synchronized 大总管如何调度「王妃」陪伴「王」,王妃不同状态的变化到底经历了什么?且看 synchronized 大总管又采取了哪些手段更加高效「翻牌」一个王妃,宫斗还有 30 秒到达战场!!!王妃的 6 种状态。

2023-01-19 21:46:08 980

原创 HTTP简史

1.0版本中每个TCP连接只能发送一个请求,数据发送完毕连接就关闭,如果还要请求其他资源,就必须重新建立连接。这是一个非常重要的改进,1.x中建立多个连接的消耗以及效率都存在问题,2.0版本的多路复用多个请求共用一个连接,多个请求可以同时在一个TCP连接上并发,主要借助于二进制帧中的标识进行区分实现链路的复用。在长连接的基础上,管道化可以不等第一个请求响应继续发送后面的请求,但响应的顺序还是按照请求的顺序返回,即在同一个TCP连接中,客户端可以同时发送多个请求,进一步改进了HTTP协议的传输效率。

2023-01-19 21:42:13 1020 1

原创 SQL要点

数据库编译器产生执行计划,决定着SQL的实际执行方式。但是编译器只是尽力服务,所有数据库的编译器都不是尽善尽美的。上述提到的多数场景,在其它数据库中也存在性能问题。了解数据库编译器的特性,才能避规其短处,写出高性能的SQL语句。程序员在设计数据模型以及编写SQL语句时,要把算法的思想或意识带进来。编写复杂SQL语句要养成使用 WITH 语句的习惯。简洁且思路清晰的SQL语句也能减小数据库的负担。

2023-01-19 21:33:37 1437

MySQL Server 8.0.7z

mysql8.0客户端与服务端,有时候写脚本需要用到mysql客户端

2021-10-30

java面试手册.rar

涵盖市面上大部分java面试题

2021-10-30

Spire.Doc-FE_2.7.3.rar

Spire.Doc-FE_2.7.3.jar,是一款java生成word的工具类,可以很方便的提供word的各种各样的操作,还有在线说明文档 https://www.e-iceblue.cn/spiredocforjava/insert-hyperlinks-in-word-in-java.html。基本操作都有java demo,所以很好上手。

2020-03-13

Calculator.rar

界面优美,可以在这个计算器的代码上继续扩展,div自己的功能,资源提供源码,纯java代码编写,基于swing库开发出来的。

2019-12-25

Oracle可执行文件,包含导入导出可执行文件

Oralce导入导出可执行文件,版本是11.2,免去了要安装Oracle的烦恼,可以配合plsql使用,非常方便,大大调高了开发的效率

2019-12-16

SingleChainList.java

java的链表实现,以及一些必要的功能方法,还有需要的方法可以自行添加,基本的数据结构已经设计好了

2019-07-09

BigNumber.java

没有借用工具类,基于加法原理进行相加,无论多大的数都可以加出来

2019-07-07

空空如也

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

TA关注的人

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