- 博客(64)
- 资源 (15)
- 收藏
- 关注
原创 反应式框架Reactor中的Mono和Flux
Reactive基于事件驱动(事件模式或者说订阅者模式),类似于Netty异步事件编程模型,对不同的事件做不同的处理。所有信息都通过一个编程模型处理,就像水在管道里面运动一样(这里把事件比作水流)响应流必须是无阻塞的。 响应流必须是一个数据流。 它必须可以异步执行。 并且它也应该能够处理背压。背压是反应流中的一个重要概念,可以理解为,生产者可以感受到消费者反馈的消费压力,并根据压力进行动态调整生产速率。反应式编程框架主要采用了观察者模式,而Spring Reactor的核心则是对观察者模
2021-11-18 17:18:36
4768
原创 SpringBoot 动态操作定时任务(启动、停止、变更执行周期)
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;import org.springframework.scheduling.support.CronTrigger;import .
2021-11-18 14:02:49
2313
1
原创 同步工具类
CountDownLatch(闭锁) CyclicBarrier(栅栏) Semaphore(信号量)就是为了能够更好控制线程之间的通讯问题一、CountDownLatchCountDownLatch是一个同步的辅助类,允许一个或多个线程一直等待,直到其它线程完成它们的操作。它常用的API其实就两个:await()和countDown()count初始化CountDownLatch,然后需要等待的线程调用await方法。await方法会一直受阻塞直到count=0。而其它线程完成自己.
2021-11-18 13:51:02
402
原创 @Async注解实现异步任务
我们在使用多线程的时候,往往需要创建Thread类,或者实现Runnable接口,如果要使用到线程池,我们还需要来创建Executors,在使用spring中,已经给我们做了很好的支持。只要要@EnableAsync就可以使用多线程。使用@Async就可以定义一个线程任务。通过spring给我们提供的ThreadPoolTaskExecutor就可以使用线程池。默认情况下,Spring将搜索相关的线程池定义:要么在上下文中搜索唯一的TaskExecutor bean,要么...
2021-11-18 13:15:03
666
原创 Netty高并发
Java中,内存分为堆和栈以及字符串常量值等等,要从IO中读取数据,分为两个步骤:(1)从IO流中读取出来放到缓冲区,程序从缓冲区中读取,再放到堆中,此时数据就会被拷贝两次才能到达堆或者堆内存中。如果数据量很大,那么就会造成资源的浪费。(2)Netty其实就是利用NIO中的零拷贝特性,当Netty需要接收数据或者传输数据的时候,就会新开辟一块堆内存,然后数据就直接通过IO读取到了新开辟的堆内存中,这样也就加快了数据传输的速度。阻塞与非阻塞线程在访问某一个资源的时候,该资源是否准备就绪的一种处理方
2021-11-18 11:29:05
1437
原创 OGG ERROR SOLUTION
ERROR OGG-00303 Unable to connect to database using user ogg@MONGO_PD. Ensure that the necessary privileges are granted to the user.Operation not supported because enable_goldengate_replication is not set to true.ALTER SYSTEM SET ENABLE_GOLDENGATE...
2021-09-13 12:44:53
720
原创 oracle参数文件pfile和spfile的关系
它们是在数据库实例启动时候加载的,决定了数据库的物理 结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。pfile: 初始化参数文件(Initialization Parameters Files)pfile 默认的名称为“init+例程名.ora”文件路径:/data/app/oracle/product/12.1.0/dbhome_1/dbs,这是一个文本文件,可以用任何文本编辑工具打开。...
2021-08-26 18:48:58
229
原创 Oracle命令笔记
查询db_name,db_unique_name等属性值SQL> show parameter name查询SIDSQL> select instance_name from v$instance;
2021-08-18 16:14:26
347
原创 docker安装elasticsearch
第一次启动:docker run -d -p 9200:9200 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" --name=<es name> elasticsearch:<es version>es未能启动,查看日志docker logs -f -t --tail 100 {容器id}Memory: 4k page, ...
2020-03-04 20:12:51
260
原创 go get的时候遇到墙
方法一:下载github上的镜像库放入GOPATHmkdir -p $GOPATH/src/golang.org/xcd $GOPATH/src/golang.org/xgit clone https://github.com/golang/sync.gitgit clone https://github.com/golang/crypto.gitgit clone https://...
2020-02-21 16:37:58
265
原创 docker容器化的服务在eureka重复注册的解决办法
本文仅对单注册中心起作用,多注册中心会出现只有一个服务注册成功的问题目前:非容器化部署:微服务注册到eureka,实例id是默认是“主机名称:服务名称:服务端口号”,如果配置eureka.instance.prefer-ip-address=true则实例id为 “主机Ip:服务名称:服务端口号”容器化部署:containerId:服务名:端口号当使用docker...
2020-01-21 11:57:28
1521
原创 docker安装zipkin
docker pull openzipkin/zipkin:2.12.9docker run -d --name zipkin --restart=always -e KAFKA_BOOTSTRAP_SERVERS=10.18.0.39:9092 -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=http://10.18.0.39:9200 -p 9411...
2019-12-05 16:19:22
1828
原创 docker安装KAFKA
1.拉取镜像docker pull wurstmeister/kafka:2.12-2.1.02.启动kafka镜像生成容器docker run -d --name kafka --restart=always -p 9092:9092 -e KAFKA_ZOOKEEPER_CONNECT=10.18.0.39:2181 -e KAFKA_BROKER_ID=0 -e KAFKA...
2019-12-05 16:10:48
587
原创 删除Eureka中重复注册的服务
利用docker发布微服务的时候,如果没有设置eureka.instance.instance-id=${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}就会以dockerid为注册名的实例,之前已经死掉的服务还存在于Eureka服务中心,这时我们需要将该服务从Eureka服务中心删...
2019-12-05 15:26:28
1267
2
原创 docker安装zookeeper
1、获取zookeeper镜像docker pull wurstmeister/zookeeper:latest2、主机上建立挂载目录和zookeeper配置文件mkdir -p /home/data/zookeeper_data/conf mkdir -p /home/data/zookeeper_data/data 复制zoo.cfg到conf目录下3、启动容器:...
2019-12-02 16:55:04
1962
2
原创 windows安装启动zookeeper和kafka
一、.安装jdk,配置JAVA_HOME二、安装zookeeper1.下载zookeeper,本人版本是3.4.12。2.解压,进入到config目录,找到zoo_sample.cfg文件,重命名为zoo.cfg。3.编辑zoo.cfg文件,将dataDir=/tmp/zookeeper修改dataDir=D:/zookeeper-3.4.12/data或“./zookeeper-3...
2019-11-26 17:58:11
1753
原创 prefer-ip-address
eureka: instance: prefer-ip-address: true instance-id=ip地址:端口 # 微服务注册到注册中心的时候,ip地址使用宿主机的ip地址,ip地址也可以是http://域名 ...
2019-11-18 10:02:26
6524
原创 利用Google开源项目Jib生成镜像并推送镜像仓库
1.添加插件 <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <ver...
2019-10-31 17:41:41
2045
原创 Idea使用docker插件自动发布测试版本
一、开发环境ideaIU-2019.2.3,CentOS Linux release 7.4.1708 (Core),docker19.03.4本人使用测试服务器,虚拟机类似二、开放服务器端口,开启docker远程访问[root@localhost ~]# vim /lib/systemd/system/docker.service修改ExecStart这行Exec...
2019-10-31 16:02:36
538
原创 SpringCloud Greenwich 报错:Load balancer does not have available server for client: XXXX
错误描述com.netflix.client.ClientException: Load balancer does not have available server for client: xxx解决方案:在消费者模块的yml文件添加ribbon: eureka: enabled: falsetest-producer: #服务生产者的serviceI...
2019-09-06 09:33:54
2030
原创 pycharm运行flask时指定端口
from flask import Flask,render_template,request, Responseapp = Flask(__name__) @app.route('/') def hello_world(): return render_template('index.html')if __name__ == '__main__': app.run...
2019-09-05 14:11:55
3622
1
原创 pyinstaller的参数说明
-F:是直接生成单独的exe文件,不附带各种依赖文件的。-D:指定生成一个目录(包含多个文件)来作为程序,在命令行窗口中运行该 app.exe 程序-w:这个和上面的-c对应,如果你的程序是有ui的,那就用这个-w。这样不会出现控制台,直接是你的ui-I:给你的exe文件添加一个图标,后面要紧接着你想要的ico文件。-p:后面紧跟着你要指定的模块搜索路径,如果你的模块安装的路径没有...
2019-09-03 23:37:36
1727
原创 PyQt5开发桌面程序二(获取公网ip)
前言:由于云服务器中设置了安全组,需要填写公网ip地址。家庭公网ip总变,所以安全组中需要不断更换。之前都是通过百度IP地址,最近发现百度ip后搜索列表中的公网ip地址结果不见了,还需要进入某个链接,十分不爽。干脆现学现卖,做个桌面程序,省了几道步骤。资源链接:https://download.youkuaiyun.com/download/yuhan_0590/11662900第一步:创建一个U...
2019-09-03 21:27:52
591
1
原创 PyQt5开发桌面程序一(安装、配置)
1.安装PyQt5和PyQt5-toolspip install PyQt5pip install PyQt5-tools2.在pycharm上添加toolsQtDesigner:PyQt5的GUI设计界面。Pyuic:用于将designer.exe设计好的界面,转换为Python程序文件。Pyrcc:用于将资源文件,例如图片,转换为Python文件,以利于打包使用。...
2019-09-03 21:08:38
885
原创 Airtest无线连接android手机
adb工具即Android Debug Bridge(安卓调试桥)tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。1.下载adb工具http://adbshell.com/downloads。2.在解压文件夹打开命令窗口,查看已连接的设备(adb devices)3.启动开启手机上的adb端口无论使用哪种方式,要远程控制手机,就需要首...
2019-08-06 13:33:51
6786
原创 echarts 参数说明
$(function() { // 路径配置 require.config({ paths : { // echarts: 'http://echarts.baidu.com/build/dist' echarts : './plugins/echarts-2.2.7/doc/example/www/js'...
2019-06-24 15:26:57
2015
转载 Fancybox的API和配置选项说明
属性名 默认值 简要说明 padding 10 浏览框内边距,和css中的padding一个意思 margin 20 浏览框外边距,和css中的margin一个意思 opacity false 如果为true,则fancybox在动画改变的时候透明度可以跟着改变 modal false 如果为true,则'overlayS...
2019-06-11 15:13:44
2390
原创 jQuery的post()方法提交数组
traditional:true$.ajax({type: "POST",url: url,traditional:true,data:{ gender:[0,1] },dataType: "json",async:false});
2019-03-23 21:34:50
5132
原创 页面禁止回退
$(function () { //防止页面后退 history.pushState(null, null, document.URL); window.addEventListener('popstate', function () { history.pushState(null, null, document.URL); });})...
2019-03-23 20:21:08
282
原创 MySQL权限分配
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '565491d704013245' WITH GRANT OPTION此时,注意看那个“@”后面的,是localhost 意思是本机登陆,,此时,如果你用远程登陆软件来登陆的话,会出现错误提示:Access denied for user 'ro...
2019-03-14 09:03:40
1586
原创 小程序wx.request的POST方式传参
wx.request({method: "POST",header: {"content-type": "application/x-www-form-urlencoded" "content-type": "application/json" //默认},})使用默认的content-type,...
2019-03-13 13:53:53
7176
1
转载 微信小程序开发--客服消息(接收)
接收消息和事件在页面中使用 <button open-type="contact" /> 可以显示进入客服会话按钮。当用户在客服会话发送消息(或进行某些特定的用户操作引发的事件推送时),微信服务器会将消息(或事件)的数据包(JSON或者XML格式)POST请求开发者填写的URL。开发者收到请求后可以使用发送客服消息接口进行异步回复。微信服务器在将用户的消息发给小程序的开发者...
2019-02-25 17:35:47
2312
2
转载 springboot上传文件法获取文件路径问题
问题描述:在开发一个springboot的项目时,在项目部署的时候遇到一个问题:就是我将项目导出为jar包,然后用java -jar 运行时,项目中文件上传的功能无法正常运行,其中获取到存放文件的目录的绝对路径的值为空,文件无法上传解决方案://获取跟目录File path = new File(ResourceUtils.getURL("classpath:").getPat...
2019-02-23 10:45:57
10395
转载 idea去掉静态文件的语法校验
作者:二月三十_hu 来源:优快云 原文:https://blog.youkuaiyun.com/qq_21747795/article/details/80678096 1.点击右下角的小人,将检测级别置为Syntax级别,如下图但只能对当前文件起作用,如何运用到整个项目中呢,点击上图中的蓝色链接‘Configure inspections’,取消弹出框中java、spelling、s...
2019-02-23 09:52:50
9640
1
原创 连接数据库报错 "Host '*' is blocked because of many connection errors; unblock with 'mysqladminlush-hosts'"
问题描述 解决方案清除缓存的方法,这样就会把计数清理掉,进入mysql控制台,执行:flush hosts;
2019-02-21 13:57:23
2067
转载 微信卡券接口
1须知阅读卡券部分接口文档,请务必阅读微信公众平台开发者通用说明文档《开始前必读》和《开始开发》两个章节,以获知微信公众平台接口的基本调用方法、开发者规范以及调用过程中异常问题的处理。 2申请沙箱测试账号如果你没有可用的卡券测试账号,可以通过微信接口测试号申请工具申请一个临时测试号用于卡券测试。你可以登录接口测试号申请通过微信扫一扫获得一个全新的appid(已拥有卡券创建权限,包括...
2019-02-20 16:28:53
2399
转载 公众号创建会员卡
原文链接: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1451025283会员卡升级公告2016年5月15日起,微信卡券团队对会员卡能力进行全面升级。在原有能力基础上进行以下能力升级,旨在帮助商家更好地进行会员管理。-强化客户端一级入口:会员到店即用,快速定位商户会员卡;-自定义卡面能力:开发者可以根据会...
2019-02-20 09:45:03
5257
1
struts2-dojo-plugin-2.2.3.jar
2011-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人