因为最近自己练手一个项目,需要用到全国省份市区数据,但是呢网上很多都不全或者需要收费才行。 于是就找到了民政局的网站,民政局的全国省份市区数据会定期更新,如果这个都不全那么还有那全对不对,所以就爬取民政局省市区数据,用于地市下拉框三级联动~确保数据的完整性. url:http://www.mca.gov.cn/article/sj/xzqh/198…
本文主要分为两个部分: 第一部分: 主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做? 第二部分: 主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。 第一部分: 首先,在做接口测试的过程中,经常有后端开发会问: 后端接口都测试什么…
Java 15 它不是一个长久支持(LTS)版本。虽然该版本并不是长期版本,但即使再发布新版本也是在此基础上的。 在JDK15中新增了以下新特性: 密封类的使用 隐藏类的理解 instanceof模式匹配 ZGC的功能转正 文本块的功能转正 Records二次预览 EdDSA签名算法重新实现SocketAPI禁用偏向锁定 ShenandoahGC转…
Java 14 它不是一个长久支持(LTS)版本。虽然该版本并不是长期版本,但即使再发布新版本也是在此基础上的。 在JDK14中新增了以下16个新特性: 305: instanceof的模式匹配 (预览) 343: 打包工具 (Incubator) 345: G1的NUMA内存分配优化 349: JFR事件流 352: 非原子性的字节缓冲区映射 3…
Java 13 它不是一个长久支持(LTS)版本。 重点特性列表: 动态应用程序类-数据共享 增强 ZGC 释放未使用内存 Socket API 重构 Switch 表达式扩展(预览功能) 文本块(预览功能) 动态应用程序类-数据共享 JDK5引入了Class-Data Sharing可以用于多个JVM共享class,提升启动速度,最早只支持sys…
Java 12 它不是一个长久支持(LTS)版本。 重点特性列表: Switch 表达式(预览特性) 文件对比增强 Switch 表达式(预览特性) 在 Java 12 中,对 Switch 表达式的写法进行了改进,虽然是一个语法糖的改进,也让 Switch 的代码编写变得更加优雅,如再Java12之前的switch: String day = "…
Java 11是这是 Java 大版本周期变化后的第一个长期支持版本(LTS版本,Long-Term-Support,持续支持到2026年9月),是目前全球使用最多的LTS版本之一。 官方新特性: 本地变量类型 字符串加强 集合加强 加强文件读写 本地变量类型 这个新功能是java10为Java增加一些语法糖 - 简化它并改善开发者体验 var s…
从Java 10 开始,Java的迭代周期缩短为半年,半年发布一个版本。Java10它号称有109项新特性,包含12个JEP。 特性列表 局部变量的类型推断 var关键字 GC改进和内存管理 并行全垃圾回收器 G1 垃圾回收器接口 线程-局部变量管控 合并 JDK 多个代码仓库到一个单独的储存库中 新增API:ByteArrayOutputStre…
REPL (JShell):交互式编程环境。 HTTP 2 客户端:HTTP/2标准是HTTP协议的最新版本,新的 HTTPClient API 支持 WebSocket 和 HTTP2 流以及服务器推送特性。 改进的 Javadoc:Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。…
想必绝大部分项目还在运行着Java8。接下来就开始梳理一下吧。 Java8 优势:速度快、代码更少(增加了新的语法 Lambda 表达式)、强大的 Stream API、便于并行、最大化减少空指针异常 Optional; 一、Lambda 表达式 Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据…
数据库使用的是sqlserver,JDK版本1.8,运行在SpringBoot环境下,对比3种可用的方式: 反复执行单条插入语句 xml拼接sql 批处理执行 先说结论:少量插入请使用反复插入单条数据,方便。数量较多请使用批处理方式。(可以考虑以有需求的插入数据量20条左右为界吧,在我的测试和数据库环境下耗时都是百毫秒级的,方便最重要)。 无论何时…
直接上代码: #!/usr/bin/python # -*- coding: utf-8 -*- import sys import re import time """ python consume_men.py 100MB 1D python consume_men.py 1GB 1M 第一个参数:表示消耗多少内存(MB/GB) 第二个参数:表…
直接上脚本 #!/usr/bin/python # -*- coding: utf-8 -*- """ runing.py -c 2 -t 0.01 -m 1000 -c cpu核数,不加-c参数为最大核数 -t cpu运算频率时间,间隔,越小占用越高 -m 内存占用,1000MB """ import sys import time from t…
MySQL 的集群都是采用双主双从的经典模式,这也是部署高可用集群的基础。这次笔记我们就开始学习拉~ 1.环境准备 上次我们搭建了mysql主备集群架构,如下所示 而这次,需要搭建的是主主(双master)从从 具体Mysql集群配置信息: IP 系统 端口 MySQL版本 节点 读写 说明 10.143.87.21 红帽7.4 3306 5.7.…
单点数据库永远不应该出现在生产环境,我们已经目睹过太多由于单点、备份缺失造成的损失,所以,搭建高可用 MySQL 集群是非常有必要的。 搭建集群有以下几点好处: 高可用性,在主节失效时自动切换,不需要技术人员紧急处理 高吞吐,可以多个节点同时提供读取数据服务,降低主节点负载,实现高吞吐 可扩展性强,支持在线扩容 无影响备份,在备节点进行备份操作不会…
MySQL 的安装方式一般分为三种: 二进制版本 编译版本 RPM 包 比较常见的是二进制版本安装,方便简单,相对于编译安装,如果不是追求极致性能,使用起来差别不大。 本次教程以二进制版本为例,系统为红帽7.4或者Centos7.4,MySQL 版本为5.7.34。 下载安装包 先去官网下载二进制安装包,进入官网下载页面 mysql下载页面,点击下…
MySQL主从复制概述 在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在; 如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故; 为了避免服务的不可用以及保…
概述 如图是一个简化的下单流程,首先是提交订单,然后是支付。支付的话,一般是走支付网关(支付中心),然后支付中心与第三方支付渠道(微信、支付宝、银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。 这个过程中经常可能遇到的问题是掉单,无论是超时未收到回调通知也好,还是程序自身报错也好,…
Centos或者RedHat创建SFTP上传账号 1.创建sftp用户组 groupadd sftp 2.创建用户并限制用户登录SSH useradd -g sftp -s /bin/false hnsftp 3.设置用户密码 passwd hnsftp 4.创建用户上传目录,并且修改成用户的home目录,修改目录权限 sftp上传文件夹 mkdi…
Java多线程编程 Java进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位。 可以把进程简单的理解为正在操作系统中运行的一个程序。 Java线程 线程(thread)是进程的一个执行单元。 一个线程就是进程中一个单一顺序的控制流, 进程的一个执行分支。 进程是线程的容器,一个进程至…