0

springboot2.2.X手册:构建全局唯一的短链接数据中心

什么是短链接短链接,其实这个东西很常见,最早开始的时候小编是在微博上看见的,然后就很好奇这是个什么东西,怎么点进去后网址又辣么长?其实这个东西就必须按照字面来理解,就是短的链接,通过短的链接去数据库或者缓存中找到长的链接,映射出来即可。今天我们用redis来实现短链接服务,想换存储介质的同学自行更换。有哪些场景1、微博,短信等那些有限制字数的文案需求2、用户角度上来考虑,短链接更适合现在的快餐文化加载包体<?xml version="1.0"?><project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 htt...

阅读全文>>

0

数据库中间件的对比

目前的数据库中间件有很多,本节将介绍主流的中间件,并从各个维度将其与Mycat进行对比。1. MangoMango的中文名是“芒果”,它是一个轻量级的极速数据层访问框架,目前已有十多个大型线上项目在使用它。据称,某一支付系统利用Mango承载了每秒12万的支付下单请求,其超高的性能及超快的响应速度几乎相当于直接使用JDBC。它采用接口与注解的形式定义DAO,完美地结合了db与cache操作;支持动态SQL,可以构造任意复杂的SQL语句;支持多数据源、分表、分库、事务;内嵌“函数式调用”功能,能将任意复杂的对象映射到数据库的表中。但是从整体上看Mango是一个Java Dao Framework...

阅读全文>>

0

误删idea 的.iml文件后的处理方法

在缺少.iml文件项目下运行mvn idea:module,完成后将自动生成.iml文件 除了自动生成.iml文件外,还有以下几个相关的maven idea命令,以备不时之需: 生成.ipr文件: mvn idea:project 生成.iws文件: mvn idea:workspace 生成.iml文件: mvn idea:module

阅读全文>>

0

Java枚举"已过时"-改用“数据字典”

Java枚举的一大缺点:增加一个枚举项,需要重新发版,不易扩展数据字典:可以存储key=value形式的任何数据,变更不需要发版,易扩展实现原理字典的工作原理图数据库表设计CREATE TABLE `system_dict_node` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `pid` bigint(20) NOT NULL DEFAULT 0 COMMENT '上级ID', `code` varchar(20) NOT NULL COMMENT '字典code 保存前统一转为大写/小写', --只能包含字典、数...

阅读全文>>

0

JDK 15:Java 15中的新功能

标准Java的下一版本将具有文本块,垃圾收集器,隐藏的类以及模式匹配和记录的预览。随着Java 14于3月17日全面上市,将在2020年9月15日推出Java 15的后续产品。到目前为止,已经计划对该版本进行八次正式更改。 另外两个提案-加密签名和记录的第二个预览-可能很快就会成为正式提案。Java开发工具包(JDK)15为下一版本的Java SE(标准版)提供了基础。 在9月全面上市之前,将在6月和7月进行缩减阶段,然后在8月发布两个候选版本。OpenJDK 15提案的详细信息:Records, 是充当不可变数据的透明载体的类,将在JDK 14中作为早期预览首次亮相后,将包含在JDK 15的...

阅读全文>>

0

Spring Boot 如何测试打包部署

有很多网友会时不时的问我, Spring Boot 项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下 Spring Boot 如何开发、调试、打包到最后的投产上线。开发阶段单元测试在开发阶段的时候最重要的是单元测试了, Spring Boot 对单元测试的支持已经很完善了。1、在 pom 包中添加 spring-boot-starter-test 包引用<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star...

阅读全文>>

0

项目管理之开源:国内非常良心的一款考试系统 | 实用 | 推荐

介绍Exam++是国内首款基于JAVA与MYSQL开发的网络考试系统。它可以稳定、顺畅的运行在Windows与Linux平台上。您可以通过它快捷方便的创建试题和题库,发布试卷,组织考试,系统自动批改。高度的可配置性和灵活性使得它可以被应用于很多领域。地址https://gitee.com/ocelot/examxx?_from=gitee_search功能用户注册登陆:用户可以通过用户名邮箱注册网站,并且通过注册的用户登陆网站。随机练习:从题库中随机取出指定数量的题目供学员练习。强化练习:按照学员知识分布情况,分类进行练习,每次练习的结果会纳入到学员学习进度中。错题练习:学员做错过的题库会记录...

阅读全文>>

0

Spring Boot+Redis+拦截器+自定义Annotation实现接口自动幂等

在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下手段:数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行验证,如果验证通过删除token,下次请求再次判断token悲观锁或者乐观锁,悲观锁可以保证每次for update的时候其他sql无法update数据(在数据库引擎是inno...

阅读全文>>

0

「JAVA」字节流、字符流、缓冲流、转换流、内存流、字符编码

文件流、字节流、字符流、缓冲流、转换流、内存流文件流: 在Java 中,文件流负责操作文件,包括读取和写入;FileInputStream // 文件的字节输入流;FileOutputStream // 文件的字节输出流;FileReader // 文件的字符输入流;FileWriter // 文件的字符输出流;FileInputStream 和 FileOutputStream的父类分别是InputStream和OutputStream,都是字节流,以面向字节的形式提供IO操作。FileReader 和 ...

阅读全文>>

0

IEDA 操作入门详解

启动及主界面安装完成后,点击左面IDEA15的图标,下图界面进行IDEA加载等待IDEA加载完成后,一路配置及注册确认后进入主界面Create New Project:创建一个新的IDEA工程Import Project:导入一个已有的IDEA工程Open:打开一个已有工程或文件Check out form Version Control:从版本管理系统检出工程Configure:配置IDEA显示工具栏及工具按钮默认状态,IDEA不会显示工具栏及工具按钮。这样一来我相应的操作必须通过相应菜单一级级浏览查找才能使用,非常影响工具使用效率。显示工具栏及工具按钮,需要找到顶部视图菜单View,勾选①...

阅读全文>>