自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 收藏
  • 关注

原创 Django

1,http小提示:"{:0>3}".formate(9) 右对齐若小于3位 --->00n 0位占位符,> 表示右对齐响应格式请求格式import socketimport os# =========================================================def ret(path): dir = "../html/" ...

2022-11-07 17:55:25 319

原创 python多线程

1 多进程# 多进程,import osimport timefrom multiprocessing import Process# 启动时必须在 if __name__ 判断下,windows 必须,其他 无限制# =================================================# def func(args):# print("子进程:",os....

2022-11-07 17:55:06 306

原创 python常见问题

Pythonpython 没有多态,而是鸭子类型多继承,没有接口,可通过语法糖实现接口的作用lambda中只能有一句"/"表示之前的参数是必须是位置参数,”**“表示是后面的必须是关键字参数Python 多线程是伪多线程多线程子线程会随着主线程结束而中断,因此一般在主线程中调用thread.join()线程方法import threadingt = thread...

2021-12-25 16:00:00 214

原创 command

更多命令开启php-fgm/usr/local/php7/sbin/php-fpm -c /usr/local/php7/etc/php.ini关闭php-fgmps -ef | grep php-fpm kill -9 上一条命令查到的PID查看自动启动项systemctl list-unit-files断开ssh继续运行nohup...

2021-10-13 13:49:00 96

原创 将博客搬至CSDN

将博客搬至CSDN

2021-10-13 11:55:00 59

原创 springboot_项目结构_数据库

TOMCAT项目结构<?xml version="1.0" encoding="UTF-8" ?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java....

2021-06-26 18:39:00 72

转载 雪花算法主键id

常见生成策略的优缺点对比方法一: 用数据库的 auto_increment 来生成优点:此方法使用数据库原有的功能,所以相对简单能够保证唯一性能够保证递增性id 之间的步长是固定且可自定义的缺点:可用性难以保证:数据库常见架构是 一主多从 + 读写分离,生成自增ID是写请求 主库挂了就玩不转了扩展性差,性能有上限:因为写入是单点,数据库主库的写性能决定ID的生成性能上限,...

2021-04-21 13:26:00 152

原创 bitmap和布隆过滤器

bitmap和布隆过滤器海量整数中是否存在某个值--bitmap​ 在一个程序中,经常有让我们判断一个集合中是否存在某个数的case;大多数情况下,只需要用map或是list这样简单的数据结构,如果使用的是高级语言,还能乘上快车调用几个封装好的api,加几个if else,两三行代码就可以在控制台看自己“完美”而又“健壮”的代码跑起来了。​ 但是,事无完美,在高并发环境下,所有的cas...

2021-04-13 19:56:00 64

原创 jdk1.8HashMap

JDK1.8中HashMap实现JDK1.8中的HashMap实现跟JDK1.7中的实现有很大差别。下面分析JDK1.8中的实现,主要看put和get方法。构造方法的时候并没有初始化,而是在第一次put的时候初始化putVal方法的主要逻辑是这样的:1、如果数组还没有初始化(数组长度是0),则先初始化2、通过hash方法计算key的hash值,进而计算得到应该放置到数组...

2021-03-28 13:38:00 135

原创 SQL优化

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:...

2021-03-08 10:55:00 44

原创 firewall

Firewall-cmd基本命令# 查看防火墙状态firewall-cmd --state # not running/ running# 查看已开端口firewall-cmd --list-ports# 使新添加的端口生效firewall --reload # 更新防火墙规则,重启服务firewall-cmd --completely-reload服务启动# 开启syst...

2021-03-03 19:52:00 53

原创 lambda

1、什么是函数式接口1.1 java8自带的常用函数式接口。1.2 惰性求值与及早求值2、常用的流2.1 collect(Collectors.toList())2.2 filter2.3 map2.4 flatMap2.5 max和min2.6 count2.7 reduce3.1 转换成值3.2 转换成块3.3 数据分组3....

2021-03-03 19:52:00 51

原创 mybatisplus

概述简化开发,省略crud代码类似jpa,tk-mapper,在mybatis增强特性无侵入,损耗小,强大CRUD操作,Lambda,主键生成,全局拦截插件,性能分析插件,分页插件,内置代码生成器,自定义全局通用操作,ActiveRecord快速入门建表,依赖,配置,连数据库,代码,<dependency> <groupId>com.baomi...

2021-03-03 19:52:00 54

原创 Springboot启动前执行方法

1.实现ServletContextAware接口并重写其setServletContext方法@Componentpublic class TestStarted implements ServletContextAware { /** * 在填充普通bean属性之后但在初始化之前调用 * 类似于initializingbean的afterpropertiess...

2021-03-03 19:52:00 492

原创 UUID

一、简介UUID,是Universally Unique Identifier的缩写,UUID出现的目的,是为了让分布式系统可以不借助中心节点,就可以生成UUID来标识一些唯一的信息;GUID,是Globally Unique Identifier的缩写,跟UUID是同一个东西,只是来源于微软。规范定义UUID来自于IETF发布的一个规范:A Universally Unique IDe...

2021-03-03 19:52:00 152

原创 vue

VUEjavascript的封装库,就像jqueryMVVM model-view-viewmodel用户-view-view-model-model后台数据双向绑定,数据变化,视图变化,手动视图变化,数据也会变化单页面应用,即不会跳转,全都是自定义组件VUE 属性介绍Vue vm = new Vue({ el:"#app", data:{ ...

2021-03-03 19:52:00 45

原创 前端进阶

Nodejs入门目标: 控制台输出字符串、使用函数、进行模块化编程快速入门-Hello World1、创建文件夹 nodejs2、创建 helloworld.js类似于java中的System.out.println("")console.log('Hello World!!!')运行:node helloworld.js结果:hello world!!!3、打开命令行终端...

2021-03-03 19:52:00 147

原创 动态代理

interface AService{ void fly();}class AServiceImpl implements AService{ @Override public void fly(){ System.out.println("fly......"); }}// jdk自带动态代理实现方式class JDKHandler i...

2021-03-03 19:52:00 34

原创 单例模式

import java.io.Serializable;// 修改后的单例模式 // 使用线程同步创建,防止进程切换重复创建线程,// 设置volatile关键字修饰,使读取singleton对象时能够获取最新状态// 修改构造方法,防止反射创建对象// 修改readResolve方法,防止反序列化对象时重新创建对象// 重写克隆方法,防止对象克隆public class Sin...

2021-03-03 19:52:00 35

原创 多线程

1,线程基础1,继承Thread方式的线程当需要再此启动一个线程时,需要再创建对象,不能重复使用。2,推荐的创建线程方式:继承Runnalbe,使用Thread类1.5之前就这两种callable 第三种可以有返回值 call()可以抛出异常支持泛型返回值需要借助FutureTask, 如获取返回值的时候class MyThread impl...

2021-03-03 19:52:00 48

原创 多线程进阶

线程与进程java默认2个线程,main,gc真实的线程时底层C++调用的,并不是javacup核心数,就是并行的线程数单核CUP,要多线程并行,就是用并发实现宏观并行线程状态Newrunningblockedwaitingtime_waitingterminalwait与sleep来自不同的类都会释放cup,但wait释放锁,即释放资源,sleep不释放...

2021-03-03 19:52:00 56

原创 工具

关键词:乱码,编译,集合,正则

2021-03-03 19:52:00 41

原创 排序算法

名称最好平均最坏空间稳定性类别冒泡排序$ O(n) $$ O(n^2) $$ O(n^2) $$ O(1) $是交换排序选择排序\(O(n^2)\)\(O(n^2)\)\(O(n^2)\)\(O(1)\)否选择排序插入排序\(O(n)\)\(o(n^2)\)\(o(n^2)\)\(o(1)\)是插入排序希尔排序\...

2021-03-03 19:52:00 31

原创 7层协议

应用层邮件SMTP:发邮件,不能传送可执行文件,与二进制,太长的数据也不行pop收邮件,imap收邮件:删除时会同步服务器的邮件,pop不会。MIME:smtp的补充,可以传送非ASCII网络管理协议SNMP C/S模型 被管理的是服务器snmo,smi,mibTCP/IP可靠传输:不重复,不丢失,不失序停止等待协议发送无差错:发送有差错:(发送方单方面认为没...

2021-03-03 19:52:00 117

原创 通信

线程通信生产者消费者一、使用同一个共享变量控制Synchronized、wait、notifyLock、Condition利用volatile利用AtomicInteger二、PipedInputStream、PipedOutputStream三、利用BlockingQueue进程通信管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进...

2021-03-03 19:52:00 54

原创 数据库锁

行级锁共享锁S(读锁):其他事务可以继续加锁,但是不能加排它锁排它锁X(写锁):其他事务不能继续加锁共享锁共享锁兼容,其他冲突表级锁意向锁意向共享锁:想要获取表中的几行的共享锁意向排它锁:想要获取表中的几行的排它锁自增长锁提升并发插入性能Sql执行完就释放记录锁索引加锁间隙锁锁定一个范围,会阻塞插入间隙锁,防止幻读inset ...

2021-03-03 19:52:00 43

原创 MQ中间件

1. 为什么使用消息队列?消息队列的优点和缺点?kafka、activemq、rabbitmq、rocketmq都有什么优缺点?面试官角度分析:(1)你知不知道你们系统里为什么要用消息队列这个东西?(2)既然用了消息队列这个东西,你知不知道用了有什么好处?(3)既然你用了MQ,那么当时为什么选用这一款MQ?1. 为什么使用消息队列?面试官问这个问题的期望之一的回答是,你们公司有什么业...

2021-03-03 19:52:00 37

原创 nginx

简介并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了。于是我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。我们希望这个代理服务器可以帮...

2021-03-03 19:52:00 44

原创 ElasticSearch

概述分布式全文搜索引擎传统用sql,对于大量数据很慢可以当做一个数据库,可以将里面的索引就是库Lucene 用于文本搜索的函数库,java编写的,全文搜索功能 ,jar包,不包含搜索引擎索引结构读写索引,排序,搜索规则elasticsearch是基于lucene做了一些封装和增强solr封装了lucene,可独立运行通过发送请求可以操作数据有...

2021-03-03 19:51:00 58

原创 CentOS7添加自定义脚本服务说明

在CentOS7下,已经不再使用chkconfig命令管理系统开机自启动服务和条件自定义脚本服务了,而是使用管理unit的方式来控制开机自启动服务和添加自定义脚本服务。在/usr/lib/systemd/system目录下包含了各种unit文件,有service后缀的服务unit,有target后缀的开机级别unit等。如果想把自定义的脚本变成服务进程,都需要写对应的service配置文件,这...

2021-03-03 19:50:00 100

原创 python 协程新版

import asyncioasync def coro(i): print("core start",i) ret = await get(i) # 此处为耗时的io等操作 print("core end",i) return retasync def get(i): await asyncio.sleep(5) return iloop ...

2020-10-05 20:06:00 49

原创 netty

BIO同步阻塞bio:链接数目较少public static void main(String args[]) throws IOException { ExecutorService pool = ThreadPool.getCachedThreadPool(); ServerSocket socket = new ServerSocket(6666); Syst...

2020-10-02 15:46:00 66

原创 grub异常

开机出现 grub rescue 指令模式假如看到grub rescue,表示mbr (master boot record)的资料,完全对应不上磁盘的状况,所以无法辨别系统的所有分区,更不用说连grub menu都无法读入。可以grub程序有问题,找不到系统所在分区。ls # (hd0), (hd0,msdos3), (hd0,msdos2), (hd0,msdos1)# ls可以列出所有的硬碟与分区,(hd0)是第一个硬碟,(hd0,msdos1)是第一颗硬碟的第一个分区。以此类推。输入指令时,

2020-10-01 09:21:31 356

原创 POIEasyExcel

POI与EasyExcel数据导出excel数据导入程序POI数据加入内存再操作消耗内存// 工作簿 2003 65535行Workbook workbook = new HSSFWorkbook();// 工作簿 2007 无限制,但耗时较长Workbook workbook = new XSSFWorkbook();// 无限制,大量数据速度也快,但会产生临时文件...

2020-09-19 20:56:00 45

原创 内核线程与用户线程

2020-09-16 22:09:00 33

原创 JVM进阶

类加载器App类加载器扩展类加载器根类加载器package java.lang.String;public class String{ public static void main(String args[]){ String s = new String(); }}// 双亲委派机制,安全机制,防止// 自定义String 希望能够覆盖...

2020-09-15 23:44:00 31

原创 与或非运算

与:andand -> 有0出0,全1出1例如:1 ,1–--->11 ,0 --–>00 ,1--–>00 ,0---–>0或:oror -> 有1出1,全0出0例如:1 ,1–>11 ,0–>10 ,1–>10 ,0–>0非:notnot ->有1出0,有0出1例如:1...

2020-09-13 16:55:00 1000

原创 RSA

RSA算法非对称加密算法的一种随意选择两个大的质数p和q,p不等于q,计算N=pq。根据欧拉函数,不大于N且与N互质的整数個数為(p-1)(q-1)。选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1)。用以下这个公式计算d:d× e ≡ 1 (mod (p-1)(q-1))。 (d*e)%((p-1)(q-1))=1将p和q的记录销毁。以上内容中,(N,e)...

2020-09-12 22:48:00 112

原创 git

基本配置# 当前项目下配置git config -l# 查看全局配置 ~/.gitconfiggit config --global --list# 查看系统配置 ../git/etc/gitconfiggit config --system --list# 设置全局用户名,邮箱git config --global user.name "xxx"GitGit创建步骤...

2020-09-12 22:35:00 33

原创 redis

概述(redis.memcache(内存数据库,高速缓存),mongodb(文档数据库))入门概述Nosql(not noly sql) 数据之间无关系,容易扩展 速度快:读11w,写8wRDBMS VS NOSQLRdbms:acidNosql:cap定理,键值对存储,组成:Kv,Cache,Persistence3v+3高海量volume多样var...

2020-09-12 21:17:00 55

空空如也

空空如也

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

TA关注的人

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