自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(674)
  • 资源 (10)
  • 收藏
  • 关注

原创 MySql中几种批量更新/新增/删除的方法

通常情况下,我们会使用以下SQL语句来更新字段值:UPDATE mytable SET myfield='value' WHERE other_field='other_value';但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?刚开始你可能会想到使用循环执行多条UPDATE语句的方式,就像以下的python程序示例:for x in xrange(...

2020-03-12 23:54:11 24303 1

原创 Mysql常用命令和函数

1创建用户test,密码为password该用户没有任何权限create user test@localhost identified by 'password';2指定用户拥有创建表的权限远程 %可以换成ipgrant all on database.* to 'test'@'%' identified by 'password';grant select,insert,upd............

2019-09-17 17:07:59 1043 1

原创 脱离laravel框架使用illuminate下的组件

Illuminate下面有很多分离自Laravel的控件。或许你很抵抗使用Laravel , 但是你没有理由不喜欢使用Illuminate,组件的使用方法可以查看Laravel的文档github地址:https://github.com/illuminate独立使用Illuminate/Validation验证器{ "require": { "illuminate/validation": "^5.8" }}打开resource/lang/cn/valida...

2019-06-14 15:51:04 3346

原创 Supervisor的作用与配置

supervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动,所以我们只需要将要管理进程的可执行文件的路径添加到supervisor的配置文件中就好了。此时被管理进程被视为supervisor的子进程,若该子进程异常中断,则父进程可以准确的获取子进程异常中断的信息,可以选择是否自己启动和报警。通过在配置文件中设置autostart=true,...

2019-03-14 18:14:49 3416 1

原创 系统迭代,运营出现问题应急方案

.0的版本即可2.如果没有配置版本控制,系统应该部署2套代码v2.3.0版和v2.3.1版。将运营系统入口直接指向v2.3.0版即可(废弃v2.3.1)。②数据库部分要保证支持快速回滚,数据库有一些要求必须满足,数据库不支持回退,新版本多出的信息可以向前兼容。1)废弃的字段或表等不能删除,因为现在用不到,以前的版本可能用的上,防止回退出错。2)建好的表名或字段名不要修改名字。防止以前的版本回退出错。3)每个新增的字段都要有一个默认值。如果没有默认值可以允许为空#!/bin/bas

2016-01-27 15:10:14 169

原创 MYSQL FEDERATED存储引擎

。 但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要),默认情况下面,mysql是不启用该存储 引擎的,如下mysql> show engines;从上面可以看到FEDERATED的Support是NO,说明没有启用,如果没有的话说明没有编译进去,需要重新安装,要像启用的话使Support为YES,可以在/etc/my.cnf加federated(在mysqld加),然后重启就可以启用配置很简单注意:本地创建的表必须在远程服

2012-04-23 19:25:08 186

原创 Linux系统下配置LEMP+Redis+telnet+openssh

首先安装 openssh-server,然后可以通过XShell访问Linux。也可以通过scp命令上传下载文件sudo apt-get install openssh-server安装nginxsudo apt install nginx OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。借助于Nginx.

2024-04-07 09:50:33 589

原创 java 带权重轮询算法

【代码】java 带权重轮询算法。

2024-03-18 11:44:50 218

原创 php捕获Fatal error错误与异常处理

对于php7中的错误捕获,因为php7中定义了 Throwable 接口,大部分的 Error 和 Exception 实现了该接口。所以我们在php7中,可以通过 try {} catch(\Throwable $e) 来捕获php5中无法捕获到的错误。那就需要用到 register_shutdown_function() 和 error_get_last() 来捕获错误。运行脚本,最终php报出一个Fatal error,并程序中止。有些时候,我们需要捕获这种错误,并做相应的处理。

2024-02-18 14:55:08 535

原创 mysql根据查询结果连续序号

业务数据一般都不是连续的ID,导出Excel的时候要求连续序号。

2024-01-04 16:02:54 447

原创 Java Pattern正则匹配,并获取匹配内容

【代码】Java Pattern正则匹配,并获取匹配内容。

2023-11-02 16:25:53 330

原创 RedisTemplate出现\xac\xed\x00\x05t\x00\x0f前缀解决

出现这种乱码前缀的原因是没有进行序列化,因此导致在传输过程出现乱码问题,存到数据库,发现 key,hash key/value 都有 \xAC\xED\x00\x05t\x00 前缀。。RedisTemplate类中默认是没有设置序列化的。

2023-09-25 10:31:30 815

原创 Java 检测类是否可加载

检查类是否存在的一种常见方法是执行 Class.forName("my.Class")。如果需要,您可以在具有 main() 的包装类中执行此操作。您可以尝试加载该类,如果成功,则在加载的类上调用 main() ,如果没有,则执行其他操作。Class.forName()是Java中的一个反射方法,用于根据类的完整限定名(fully qualified name)加载类并返回对应的Class对象。它的作用是在运行时动态地加载类,可以在编写通用代码时动态地加载不同的类,从而实现更高的灵活性和可扩展性。

2023-08-17 10:57:16 474

原创 java mysql JDBC数据库操作类

【代码】java mysql数据库操作类。

2023-08-14 17:34:34 205

原创 SpringBoot多数据源配置

*** 取得当前使用哪个数据源* @return*/@Override。

2023-08-11 13:56:30 154

原创 sprintboot logback高级特性使用

多个实例需要拥有各自的配置文件,并通过文件名-[ip].log标识。或想要在打印的日志中显示线程id,ip地址,自定义标识,都可以通过如下方式实现。

2023-05-26 18:00:15 845

原创 @RabbitListener 消息队列 消息序列化

在一些场景下我们希望在消息发送到MQ之前或者接受消息前对消息做一些自定义处理,这个时候就需要自定义MessageConverter了。

2023-03-22 11:30:23 2317 1

原创 Java Excel的数据导入导出

导入数据时,程序解析和读取数据用,必须要!

2023-02-17 10:41:14 2467

原创 php中的sleep和usleep

php代码的执行是单线程的,php使用php-fpm(Fastcgi 进程管理器) 负责进程的分配和管理,如果php-fpm进程数量达到了配置的最大值pm.max_children ,剩下的请求只能排队,sleep() 函数将很容易阻塞住一个进程,甚至很容易把整个网站的请求被阻塞住。

2023-02-02 16:43:28 989

原创 Java Servlet生成html页面

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。该Servlet实现如下功能:当用户通过浏览器访问该Servlet时,该Servlet向客户端浏览器返回一个HTML页面。

2022-09-09 14:59:28 1574

原创 Golang JSON变量不加Tag 反射获取Tag

如果结构体的字段有多个tag,比如叫otherTag,同样可以通过t.Field(i).Tag.Get(“otherTag”)获得。printTag方法传入的是j的指针。reflect.TypeOf(stru).Elem()获取指针指向的值对应的结构体内容。遍历结构体内的字段,通过t.Field(i).Tag.Get(“json”)可以获取到tag为json的字段。NumField()可以获得该结构体的含有几个字段。............

2022-08-31 11:36:40 628

原创 Golang 的锁机制

一个互斥锁只能同时被一个 goroutine 锁定,其它 goroutine 将阻塞直到互斥锁被解锁(重新争抢对互斥锁的锁定)。读写锁有四个方法:读的加锁、解锁,写的加锁、解锁。互斥锁有两个方法:加锁、解锁。RWMutex的使用主要事项。

2022-08-22 15:38:25 4961

原创 golang const常量

常量通常会被编译器在预处理阶段直接展开,作为指令数据使用,所以常量无法寻址。编译报错cannot take the address of i。常量不同于变量的在运行期分配内存,

2022-08-19 13:19:35 551

原创 Linux系统下配置LEMP

然后可以通过XShell访问Linux。也可以通过scp命令上传下载文件OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。.

2022-08-18 09:42:33 272

原创 Golang 接口以及自定义包

go语言接口由使用者定义,因为使用者用到了amDuck()这个函数,因此传入的duck接口需要定义amDuck()这个方法,这种思维更符合duck typing的思维,而传统的接口定义是反着来的,首先是实现者自己定义方法,使用者需要查看实现者定义了哪些方法,看自己是否能够使用。这里的isDuck函数被称为使用者,它使用了传入duck的amDuck()函数,因此duck被称为实现者。struct如果实现了Amduck()的话,它就会被认为是Duck的实现类,这种隐式的接口实现定义,..............

2022-08-16 10:00:33 539

原创 Golang 中make与new 区别

new 可以用来初始化泛型,并且返回储存位址。所以通常我们会用指标变数来接 new 过后的型别。特别要注意的是,new 会自动用 zeroed value 来初始化型别,也就是字串会是"",number 会是 0,channel, func, map, slice 等等则会是 nil。因为初始化的 map 会是 nil map,nil是不能直接赋值的。slice、map 以及 channel 类型的对象,三种类型都是结构。返回值为类型,而不是指针。make 是 Golang 的内建函数,...

2022-08-15 14:31:47 2878

原创 十进制转其他进制算法 位运算

十进制转二进制,即把十进制数m除以2,得到商和余数,记录下余数,用商继续除以2得到商和余数,如此循环直至商为0后,把所有的余数倒叙排列即为二进制数。用商继续除以16得到商和余数,如此循环直至商为0后,把所有的余数倒叙排列即为十六进制数。用商继续除以8得到商和余数,如此循环直至商为0后,把所有的余数倒叙排列即为八进制数。十进制转十六进制,即把十进制数m除以16,得到商和余数,记录下余数,十进制转八进制,即把十进制数m除以8,得到商和余数,记录下余数,...........................

2022-08-15 10:37:24 1107

原创 Golang 反射 runtime

的方法可以实现一个接口调用多个不同的函数,但是使用反射某种程度上也是牺牲了部分性能。任何方法都是有利有弊,通过。

2022-08-11 18:19:13 656

原创 Golang nil的妙用

代码块内部具有独立性质 (代码块内部定义的变量外部无法调用,但是代码块外定义的变量,代码块内可以调用)。但是代码块是要换行的。在golang中方法左括号{是不能换行的,不然编译不通过。..............................

2022-08-08 10:59:14 289

原创 Golang Break、Continue跳出多层循环

break 语句可以结束 for、switch 和 select 的代码块。Break在没有使用标签的时候break只是跳出了一层for循环。break 语句还可以在语句后面添加标签,表示退出某个标签对应的代码块,标签要求必须定义在对应的 for、switch 和 select 的代码块上。continue 语句可以结束当前循环,开始下一次的循环迭代过程,仅限在 for 循环内使用。在 continue 语句后添加标签时,表示开始标签对应的循环。.........

2022-08-05 16:05:51 1979

转载 Golang 作用域的坑 代码块

问题出在操作符:=,对于使用:=定义的变量,如果新变量与同名已定义的变量不在同一个作用域中,那么 Go 会新定义这个变量。对于本例来说,main() 函数里的 p 是新定义的变量,会遮住全局变量 p,导致执行到bar()时程序,全局变量 p 依然还是 nil,程序随即 Crash。这段代码原意是定义一个包内全局变量p,用foo()的返回值对p进行初始化,在bar中使用p。预期结果:bar()和main()中均输出5。在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。....

2022-08-04 17:25:28 209

原创 Golang = 比较与赋值

Go 中的数组是值类型,可比较,另外一方面,数组的长度也是数组类型的组成部分,所以 a 和 b 是不同的类型,是不能比较的,所以编译错误。

2022-08-04 12:00:28 553

原创 Golang 结构体坑总结

刚刚上手,我们都会习惯性的向下面这样赋值 ,示例如下。

2022-08-04 11:26:33 609

原创 Java8 Optional 详细用法

创建一个空的Optional实例创建一个Optional实例,当t为null时抛出异常创建一个Optional实例,但当t为null时不会抛出异常,而是返回一个空的实例。

2022-08-02 09:42:02 989

原创 Golang 空接口 空结构体

空接口是指没有定义任何方法的接口。因此任何类型都实现了空接口。空接口类型的变量可以存储任意类型的变量。空接口的应用1.空接口作为函数的参数使用空接口实现可以接收任意类型的函数参数。2.空接口作为map的值3.类型断言一个接口的值(简称接口值)是由一个具体类型和具体类型的值两部分组成的。这两部分分别称为接口的动态类型和动态值。因为空接口可以存储任意类型值的特点,所以空接口在Go语言中的使用十分广泛。....................................

2022-07-14 15:06:54 1176

原创 golang 函数 闭包 方法

defer的触发时机当前goroutine发生Panic时defer,return,返回值的执行顺序f1的执行结果是6, f2的执行结果是42,f3的执行结果是6最后看example3。它改写后变成f1的结果是6。f1是匿名返回值,匿名返回值是在return执行时被声明,因此defer声明时,还不能访问到匿名返回值,defer的修改不会影响到返回值。f2先给返回值r赋值,r=6,执行defer语句,defer修改r, r = 42,然后函数return。f3是有名返回值,但是因为r是作

2022-07-12 15:24:33 509

原创 golang 数组与切片

在 Go 中,与 C 数组变量隐式作为指针使用不同,Go 数组是值类型,赋值和函数传参操作都会复制整个数组数据。打印结果:可以看到,三个内存地址都不同,这也就验证了 Go 中数组赋值和函数传参都是值复制的。那这会导致什么问题呢?假想每次传参都用数组,那么每次数组都要被复制一遍。如果数组大小有 100万,在64位机器上就需要花费大约 800W 字节,即 8MB 内存。这样会消耗掉大量的内存。于是乎有人想到,函数传参用数组的指针。打印结果:这也就证明了数组指针确实到达了我们想要的效果。现

2022-07-06 16:59:31 508

原创 Linux 程序调试器GDB

大多数程序员所使用的IDE(集成开发环境)都是自带调试功能的,那如果我们是在没有IDE的linux环境下又该如何对程序进行调试呢。GNU symbolic debugger,简称「GDB 调试器」,是 Linux 平台下最常用的一款程序调试器。GDB 编译器通常以 gdb 命令的形式在终端(Shell)中使用,它有很多选项,这是我们要重点学习的。发展至今,GDB 调试器已经对 C、C++、Go、Objective-C、OpenCL、Ada 等多种编程语言提供了支持。实际场景中,GDB 更常用来调试 C 和

2022-07-05 16:18:00 426

原创 Golang 并发 通道 select

Golang 中对Channel 的支持添加了select关键字,通过select可以监听channel上的数据流动Golang中基于Channel select的实现由监控、定时器等示例,用于处理异步IO操作。执行流程有点类似switch case,case 后只能接channel输出,可以用变量接收:num:=.......................................

2022-06-15 14:59:05 712

原创 SPRING BOOT 动态定时任务

动态定时任务

2022-06-14 14:38:26 9788 8

JDK8_JDK11.zip

JDK8和JDK11

2021-02-02

phone-location.sql

手机号码归属地数据库,2023年5月 503112条数据 手机归属地查询,运营商,邮编,区号。全网最全最新

2020-04-22

签名生成器(专门用于生成微信各种签名)

签名生成器(专门用于生成微信各种签名)

2019-09-11

smartsvn注册license 可用69年

smartsvn注册license 可用69年,windows,linux,macos都可以用,亲测适合多个smartsvn版本

2014-10-17

nodejs手册cn

nodejs手册中文版.pdf

2013-04-10

SQL反模式pdf

SQL反模式pdf

2013-04-10

yii api cn 1.1.13

yii-api-cn yii版本是1.1.13

2013-03-22

weberp使用教程

介绍weberp的配置,各个业务的操作.pdf版

2009-12-09

空空如也

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

TA关注的人

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