自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 十五、进程&线程&协程

一、线程的实现及相关操作线程的介绍1.线程进程是操作系统中进行保护和资源分配的基本单位,操作系统分配资源以进程为基本单位,而线程是进程的组成部分,是程序执行流的最小单元多个线程在同一个进程下执行,并共享相同的上下文线程包括开始、执行顺序和结束三部分线程可以被抢占(中断)和临时挂起(睡眠、让步)线程一般是以并发的方式执行的2.并发并发是一种属性—程序、算法或问题的属性并发并...

2019-12-11 20:41:34 950

原创 十四、正则表达式

一、正则表达式的基本使用1.什么是正则表达式1.正则表达式(regex)是一些由字符和特殊符号组成的字符串2.能按照某种模式匹配一系列有相似特征的字符串2.正则表达式中的符号3.正则表达式中的特殊字符4.正则表达式中的扩展表示法5.正则表达式分组1.正则表达式的分组用在重复匹配一个字符串时2.使用()进行分组,使用(?<name>...)指定组名3.从左...

2019-12-07 14:17:50 355

原创 十三、装饰器&迭代器&生成器与异常处理

一、装饰器1.什么是装饰器1.装饰器是用于拓展原来函数功能的一种函数2.装饰器是返回函数的一种函数3.在不用更改原函数代码的前提下给函数增加新的功能2.装饰器的实现1.定义一个函数(接收一个参数)来作为装饰器函数,并在装饰器函数体内定义一个函数,用该函数来接收参数并实现装饰内容,最后用装饰器函数返回该函数2.在需要使用装饰器的目标函数上使用注解@装饰器函数名即可3.可以叠加使...

2019-12-03 16:24:24 488

原创 十二、类与面向对象

一、面向对象Python也是面向对象的语言,与java一样,面向对象具备三大特点,封装、继承、多态1.类与对象类是对象的模具,确定对象将会拥有的属性和行为对象是类的具体实例表现2.封装封装就是隐藏具体信息及实现细节,提供访问接口特点:只能通过规定的方法访问数据隐藏类的实例细节,方便修改和实现3.继承继承是一种类与类之间的关系,使用已经存在的类的定义作为基础来创建...

2019-12-02 11:02:28 279

原创 十一、文件的读写

一、文件的读写模式1.文件常用的打开模式r:只能读r+:可读可写,不会创建不存在的文件。如果直接写文件,则从顶部开始写,覆盖之前此位置的内容,如果先读后写,则会在文件最后追加内容w+:可读可写如果文件存在则覆盖整个文件,不存在则创建w:只能写,覆盖整个文件,不存在则创建a:只能写,从文件底部添加内容,不存在则创建a+:可读可写,从文件顶部读取内容,从文件底部添加内容,不存在则创建...

2019-12-01 09:54:01 393

原创 十、常用高阶函数

一、lambda函数lambda是一种表达式,创建内嵌的简单匿名函数lambda函数代码只有一行,用于处理简单逻辑常用例子列表按字典某元素进行排序stus = [ {'name': 'Schuyler', 'age': 15}, {'name': 'zhengli', 'age': 18}, {'name': 'jack', 'age': 10}]stu...

2019-11-30 09:43:53 293

原创 九、标准模块与第三方模块

一、标准模块-osos模块包含很多系统相关的操作函数及变量,详细的可以查看python的文档,下面列出几个较为常用函数和变量1.常用系统操作environ:包含环境变量的映射语法:os.environ返回一个包含环境变量信息的os._Environ类型数据system:在子shell中执行操作系统命令(就是执行指定exe等文件)语法:os.system('文件所在路径')当...

2019-11-28 10:28:15 199

原创 八、模块与包

一、控制台运行Python文件1.Dos常用命令cd:切换目录dir:查看目录下的文件和文件夹cls:清楚屏幕内容exit:退出控制台2.执行Python文件python:进入python控制台python "文件路径":执行python文件quit()/exit():退出python控制台二、Python模块介绍1.Python模块定义模块就是程序,保存形式...

2019-11-26 20:17:08 136

原创 七、函数的定义与实现

一、函数是什么函数是实现具有特定功能的代码Python中预制了很多内置函数开发者也可以创建自定义函数二、函数的特点隐藏实现功能细节重用代码提高可读性,便于调试三、函数的定义语法def 函数名([形式参数1,...,形式参数n]): 要运行的代码(函数体) return 返回的数据示例def print_verse(verse_name)...

2019-11-24 22:21:02 606

原创 六、元祖与集合

一、元组1.元祖(Tuple)元组可以看成是不可变的列表元组使用小括号,列表使用方括号tup1 = ('schuyler', 28, 3000)需要注意的是,如果元祖只有一个元素那么结尾需要添加,来表明创建的是元祖2.元组的读与写元祖读取方式与列表相同元组的元素在创建后不允许修改,即任何对元祖本身的写操作都是不允许的元祖允许使用"元祖运算符"来创建新元祖(1, 2, ...

2019-11-22 22:52:30 697

原创 五、列表与字典

一、数据结构数据结构就是指计算机存储、组织数据的结构Python中主要有四种数据结构列表(list)元组(Tuple)字典(Dictionary)集合(Set) 二、列表1.列表的特点列表中的数据按顺序排序,可以通过索引取值列表有正序与倒序两种索引对于正序索引时,索引从0开始往后递增对于倒序索引时,索引从-1开始往前递减列表可存储任意类型数据,且...

2019-11-21 00:12:27 256

原创 四、Python常用运算符的使用

一、Python中的常用运算符python有七种常用运算符算术运算符比较运算符逻辑运算符赋值运算符成员运算符身份运算符位运算符前三种出现在前面的笔记中二、赋值运算符运算符描述示例=赋值…+=加减赋值运算符a += 1-=减法赋值运算符*=乘法赋值运算符/=除法赋值运算符%=取模赋值运算符...

2019-11-18 18:31:28 156

原创 三、Python的流程控制语句

一、流程控制语句Python流程控制语句主要分为三种顺序语句分支语句循环语句二、分支语句1.分支语句基本书写形式```if 判断条件: 条件成立时执行语句块else: 条件不成立时执行语句块```需要注意,执行语句前必须用空格缩进,否则程序报错2.判断条件的书写规则每个if语句的核心都是判断条件的编写判断条件必须是布尔表达式我们通常称返回...

2019-11-17 19:10:51 216

原创 二、Python变量与字符串

一、函数1.函数是什么函数是python程序提前准备好的功能每个函数都有对应的功能函数的使用方式为:函数名(参数)2.print函数print用于向控制台输出字符串,本身会自动换行示例: print(“人生苦短”)、print(3)、print(3+2)在输出文本时增加\n可对文本换行 print('人生苦短\n我用python')二、注释1.注释的作用...

2019-11-16 19:19:35 208

原创 一、Python简介

一、Python的特点1.Python是完全面向对象的语言2.Python拥有强大的标准库,代码量极少3.Python拥有海量第三方模块二、Python的优缺点优点缺点简单、易学运行速度慢免费、开源国内刚起步丰富的库、可扩展性中文资料匮乏三、解释性语言1.解释器是将代码转换为机器语言的程序2.使用解释器运行的语言也称为"解释型语言"3...

2019-11-16 19:00:20 125

原创 五、RabbitMQ-消息可靠性传递实现方案

一、实现方案图解第一步将要发送的信息进行对应数据库的录入,并且将发送信息的操作作为一条操作日志录入数据库中设置状态字段status为0(发送中)。第二步生产端将消息发送到RabbitMQ服务上。第三步RabbitMQ接收到消息后,进行回应,告诉生产端已接收到信息,这一步骤需要在生产端进行配置,设置RabbitMQ接收到信息后自动回应。第四步生产端接收到Rabbit...

2018-10-23 12:07:11 797 1

原创 四、RabbitMQ-SpringBoot2.X简单使用

SpringBoot与RabbitMQ的集成非常简单,不需要做任何的额外设置,只需要引入相关依赖并对application.properties进行配置即可一、创建SpringBoot项目这边直接通过IDEA建立两个SpringBoot项目即可,一个作为消费端一个作为生产端,由于后文中消费端需要实时监控队列,要开启web服务,所以创建消费端时可以先选择web依赖包免得后面再去导入。二、项目结...

2018-10-23 11:31:23 1009

原创 三、RabbitMQ-创建虚拟机&队列

一、创建虚拟机根据第二章的内容进行安装、配置并启动了RabbitMQ后,我们可以通过浏览器访问对应的url进入RabbitMQ的图形管理页面,如下图所示然后我们可以点击Exchanges页签进行交换机的创建如图所示,类型我们先选择topic即可,名字命名为order-exchange,在后文代码编写时会用到。二、创建队列点击Queues页签进行队列的创建三、进行绑定绑定的设置在...

2018-10-23 11:03:22 1131

原创 二、RabbitMQ-安装与使用

一、安装1.准备在安装rabbit之前需要通过yum安装一些必要的依赖软件,我用的是阿里云的centOS7,大部本都已经默认安装好了yum install build-essentialyum install opensslyum install openssl-develyum install unixODBCyum install unixODBC-develyum insta...

2018-10-23 10:56:59 244

原创 一、RabbitMQ-简介

一、初识RabbitMQRabbitMQ是一个开源的消息队列和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,也就是说可以跨平台跨语言的进行数据共享。RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。目前很多互联网公司如嘀嘀打车、美团、头条等都在使用RabbitMQ,这些公司选择使用RabbitMQ自然是因为它具有自己的许多优点:Rabbi...

2018-10-23 10:48:15 474

原创 JAVA-线程-同步

在实现多线程时,很容易出现线程安全问题,一般是由于多个线程使用了共享资源造成的数据不一致导致的,先来看一波存在线程问题例子public class MySource implements Runnable { private Integer money; public MySource(Integer money) { this.money = money; ...

2018-09-26 11:27:47 125

原创 JAVA-线程-基础

一、线程&amp;进程进程: 运行中的程序,即指应用程序在内存中分配的空间。线程: 进程中负责程序运行的执行单元,也叫执行路径。线程任务: 线程执行的代码内容。并行: 多个cpu实例或者多台机器同时执行一段处理逻辑,实现真正的同时。并发: 通过cpu的调度算法,快速的切换线程执行线程任务,并不是真正意义上的同时。线程安全: 同一段代码在多线程使用下,不会因为线程的调度顺序而影响任何结...

2018-09-26 11:25:59 134

原创 一、SpringMVC-基础

一、SpringMVC-简介SpringMVC属于Spring框架的后续产品,用在基于MVC结构的控制层开发,属于SpringWeb模块,有点类似于Struts2 + Spring。其中MVC是一种设计模式,M代表Model可以由service+dao+entity构成;V代表View表示前端视图,由html、jsp等构成;C代表Controller即控制器,顾名思义充当了一个指挥塔的中心作用...

2018-09-25 17:56:52 153

原创 七、Quartz-建表语句

2.X版本数据库建表语句DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;DROP TABLE IF EXISTS QRTZ_LOCKS;DROP TABLE IF EXIST...

2018-09-10 16:17:08 437

原创 六、Quartz-配置详解

https://blog.youkuaiyun.com/houjiyu243042162/article/details/44560875Quartz常用配置详解一、调度器主要配置1.org.quartz.scheduler.instanceName非必写,默认为字符串QuartzScheduler任意的String,对于调度器自己并没有意义。但是当多个调度器实例用在一个程...

2018-09-10 16:16:24 2895 1

原创 五、Quartz-cron表达式

cronExpression表达式 字段 值域 可使用字符 秒 0~59 , - * / 分 0~59 , - * / 时 0~23 , - * / 日 1~31 , - * / L W C 月 1~12 , - * / 周 1~7(1为周日) , - * ? / L C #...

2018-09-10 16:14:30 341

原创 四、Quartz-集群实现

一、编码方式实现(无Spring)1.配置文件编写#==============================================================#Configure Main Scheduler Properties#==============================================================or...

2018-09-10 16:13:25 218

原创 三、Quartz-简单实现

一、基于spring通过XML配置实现简单任务调度1.引入依赖包 &amp;lt;dependencies&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.quartz-scheduler&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&a

2018-09-08 15:23:42 155

原创 二、Quartz-集群

一、Job数据存储Quartz中,相关的Job、Trigger和Scheduler必须先被存储起来之后才可以使用,Quartz提供了两种存储机制,分别是RAMJobStore(内存存储)和JDBCJobStore(持久化存储)1.RAMJobStore(内存存储)Quartz中默认使用RAMJobStore存储机制,RAMJobStore将相关的Job、Trigger和Schedu...

2018-09-08 14:02:25 166

原创 一、Quartz-核心要素

基本介绍一、简介Quartz是一个优秀的开源任务调度框架,完全基于Java实现,作用相当于spring的定时器,可以在指定的时间点执行任务。可以使用在如”月底总结”,”每日结算”等需要在指定时间执行任务的需求中。当然,Quartz的功能十分强大,远不止这些应用。二、特点强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求。灵活的应用方式,例如支持任务和...

2018-09-08 09:37:03 649

原创 九、事务 & 备份

一、事务1.开启事务事务的开启需要使用START TRANSACTION语句2.事务提交当开启了事务之后,运行完一系列的语句必须要进行事务的提交才可以真正的完成数据库数据更新,需要使用COMMIT语句3.事务回滚开启了事务之后,在运行一系列语句的过程中如果出现了错误,我们可以使用事务回滚,将操作的数据回到原点,需要使用ROLLBACK语句4.事务的正确使...

2018-08-22 22:47:22 146

原创 八、常用函数

一、数学函数数学函数是MySQL中常用的一类函数。主要用于处理数字,包括整型、浮点数等。数学函数包括绝对值函数、正弦函数、余弦函数、获取随机数的函数等1.绝对值-ABS(X)SELECT ABS(-1);2.余数-MOD(N,M) / %SELECT MOD(7, 2);SELECT 7 % 2;3.不大于X的最大整数值-FLOOR(X)SE...

2018-08-22 22:46:30 367

原创 七、视图

一、视图视图即是虚拟表,也称为派生表,因为它们的内容都派生自其它表的查询结果—《SQLite权威指南》简单的说就是,视图是基于已存在的表通过SELECT查询语句将查询出来的结果集作为数据生成的一个虚拟表。可以将视图当作一个正常的表来查询。至于直接对视图数据进行增删改的操作,有一些需要注意的地方会在下文中提及。然而请切记,视图不是表,不保存数据,只是一张虚拟表。那么既然是基于已存在的表,...

2018-08-22 22:45:49 169

原创 六、触发器

一、触发器-TRIGGER触发器是MySQL响应INSERT、UPDATA、DELETE任意语句而自动执行的一条MySQL语句,因此,当需要某条语句在执行时候,自动运行某些动作,可以使用触发器。触发器大体来讲可以分为”前置”跟”后发”两种,在创建时候通过BEFORE、AFTER关键字确定。二、创建触发器创建模型DELIMITER //CREATE TRIGGER tr...

2018-08-22 22:45:06 171

原创 五、存储过程 & 游标

一、存储过程1.创建DELIMITER // CREATE PROCEDURE pro_query() BEGIN SELECT * FROM tableA; END //DELIMITER ;2.调用CALL pro_query();3.查询全部查询SHOW PROCEDURE STATUS;指定查...

2018-08-22 22:44:30 351

原创 四、关联查询

一、子查询简单的说,子查询就是将一个查询结果嵌套到另一个查询语句中,作为这个查询语句的查询条件或者查询对象。1.作为查询对象注意:将查询结果作为查询对象时必须要起一个别名SELECT name FROM (SELECT id, name FROM tableA) tA;2.作为查询条件注意: 这里假设tableB只存在一条数据,否则需要加上条件来确定唯一n...

2018-08-22 22:43:33 157

原创 三、约束

一、数据约束数据约束可以在建表时设定,也可以在建表后通过修改表结构来添加,如果需要为约束添加别名,可以在约束前面添加CONSTRAINT name ...1.默认值-DEFAULTDEFAULT的值可以为NULLALTER TABLE student MODIFY id INT DEFAULT 0;2.非空-NOT NULLALTER TABLE stude...

2018-08-22 18:05:08 137

原创 二、基本语法

一、库管理1.查询数据库SHOW databases;2.创建数据库CREATE DATABASE newDB [DEFAULT CHARACTER SET utf8];3.查询数据库信息SHOW CREATE DATABASE newDB;4.删除数据库DROP DATABASE newDB;5.修改数据库ALERT...

2018-08-22 18:04:31 314

原创 一、Mysql简介

一、MysqlMySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,...

2018-08-22 18:02:04 356

原创 Homebrew

一、简介初次接触mac os系统,Homebrew的使用给我带来了十分酸爽的滋味,Homebrew简称brew,是MacOS上的软件包管理工具,它相当于开发软件界的Appstore,通过他来安装软件会变得很简单,比如你要下载或者卸载python,只需要通过下列命令即可brew uninstall python brew install python当然你在安装软件前可能需要通过b...

2018-08-18 14:23:44 4445

空空如也

空空如也

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

TA关注的人

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