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

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

    Java 2020年06月12日 2312 0
  • 数据库中间件的对比

    目前的数据库中间件有很多,本节将介绍主流的中间件,并从各个维度将其与Mycat进行对比。1. MangoMango的中文名是“芒果”,它是一个轻量级的极速数据层访问框架,目前已有十多个大型线上项目在使用它。据称,某一支付系统利用Mango承载了每秒12万的支付下单请求,其超高的性能及超快的响应速度几乎相当于直接使用JDBC。它采用接口与注解的形式定义DAO,完美地结合了db与c...

    Java 2020年06月10日 6363 0
  • IOS13.5.5版本跃升了 IOS

    IOS13.5.5版本跃升了

    苹果今天发布了iOS 13.6的新开发者Beta。在此之前,上周向开发人员和公共Beta用户发布了iOS 13.5.5 beta1。苹果正在重命名Beta版本,并将今天的版本称为iOS 13.6 beta2。[ 更新:现在也可供公共Beta用户使用。]这不是Apple第一次更改Beta iOS版本的编号。就在上个月,当苹果推出了Exposure Notification API...

    IOS 2020年06月10日 2661 0
  • 误删idea 的.iml文件后的处理方法

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

    Java 2020年05月21日 5648 0
  • iOS 13.5正式版要来了:戴口罩解锁更方便 IOS

    iOS 13.5正式版要来了:戴口罩解锁更方便

    不管Face ID再怎么安全,面对口罩来说也有点不知所措,解锁成功率基本为0,而且需要数次尝试之后才能打开密码解锁界面,在这种特殊情况下的便利性可以说是被指纹识别甩开好远。好消息是,随着iOS 13.5的到来,戴口罩解锁iPhone会方便不少。苹果加入了相应的判断,如果检测到用户佩戴口罩解锁,首次识别失败之后会立即进入密码解锁界面。那么,iOS 13.5何时发布呢?目前最新的消...

    IOS 2020年05月19日 2064 0
  • PHP 8 到底有多快,新特性解读 PHP

    PHP 8 到底有多快,新特性解读

    PHP-8将于今年年底发布,其最令人期待的功能之一就是JIT编译。让我们通过本文来看看这项功能对PHP脚本的速度有怎样的影响?以下为译文:今年年底,PHP-8即将发布。虽然这个主版本有很多新功能,例如联合类型、静态返回和弱映射等,但最令人期待的改进还是JIT编译器。从理论上讲,JIT处理PHP脚本编译的方式能够提高应用程序的速度。但让我们来看看这种方法能否达到我们的期望。请注意...

    PHP 2020年05月18日 4628 0
  • GCC 10.1 发布

    编译器和库改进对 C++20 的支持 C2X 增强 各方面的优化增强和 bugfix 多个编译器后端的硬件启用变化和增强 新的实验性静态分析 -fanalyzer 会启用新的静态分析以及相关警告。该功...

    C语言 2020年05月12日 2287 0
  • Java枚举"已过时"-改用“数据字典”

    Java枚举的一大缺点:增加一个枚举项,需要重新发版,不易扩展数据字典:可以存储key=value形式的任何数据,变更不需要发版,易扩展实现原理字典的工作原理图数据库表设计CREATE TABLE `system_dict_node` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `pid` bigint(...

    Java 2020年05月12日 4693 0
  • JDK 15:Java 15中的新功能

    标准Java的下一版本将具有文本块,垃圾收集器,隐藏的类以及模式匹配和记录的预览。随着Java 14于3月17日全面上市,将在2020年9月15日推出Java 15的后续产品。到目前为止,已经计划对该版本进行八次正式更改。 另外两个提案-加密签名和记录的第二个预览-可能很快就会成为正式提案。Java开发工具包(JDK)15为下一版本的Java SE(标准版)提供了基础。 在9月...

    Java 2020年05月12日 2911 0
  • iOS 14系统来了:苹果定于6月22日发布,都有哪些新功能? IOS

    iOS 14系统来了:苹果定于6月22日发布,都有哪些新功能?

    iOS系统作为苹果手机最为吸睛的内容生态,也是很多人选择苹果手机最重要的原因之一。近日,苹果宣布将会在6月22日的WWDC全球开发者大会上,发布全新的IOS系统——iOS 14。iOS 14系统是近几年内,苹果公司对系统UI生态力度最大的更新,那么它都带来了哪些惊喜呢?首先,是后台应用程序的双排呈现,一改往日单排的竖直排列,可以更加清晰地看到后台运行的程序,为消费者带来了更加便...

    IOS 2020年05月11日 2206 0
  • Spring Boot 如何测试打包部署

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

    Java 2020年05月08日 1812 0
  • 项目管理之开源:国内非常良心的一款考试系统 | 实用 | 推荐

    介绍Exam++是国内首款基于JAVA与MYSQL开发的网络考试系统。它可以稳定、顺畅的运行在Windows与Linux平台上。您可以通过它快捷方便的创建试题和题库,发布试卷,组织考试,系统自动批改。高度的可配置性和灵活性使得它可以被应用于很多领域。地址https://gitee.com/ocelot/examxx?_from=gitee_search功能用户注册登陆:用户可以...

    Java 2020年05月06日 3246 0
  • Spring Boot+Redis+拦截器+自定义Annotation实现接口自动幂等

    在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下手段:数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的...

    Java 2020年05月05日 1410 0
  • 「JAVA」字节流、字符流、缓冲流、转换流、内存流、字符编码

    文件流、字节流、字符流、缓冲流、转换流、内存流文件流: 在Java 中,文件流负责操作文件,包括读取和写入;FileInputStream // 文件的字节输入流;FileOutputStream // 文件的字节输出流;FileReader // 文件的字符输入流;FileWriter /...

    Java 2020年05月04日 1559 0
  • IEDA 操作入门详解

    启动及主界面安装完成后,点击左面IDEA15的图标,下图界面进行IDEA加载等待IDEA加载完成后,一路配置及注册确认后进入主界面Create New Project:创建一个新的IDEA工程Import Project:导入一个已有的IDEA工程Open:打开一个已有工程或文件Check out form Version Control:从版本管理系统检出工程Configur...

    Java 2020年05月04日 1710 0
  • SpringBoot 使用 Caffeine 本地缓存

    环境配置:JDK 版本:1.8Caffeine 版本:2.8.0SpringBoot 版本:2.2.2.RELEASE一、本地缓存介绍缓存在日常开发中启动至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。之前介绍过 Redis 这种 NoSql 作为缓存组件,它能够很好的作为分布式缓存组件提供多个服务间的缓存,但是 Red...

    Java 2020年05月03日 2521 0
  • gRPC和RSocket之间的区别

    我们一直被问到这个问题。 通常,gRPC和RSocket尝试解决不同的问题。 gRPC是使用HTTP / 2的RPC框架。 RSocket是较低级别的消息传递网络层。 因此,开发人员将直接使用RSocket进行低级交互,并可以选择使用RSocket-RPC作为位于RSocket之上的易于使用的RPC层。现在,让我们更具体地看一下gRPC和RSocket之间的区别。OSI层gRP...

    Java 2020年05月02日 5390 0
  • WebSocket 协议初探

    因项目使用WebSocket作为主要的请求方式,知其然也要知其所以然,会用也需要知道它的基本原理,所以写此文章分享下自己的浅见,文章主要包括以下内容:WebSocket是什么WebSocket和Socket区别建立连接数据帧格式发送数据聊天Demo代码: github.com/madaoCN/Web… 包含tornado写的 Server 和 Client 脚本 和 简单ws使...

    Python 2020年05月01日 1992 0
  • 使用Netty通信时,遇到TCP粘包拆包问题如何解决?答案如此简单

    1、什么是TCP粘包拆包2、Netty中粘包问题的问题重现3、Netty中粘包问题的解决方案OK,在你心中有这么一个基本的脉络之后就可以开始今天的文章了。本系列所有的文章都会给出完整的代码,且在电脑上真实运行了一遍,确保无误。一、什么是TCP拆包和粘包我们使用TCP协议在传输数据的时候,如果数据块比较大,就会考虑将其切分。把一个大的数据包进行切割成一个个小的数据包发送。这时候就...

    Java 2020年04月27日 1693 0
  • Java界使用最广的依赖管理工具:Maven快速上手教程

    Maven是Java界使用最广泛的依赖管理工具,几乎所有的Java类库和项目都使用Maven的项目模型。可以说Maven是学习Java必要的一个知识点。那么就让我们来看看如何使用Maven吧。安装MavenMaven的安装非常简单,访问下面的网页,选择zip包下载。下载完成后,放到合适的位置解压,然后将文件夹中的bin目录添加到环境变量中,以便可以在命令行中运行Maven。ht...

    Java 2020年04月27日 1614 0
  • php+phpstorm+xdebug+PuTTY远程调试方式 PHP

    php+phpstorm+xdebug+PuTTY远程调试方式

    1、环境说明 本地开发机:windows开发浏览器:chrome远程服务器:ubuntu、nginx, 服务器无法直接通过ip访问本地开发机,所以使用了PuTTY做映射,否则无需映射即可直接配置使用注意:php的路由需要能够路由到真实的php文件,否则无法远程调试2、安装必要程序(服务器)1) 安装xdebug, apt-get install php5-xdebug配置:在p...

    PHP 2020年04月27日 2273 0
  • Spring AOP为什么能够成为Spring的基石?

    Spring AOP是Spring的三大基石之一它究竟解决了什么痛点能获如此殊荣?Java在面向对象的世界里无限风光,oop成就了无数经典的软件,它让我们的软件更健壮,更易于维护,但是程序猿对软件的质量追求是永无止境的,oop对于业务的抽象和封装完美的无懈可击然而对于系统层面的一些需求比如系统日志,性能统计等,分散在软件的各个角落,维护起来很是不爽,这种问题的解决确是oop力所...

    Java 2020年04月26日 1552 0
  • Java 性能问题如何排查?教你几招快速定位的方法

    概述性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位。预备知识既然是定位问题,肯定是需要借助工具,我们先了解下需要哪些工具可以帮忙定位问题。top命令top命...

    Java 2020年04月26日 1500 0
  • PHP无状态登陆:JWT PHP

    PHP无状态登陆:JWT

    现在的软件开发项目大都使用前后端分离,项目后端接口遵循RESTful规范:(1)每一个URI代表一种资源;(2)客户端和服务器之间,传递这种资源的某种表现层;(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。这个时候,前后端不在同一个域名下,就存在跨域问题,使用session来记录登陆用户信息,就显得有些力不从心了,而且session需要存储在服...

    PHP 2020年04月25日 1739 0
  • 一个非常适合IT团队的在线API文档、技术文档工具——Showdoc

    介绍每当我们接管其他人开发的模块或项目时,我们总是会疯狂地看着那些没有注释的代码。程序员经常希望其他人写技术文档,而不希望自己写技术文档。因为编写技术文档需要花费大量时间来处理格式和布局,所以编写该文档的人必须考虑各种非技术细节,例如在新建的Word文档中应放入哪个目录,各种文档由不同的人分散地保存在一个团队中。然后通过IM或电子邮件从其他人那里接收文件。这种通信还不错,但是效...

    Java 2020年04月25日 2464 0
  • 反爬虫、接口防盗刷 spring boot stater 组件 kk-anti-reptile

    kk-anti-reptile是,适用于基于spring-boot开发的分布式系统的反爬虫组件。系统要求基于spring-boot开发(spring-boot1.x, spring-boot2.x均可)需要使用redis工作流程kk-anti-reptile使用基于Servlet规范的的Filter对请求进行过滤,在其内部通过spring-boot的扩展点机制,实例化一个Fil...

    Java 2020年04月24日 1575 0
  • idea2020.1无法启动项目,报错Error:(3, 28) java: 程序包org.springframework.boot不存在

    之前安装的是idea 2019版本,一直没有问题。今天突然升级了一下,安装了idea2020.1最新版本,启动springboot项目的时候,竟然无法启动,而且提示的错误信息也很奇怪: Error:(3, 28) java: 程序包org.springframework.boot不存在而我检查了bootorg.springframework.boot包,明明是存在的。于是找了...

    Java 2020年04月24日 7807 0
  • HTTP客户端连接,选择HttpClient还是OkHttp?

    写在前面为什么会写这篇文章,起因于和朋友的聊天这又触及到我的知识盲区了,首先来一波面向百度学习,直接根据关键字httpclient和okhttp的区别、性能比较进行搜索,没有找到想要的答案,于是就去overstackflow上看看是不是有人问过这个问题,果然不会让你失望的所以从使用、性能、超时配置方面进行比较使用HttpClient和OkHttp一般用于调用其它服务,一般服务暴...

    Java 2020年04月22日 1661 0
  • 熬了两个通宵写的!终于把多线程和多进程彻底讲明白了!

    我们知道,在一台计算机中,我们可以同时打开许多软件,比如同时浏览网页、听音乐、打字等等,看似非常正常。但仔细想想,为什么计算机可以做到这么多软件同时运行呢?这就涉及到计算机中的两个重要概念:多进程和多线程了。(PS:万字长文,讲得很详细,建议先收藏再好好看!)同样,在编写爬虫程序的时候,为了提高爬取效率,我们可能想同时运行多个爬虫任务。这里同样需要涉及多进程和多线程的知识。本文...

    Java 2020年04月22日 1772 0
  • 程序员写接口参数校验,总是太多if else?一招让你避免体力活

    对于写Java的程序员来说,不管是写单纯的接口、还是页面后台一把梭,后端参数校验的功能都是整个代码不可或缺的一部分,它可以从系统入口过滤掉一些不合法的数据,以确保我们的系统稳定。还记得我刚入行Java写后端那会儿,因为刚从Android端转后端开发,对对端开发还不是很熟悉。有天我们架构师老大给了我一个需求、要写一个接口给客户端调用,功能其实挺简单:就是根据客户端传过来的一些参数...

    Java 2020年04月22日 2305 0