月度归档: 2021 年 10 月

18 篇文章

Github 徽章shields使用
大家平时在逛GitHub,Gitee,各大论坛博客的时候,都有很好看很漂亮的徽章,这里就简单写个使用教程,方便我日后不记得咋使用.废话不多说直接引入今日的主角:shields.io Shields.io 就是一个我们开头提到的「徽章渲染服务」。事实上,GitHub 上面大部分「小牌子」都是用 Shields.io 来渲染的。我们可以借助于 Shie…
设计模式-单例模式
解释 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 单例类只能有一个实例。 …
设计模式-抽象工厂模式
解释 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 优点: 当一个产品族中的多个对…
设计模式-简单工厂
简单工厂模式,虽然不在23种设计模式中。但是可以认为是工厂模式的一种特殊实现,并且在日常中使用广泛,所以还是值得我们去学习的。 解释 简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,是一种创建型的设计模式,关注于实例对象创建。 由一个工厂对象通过判断传入的参数,决定…
设计模式-模板方法模式
介绍 模板方法是一种行为类设计模式。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 模板方法是一个定义在父类的方法(抽象类),具体实现由子类实现 优点: 1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。 3、行为由父类控制,子类实现。 缺点: 每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大…
设计模式
一、设计模式的分类 总体来说设计模式分为三大类: (1)创建型模式,共五种: 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 (2)结构型模式,共七种: 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 (3)行为型模式,共十一种: 策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录…
Linux 不容易出错的安装 Jdk
这里推荐一种不容易出错的 “安装” 方法:二进制。 说是安装,其实并不涉及到任何向导程序,总的来说只有两步: 下载并解压 配置环境变量 1.OpenJDK 与 Oracle JDK 的区别 直接说结论好了,基本上可以认为 OpenJDK 在性能、功能和执行逻辑上都和官方的 Oracle JDK 是一致的。 2.以 Centos下安装 JDK 11 …
爬取民政局省市区数据
因为最近自己练手一个项目,需要用到全国省份市区数据,但是呢网上很多都不全或者需要收费才行。 于是就找到了民政局的网站,民政局的全国省份市区数据会定期更新,如果这个都不全那么还有那全对不对,所以就爬取民政局省市区数据,用于地市下拉框三级联动~确保数据的完整性. url:http://www.mca.gov.cn/article/sj/xzqh/198…
后端接口都怎么测试
本文主要分为两个部分: 第一部分: 主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分: 主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。 第一部分: 首先,在做接口测试的过程中,经常有后端开发会问: 后端接口都测试什么…
从Java 8到 Java 17–Java 15
Java 15 它不是一个长久支持(LTS)版本。虽然该版本并不是长期版本,但即使再发布新版本也是在此基础上的。 在JDK15中新增了以下新特性: 密封类的使用 隐藏类的理解 instanceof模式匹配 ZGC的功能转正 文本块的功能转正 Records二次预览 EdDSA签名算法重新实现SocketAPI禁用偏向锁定 ShenandoahGC转…
从Java 8到 Java 17–Java 14
Java 14 它不是一个长久支持(LTS)版本。虽然该版本并不是长期版本,但即使再发布新版本也是在此基础上的。 在JDK14中新增了以下16个新特性: 305: instanceof的模式匹配 (预览) 343: 打包工具 (Incubator) 345: G1的NUMA内存分配优化 349: JFR事件流 352: 非原子性的字节缓冲区映射 3…
从Java 8到 Java 17–Java 13
Java 13 它不是一个长久支持(LTS)版本。 重点特性列表: 动态应用程序类-数据共享 增强 ZGC 释放未使用内存 Socket API 重构 Switch 表达式扩展(预览功能) 文本块(预览功能) 动态应用程序类-数据共享 JDK5引入了Class-Data Sharing可以用于多个JVM共享class,提升启动速度,最早只支持sys…
从Java 8到 Java 17–Java 12
Java 12 它不是一个长久支持(LTS)版本。 重点特性列表: Switch 表达式(预览特性) 文件对比增强 Switch 表达式(预览特性) 在 Java 12 中,对 Switch 表达式的写法进行了改进,虽然是一个语法糖的改进,也让 Switch 的代码编写变得更加优雅,如再Java12之前的switch: String day = "…
从Java 8到 Java 17–Java 11
Java 11是这是 Java 大版本周期变化后的第一个长期支持版本(LTS版本,Long-Term-Support,持续支持到2026年9月),是目前全球使用最多的LTS版本之一。 官方新特性: 本地变量类型 字符串加强 集合加强 加强文件读写 本地变量类型 这个新功能是java10为Java增加一些语法糖 - 简化它并改善开发者体验 var s…
从Java 8到 Java 17–Java 10
从Java 10 开始,Java的迭代周期缩短为半年,半年发布一个版本。Java10它号称有109项新特性,包含12个JEP。 特性列表 局部变量的类型推断 var关键字 GC改进和内存管理 并行全垃圾回收器 G1 垃圾回收器接口 线程-局部变量管控 合并 JDK 多个代码仓库到一个单独的储存库中 新增API:ByteArrayOutputStre…
从Java 8到 Java 17–Java 9
REPL (JShell):交互式编程环境。 HTTP 2 客户端:HTTP/2标准是HTTP协议的最新版本,新的 HTTPClient API 支持 WebSocket 和 HTTP2 流以及服务器推送特性。 改进的 Javadoc:Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。…
从Java 8到 Java 17–Java 8
想必绝大部分项目还在运行着Java8。接下来就开始梳理一下吧。 Java8 优势:速度快、代码更少(增加了新的语法 Lambda 表达式)、强大的 Stream API、便于并行、最大化减少空指针异常 Optional; 一、Lambda 表达式 Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据…
复习-Mybatis批量插入方式的比较
数据库使用的是sqlserver,JDK版本1.8,运行在SpringBoot环境下,对比3种可用的方式: 反复执行单条插入语句 xml拼接sql 批处理执行 先说结论:少量插入请使用反复插入单条数据,方便。数量较多请使用批处理方式。(可以考虑以有需求的插入数据量20条左右为界吧,在我的测试和数据库环境下耗时都是百毫秒级的,方便最重要)。 无论何时…