自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘小义的博客

记录学习

  • 博客(58)
  • 资源 (9)
  • 收藏
  • 关注

原创 Mybatis-Plus 列表对象类型处理

Mybatis-Plus 列表对象类型处理环境序列化工具 : Jackson数据库 : Pg问题实体对象中需要保存 List,并且保存的是对象类型,框架没有默认处理方式解决方案由于无法直接拿到属性的泛型类型,所以通过 Spring提供的ResolvableType保存List中的对象类型暂时未支持Map,有需要可按照相同思路写/** * 通用集合转化类 * 例子 : * 根据需要转化的类型继承该类 * <pre class="code"> * class Use

2021-03-03 15:32:26 1844 2

原创 分布式事务概念简述

分布式事务背景在单体应用下无法满足现用业务,需要将应用拆分为多个服务。由于应用拆分为多个服务器后,相当于服务之间的边界更加清晰,并且都能独立运行,但是带来的问题是本来是内部调用,变为远程调用,整体调用链更长了,从而导致调用时间变长,但是总体的吞吐量增加了,同时也引发了其他问题,比如: 链路日志不够完善详细也会导致出现问题定位更加困难;多个服务共同完成一件事,要求必须同时成功或者失败,也就是 事务的问题;解决方案2PC 两阶段提交协议(Two-phase commit protocol)2PC 顾名

2021-01-25 10:14:17 244 1

原创 MySql数据存储原理及索引介绍

1. Mysql的简单架构基本架构图,分为Server层和引擎层1.1 Server层Server层主要是负责提供对客户端的接口连接, 解析SQL语句,搭载缓存1.1.1 连接器执行mysql -h $ip -P $port -u $user -p命令就是通过连接器建立客户端与服务器的连接show processlist命令可以查看数据库的连接状态一般连接数据库是通过长连接进行控制,但是如果长期没有断开连接,则会导致一直不断的积累内存,最后内存越占越大,所以在使用长连接时需要注意下面两点

2020-10-28 10:05:30 466 1

原创 TCP/IP协议详细介绍

TCP/IP1. 什么是TCP/IP?TCP/IP 是通信协议的统称。如: TCP、IP、HTTP等协议的集合2. 什么是协议?协议即是规则,比如:国家规定语言标准为普通话,那么大家都会遵守这个标准,无论遇到什么地区的人都可以通过普通话交流。如果没有这个标准,就会发生每个地区都有自己的语言,各个地区语言不通,无法交流,导致闭环,当前地区只能和本地区的人进行沟通。2.1 网络协议的制定ISO/组织制定国际标准OSI(open systems interconnection),但是目前OSI标准并未

2020-10-28 10:01:52 3102

原创 Linux/Mac通过shell脚本批量导入sql文件

Mysql批量导入sql文件今天刚接触公司项目,需要创建数据库,但是sql文件有几十个,而navicat又不能批量导入,一个一个文件导入简直要死了,干脆自己写了一个脚本。如下,如果对你有帮助,欢迎点个赞,收藏一下再走。GitHub 地址: https://github.com/Mcliuyi/script#/bin/bashsql_path=$1;if [ ! -n "$sql_path" ];then echo "请输入sql所在目录: "; read sql_path;fi;

2020-06-15 17:09:16 776

原创 Ubuntu 18.04修改系统软件源为国内源

Ubuntu 18.04修改系统软件源为国内源1. 备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2. 修改sudo vi /etc/apt/sources.list3. 替换将sources.list中所有内容删除,替换为下面内容deb http://mirrors.aliyun.com/ubuntu/ bi...

2020-04-26 23:22:08 483

原创 Uwsgi+Django 编码问题 报错[UnicodeEncodeError: 'ascii' codec can't encode characters in positio]

Uwsgi+Django 编码问题 报错[UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 153-157: ordinal not in range(128)xxxx]版本OS: Ubuntu 18.04产生原因系统语言不是utf-8的编码解决办法查看当前本机编码locale可以发现值...

2020-04-18 17:51:34 1083

转载 shadowsockes自定义pac规则

规则大概描述如下通配符支持,如 .example.com/ 实际书写时可省略 * 如 .example.com/ 意即 .example.com/正则表达式支持,以\开始和结束, 如 [\w]+://example.com例外规则 @@,如 @@.example.com/ 满足@@后规则的地址不使用代理匹配地址开始和结尾 |,如 |http://example.com、example.co...

2020-03-25 21:27:31 6818 1

原创 注解Restcontroller和Controller区别

注解Restcontroller和Controller区别Controller的作用把一个类标记为Controller层。主要负责处理业务流程控制Controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复...

2020-03-19 20:50:44 1275

原创 IDEA使用Maven创建SpringMVC项目

IDEA使用Maven创建SpringMVC项目1. 创建新的Maven项目选中maven项目并创建1.1 设置包名和项目名可以设置为相同的1.2 添加配置键值对name: archetypeCatalogvalue: internal目的: 为了加快创建spring项目如果配置了国内镜像的maven则可以跳过这一步添加成功后,一直点next下一步直到项目创建完成即可...

2020-03-12 14:53:54 309

原创 Mac 报错zsh: fork failed: resource temporarily unavailable(原因与解决方案)

Mac 报错zsh: fork failed: resource temporarily unavailable(原因与解决方案)MacOS版本: 10.15.3 (19D76)原因几天前曾使用过Django-crontab做定时任务,忘记删除任务,然后导致一直在后台不断创建进程,最终导致终端一直报错,并且无法打开新的浏览器,文件等。通过以下命令查看发现有1000+的进程在后台 ps -...

2020-03-02 20:02:36 3826 2

原创 Mac 下Docker无法访问外网与宿主机(解决办法和原因)

Mac 下Docker无法访问外网与宿主机(解决办法和原因)产生原因在找到原因之前,需要先了解,docker的网络配置docker的网络配置docker的网络配置分为四种, host,overlay,macvlan,bridgehost模式与宿主机共享网络,也就是在网络这块不会与宿主机隔离,而是共享宿主机的网络配置,并且容器不会分配自己的ip地址需要注意的是,因为容器是与宿主机...

2020-03-01 21:56:41 9745

原创 Docker常用命令与介绍

Docker命令Ubuntu中安装Docker更新ubuntu的apt源索引sudo apt-get update安装包允许apt通过HTTPS使用仓库sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-commo...

2020-02-21 12:23:26 4549

原创 python中读写json格式文件以及json模块的用法(带案例)

python中读写json格式文件以及json模块的用法在写爬虫时经常会用到json模块将字典中的数据提取并存入文件,获取从文件中读取,在这记录json模块的用法与案例json模块的四个常用方法dumps将python中的字典格式转换为json数据格式#用法 将字典转换为jsonimport jsondict_demo = {"test":test}json.dumps(di...

2019-12-15 13:27:05 256

原创 Linux常用命令及问题整理(持续更新)

Linux常用命令及问题整理(持续更新)因为简历上写熟悉Linux常用命令,然后被吊打了,在这记录一下平时常用的Linux命令及相关问题我这里记录的都是平时常用的命令,有需要更加详细的,强烈推荐网站: https://man.linuxde.net/ Linux命令大全并且有非常详细的介绍以及其他更多操作防火墙查看状态ufw status关闭防火墙ufw disable开启防火...

2019-12-09 09:54:17 535

原创 Java 使用栈实现简单队列功能

Java 使用栈实现简单队列功能前两天面试奇安信,有问到如果通过栈实现队列,当时没有回答清楚,现在记录一下。通过A,B两个栈,一个作为入栈,一个作为出栈。当有数据入列时将数据放入A栈,如果需要出列,则调用B栈进行出栈。具体实现方案当有数据入队时,使用A栈进行入栈,并判断B栈是否为空,如果为空则将A栈的数据转移至B栈当出栈时,判断B栈是否存在数据,如果存在直接弹出,否则转移数据注意...

2019-12-09 09:11:56 188

原创 Java生成图片验证码

Java生成图片验证码手动实现图片验证码生成import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.io.IOEx...

2019-12-03 16:23:26 150

原创 Java 判断字符串是否为正整数或者浮点数

/** * 判断字符串是否为正整数或者浮点数 * 1.11 -> true * 1 -> true * -1 -> false * 1a -> false * @param str * @return */ public static boolean isNumeric(Stri...

2019-11-20 15:45:55 1782 1

原创 Ubuntu 18.04 Server 没有ip地址解决办法(设置静态IP)

Ubuntu 18.04 Server 没有ip地址解决办法(设置静态IP)问题ifconfig只有lo,没有其他网卡ifconfig -a有ens33网卡,无法联网解决办法打开文件sudo vi /etc/netplan/xxxx.ymal如果没有此文件通过sudo netplan generate命令自动生成修改文件内容ens33:网络接口名称dhcp4:接...

2019-11-19 09:31:57 4791 2

原创 装饰器与闭包

装饰器与闭包基本概念装饰器是可调用对象,其参数是一个函数,在装饰器内部会可能会对函数进行处理,然后把它返回,或者将其替换成另一个函数或可调用对象例子def decorate(func): print("run decorate") return func @decoratedef target(): print("run target")def targ...

2019-10-23 10:31:17 198

原创 利用Jedis实现redis服务监控反馈

利用Jedis实现redis服务监控反馈import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisMonitor;public class JedisMointor implements Runnable{ private Jedis jedis; public mointor(Jedis jedi...

2019-09-19 14:36:13 427

原创 MyBatis教程

MyBatis教程1. 利用idea创建Maven项目1.1 查看项目结构|____pom.xml|____mybatisdemo.iml|____.idea|____src| |____test| | |____java| |____main| | |____resources| | |____java1.2 添加maven依赖<properties> ...

2019-09-17 14:53:26 185

原创 Java中jcstress 高并发测试框架简单使用教程

jcstress 高并发测试框架使用教程1. 创建Maven项目1.1 修改pom文件<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apac...

2019-09-14 11:42:04 2653 1

原创 Python中的堆与优先级队列

Python中的堆与优先级队列heapq模块Python内置提供了一个堆队列的算法实现,也称优先级队列,在Python中可以将堆看做原生的list,heap[0]代表最小的元素, heap.sort()可以保持堆排序方法介绍heapq.heappush(heap, item) # 将item中的值加入heap中,并保持堆的不变性heapq.heappop(heap) # 弹出堆...

2019-08-16 18:50:39 347

原创 Scrapyd部署项目后启动报错,无法找到模块No module named xxxx(已解决)

Scrapyd部署项目后启动报错,无法找到模块No module named xxxx(已解决)前置操作爬虫本地测试无任何问题,正常部署到scrapyd中,无异常报错通过远程启动爬虫报错提示No module named xxxx原因scrapyd没有将文件/模块成功打包通过查看爬虫目录下的project.egg-info(不同版本可能名字不同,但会有egg存在)目录结构为以下....

2019-07-01 01:37:52 4321 4

原创 Python—logging模块使用教程

Python—logging模块使用教程简单用法日志等级级别何时使用DEBUG细节信息,仅当诊断问题时适用。INFO确认程序按预期运行WARNING表明有已经或即将发生的意外(例如:磁盘空间不足)。程序仍按预期进行ERROR由于严重的问题,程序的某些功能已经不能正常执行CRITICAL严重的错误,表明程序已不能继续执行控制台输出日志...

2019-06-20 16:29:33 266

原创 Python中的抽象基类

Python中的抽象基类abc —抽象基类使用方法import abcclass A(abc.ABC): # 定义抽象方法 @abc.abstractmethod def a(self): passclass B(A): # 必须实现,否则运行报错 def a(self): pass定义抽象基类必须继承于abc.AB...

2019-06-10 17:07:14 2784

原创 Sublime – 实用快捷键 (Mac OS X)

Sublime – 实用快捷键 (Mac OS X)打开/前往⌘T前往文件⌘⌃P前往项目⌘R前往 method⌘⇧P命令提示⌃G前往行⌃ `python 控制台编辑⌘L选择行 (重复按下将下一行加入选择)⌘D选择词 (重复按下时多重选择相同的词进行多重编辑)⌃⇧M选择括号内的内容⌘⇧↩在当前行前...

2019-05-21 11:34:57 148

原创 Hive改变列名报错'OPTION SQL_SELECT_LIMIT=DEFAULT'(已解决)

Hive改变列名报错’OPTION SQL_SELECT_LIMIT=DEFAULT’(已解决)版本信息hive : 2.3.4mysql: 5.7.25mysql驱动包:5.1.1系统:centos6.5前置操作ALTER TABLE test_change CHANGE a a1 INT;报错信息FAILED: Execution Error, return code ...

2019-05-07 11:09:42 929

原创 Hive创建数据库时报错【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException】(已解决)

Hive创建数据库时报错【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException】(已解决)版本信息hive : 2.3.4mysql: 5.7.25mysql驱动包:5.11系统:centos6.5前置操作输入show databases;无异常,输入create datab...

2019-04-25 15:05:30 2250

原创 Python魔法方法详讲(持续更新)

Python魔法方法(持续更新)文章目录Python魔法方法(持续更新)简介`__len__`方法`__getitem__`方法`__abs__`方法`__add__`方法简介魔法方法是python内置方法,不需要主动调用,存在的目的是为了给python的解释器进行调用,几乎每个魔法方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应魔法方法,可...

2019-04-23 16:27:36 252

原创 Java填充List容器方法及源码介绍

Java填充List容器方法及源码介绍Collections提供了两个填充容器的静态方法fill,nCopies用法 // 创建一个存放int型的数组,同时填充四个整型对象1 List<Integer> intArr = new ArrayList<Integer>(Collections.nCopies(4, 1)); System....

2019-04-16 10:18:15 3657

原创 ZooKeeper集群详细安装教程

文章目录1. 安装JDK1.1 官网下载JDK1.2 建立Java安装目录1.3 将下载的压缩包放入安装目录下1.4 解压1.5 配置环境变量1.6 重新加载环境变量1.7 检查是否安装成功2 安装ZooKeeper2.1 下载压缩包2.2 解压2.3 重命名2.4 修改环境变量2.5 重新加载环境变量2.6 修改配置文件2.7 创建文件夹2.8 添加myid2.9 集群分发2.10 启动2.11...

2019-04-12 11:15:06 387 1

原创 Vi/Vim 配置

家目录下新建.vimrc文件vi ~/.vimrc添加文本set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab set nu set autoindent 其中:Tabstop:表示一个 tab 显示出来是多少个空格的长度默认 8。Softtabstop:表示在编辑模式的时候按退格键的...

2019-04-11 21:13:27 3339

原创 python 将两个可迭代对象拼接成一个可迭代对象

可以将两个不同的可迭代对象进行拼接,成为一个可迭代对象from itertools import chainobj3 = chain(obj1,obj2)

2019-04-11 21:10:53 2772

原创 Python XPath用法

XPath用法基本语法表达式描述nodename选取此节点的所有子节点。/从根节点选取。//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.选取当前节点。…选取当前节点的父节点。@选取属性。基本演示规则路径表达式结果bookstore选取 bookstore 元素的所有子节点。...

2019-04-11 21:07:06 2518

原创 Java线程Thread中start方法 和 run方法 的区别

Thread中start方法 和 run方法 的区别1.使用 start方法启动线程的时候,JVM虚拟机会在内存中给线程分配一个独立的内存空间,有自己的局部变量等代码示例public class ThreadDemo extends Thread{ String s; @Override public void run() { for (int i...

2019-03-21 19:42:23 394

原创 解决ubuntu ifconfig只有lo没有ens33的问题

通过ifconfig只能看到lo本地回环网卡通过ifconfig -a能正常ens33网卡,但是无法上网问题service network-manager stop # 先停止服务# 删除文件sudo rm -rf /var/lib/NetworkManager/NetworkManager.state #重启服务器service network-manager start输...

2019-03-18 14:29:20 5618 4

原创 Linux 配置zookeeper集群

Linux 配置zookeeper集群下载安装包官网的历史版本地址:https://archive.apache.org/dist/zookeeper/ 根据需要下载对应的版本,我使用的是3.4.10将压缩包放入服务器解压文件tar -zxvf zookeeper-3.4.10.tar.gz改名(可有可无,改了方便点)mv zookeeper-3.4.10 zookeep...

2019-03-11 17:22:39 134

原创 Linux之ssh免登录配置

Linux之ssh免登录配置用处在操作集群时避免重复输入密码,方便管理生成公钥、私钥对多台机器需要每个机器都生成一次ssh-keygen全部直接回车即可,执行成功后会在~/.ssh目录下生成对应的公钥私钥文件将公钥发送给需要免登录的机器,需要免登录的机器都要相互发送公钥scp ~/.ssh/id_rsa.pub &amp;lt;用户名&amp;gt;@&amp;lt;ip&amp;gt;:~/将收...

2019-03-11 16:54:04 146

Java三件套(Linux_64).zip

Linux系统Java三件套, 包含jdk,tomcat,maven,解压即可,全部都是官网下载,整合的 jdk版本:8u251 tomcat版本:8.5.55 maven版本: 3.6.3

2020-05-27

Linux_jdk1.7.0_80.zip

Linux系统下的jdk1.7版本,直接解压即可,64位的

2019-08-12

软件设计师历年04-18年答案+试题.zip

软件设计师历年2004-2018年答案+试题,包含了软件设计师2009至2014年试题分析与解答 ,全国计算机专业技术资格考试办公室主编 ,P625.pdf

2019-06-28

基于Servlet+Jsp的电商平台

基于Servlet+Jsp的电商平台,包含支付,邮箱验证等功能

2019-04-25

2005-2009年软件设计师真题分析与解答

《全国计算机技术与软件专业技术资格(水平)考试指定用书:软件设计师历年试题分析与解答(2005-2009)》汇集了2005年至2009年所有试题和权威的解析,参加考试的考生,认真研读《全国计算机技术与软件专业技术资格(水平)考试指定用书:软件设计师历年试题分析与解答(2005-2009)》的内容后,将会更加了解近年考题的内容和要点,对提升自己考试通过率的信心会有极大的帮助。这些试题中,包含了一些富有创意的试题,一些与实践结合得很好的佳题,一些富有启发性的题,具有较高的社会引用率。

2018-10-29

2009-2014年软件设计师真题分析与解答

2009年到2014年历年的真题分析与解答,讲的很详细,高清pdf版。

2018-10-29

python QQ第三方登陆

基于python的QQ第三方登陆工具模板,直接调用对应接口即可

2018-07-01

强力卸载工具,能直接删除注册表

只要是在注册表注册的软件都能通过该软件进行卸载并且删除注册表信息,删除的非常干净

2018-06-20

python自动化运维技术与实践

自动化运维技术与最佳实践,介绍了服务监控,数据报表,系统安全等基础教程

2018-06-08

空空如也

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

TA关注的人

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