自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

艺俊的博客

一只爱音乐的码农

  • 博客(117)
  • 收藏
  • 关注

原创 生产者与消费者(夜王与守夜人之间的斗争)

生产者与消费者生产者消费者问题属于 java 的多线程同步问题,因为涉及多线程之间对同一个资源的访问与操作,java 提供了 wait(),notify(),notifyAll() 等方法来实现多线程之间的同步问题。生产者负责对同一资源的生产增加操作。先判断资源数量是否已经达到最大值,如果没有达到则生产资源并调用 notifyAll() 唤醒其他线程;如果有达到则调用对象的 wati() 方法进入阻塞状态,等待被其他线程唤醒。消费者负责对同一资源的消费减少操作。先判断资源数量是否已经为 0,如果没

2022-05-01 11:05:03 1666

原创 macOS Big Sur 配置 jdk

配置步骤Oracle 官网下载 jdk到 Oracle 官网 下载 jdk1.8下载好 dmg 文件之后,双击运行安装即可安装完后,查看版本信息java -version这样说明已经安装完成了配置 JAVA_HOME 环境变量查找 java_home 安装路径/usr/libexec/java_home -V会出现两个,这里只要记住下面那一个,后面需要用到/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/H

2021-07-13 23:16:09 388

原创 Linux 下 Mysql 区分大小写

Linux 下 Mysql 区分大小写问题描述将 SpringBoot 项目部署到 linux 服务器之后,运行数据库报错Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table ‘trace-memory.T_USER’ doesn’t exist原因分析之前都是在 windows 环境下测试,windows 环境下大小写不敏感,而 linux 下是大小写敏感的。解决办法查看 MySQL 变量 lowe

2021-05-30 10:04:39 486

原创 微信小程序开发工具能正常请求后台数据,手机预览请求失败

微信小程序开发工具能正常请求后台数据,手机预览请求失败问题描述微信开发者工具调试完想用手机预览效果,结果发现凡是后台请求都失败。原因分析可能的原因有三个:微信开发者工具详情里的本地设置,没有勾选上不校验合法域名等选项手机的网络和电脑的网络不在同一网段开发者工具用后台 ip 写成了 localhost解决办法针对上面的解决办法如下:微信开发者工具-右侧详情-本地设置-勾选上不校验合法域名是手机连接的网络和电脑一致,也就是连同一个 wifi,或者手机打开热点,电脑连接上这个热

2021-05-30 10:03:33 9284 5

原创 阿里云免费 SSL 证书申请

阿里云免费 SSL 证书申请SSL 证书的作用是配置 http 访问转成 https 访问所必备的。步骤打开阿里云控制台 SSL 证书管理页“免费证书”标签下点击“立即购买”选择“DV单域名证书【免费试用】”,然后立即购买,购买金额为 0下单购买后,点击“证书管理”标签页下的“证书申请”填写申请信息域名名称填写需要申请的域名,填写完毕后确定然后会提示需要在域名管理解析处,添加一个解析记录打开域名解析页添加记录将上面提示的添加记录信息添加上去再在 SSL 证书申请那点

2021-05-30 10:02:18 100

原创 阿里云服务器域名解析

阿里云服务器域名解析购买云服务器和域名后,需要将域名和服务器进行解析,才能通过域名访问到服务器。步骤打开阿里云官网进入“控制台”侧边栏选择“域名”点击域名右侧的“解析”按钮点击“添加记录”记录类型:需要注意的是解析内容的记录类型只有两种,如果是云服务器或者VPS就选择A,虚拟主机就选择CNAME。主机记录:如果不懂,在这个选项后面有一个问号,可以点击查看主机记录是什么意思,简单来说就是域名的前缀。解析线路:默认即可。记录值:指的是服务器/虚拟主机的外网IP地址。TTL:

2021-05-30 10:00:33 1240

原创 Vue 插值换行

背景有段文字类似下面这样:[00:00.000] 作词 : 姚若龙\n[00:00.047] 作曲 : 光泽\n[00:00.94]空心\n[00:03.94]词:姚若龙\n[00:06.94]曲:G.Z光泽\n[00:14.27]热爱曾是唯一的信仰\n[00:18.90]相互凝望让对方捆绑\n[00:25.62]在那时候简单的好傻\n[00:32.48]却又空前绝后快乐啊\n[00:39.55]直到现实狠狠推一把\n[00:46.49]跌到浑身是伤疤\n[00:52.71]你在欲望面前投降\n[01:

2021-05-30 09:58:27 730

原创 uni.request POST 请求后台接收不到参数

uni.request POST 请求后台接收不到参数问题描述前端用 uni.reauest 发送 POST 请求,后台接收不到参数。原因分析是因为 uni.request 对传入 data 数据转换后,后台接收数据形式没有对应上。uniapp 官网对 data 的说明:默认的 content-type :也就是说,当 method 为 POST ,并且 header 为 application/json 时, data 会被序列化为 JSON 字符串,所以这个时候,后台需要用一个对应的

2021-05-30 09:57:23 8601 3

原创 Ubuntu 20 04 提示“检测到系统程序出现问题”

Ubuntu 20.04 提示“检测到系统程序出现问题”问题描述Ubuntu 20.04 经常弹出提示框提示“检测到系统程序出现问题”。原因分析通过修改配置文件关掉错误检查。解决办法sudo vi /etc/default/apportenabled=0将 enabled 的值设置成 0。...

2021-05-30 09:55:28 1259

原创 Ubuntu20.04 NAT 网络配置

Ubuntu20.04 NAT 网络配置背景用 Vmware 安装好 Ubuntu 20.04 后发现网络用不了,也不能和宿主机互相 ping 通。通过下面的步骤可以实现设置静态 IP,使 Ubuntu 能访问网络,并且能和宿主机互相 ping 通。设置步骤参考:解决ubuntu20.04虚拟机无法上网的问题_xu624735206的博客-CSDN博客编辑虚拟机设置网络适配器 → 选择 NAT 模式 → 确定Vmware → 编辑 → 虚拟网络编辑器选中 VMnet8 → 点击下

2021-05-30 09:53:46 5653 9

原创 CSS 实现图片旋转和水波纹动画效果

CSS 实现图片旋转和水波纹动画效果背景通过 CSS 动画实现图片旋转和水波纹动画效果,并做成 Vue 组件,方便以后复用。代码<template> <view class="container"> <view class="rotate-container"> <view class="dot"> <van-image :image-class="rotateActive" round width="150" heigh

2021-05-30 09:49:56 706

原创 Uniapp 导入 Vant 组件库

Uniapp 导入 Vant 组件库Vant Weapp开发文档Vant Weapp - 轻量、可靠的小程序 UI 组件库创建 wxcomponents 目录在 uniapp 项目的根目录下,创建一个新的 wxcomponents 目录下载 vant-weapp 项目$ git clone [email protected]:vant-contrib/vant-weapp.git下载下来后,把 vant-weapp 项目下的 dist 目录整个拷贝到上面新建的目录 wxcomponets 中,并

2021-05-30 09:47:30 7807 11

原创 org.apache.tomcat.jni.LibraryNotFoundError tcnative-1.dll 异常

问题描述IDEA SpringBoot 项目启动报错org.apache.tomcat.jni.LibraryNotFoundError: Can’t load library: D:\work\app\IDEA\IntelliJ IDEA 2018.2.2\IdeaProjects\street-performance\bin\tcnative-1.dll, Can’t load library: D:\work\app\IDEA\IntelliJ IDEA 2018.2.2\IdeaProject

2021-05-27 16:31:58 2537 1

原创 org.springframework.boot:type=Admin,name=SpringApplication异常

javax.management.InstanceNotFoundException: org.springframework.boot:type=Admin,name=SpringApplicationAuthor: Jimmy MaCreated time: Apr 20, 2021 1:55 PMLast edited time: Apr 23, 2021 8:51 AMTags: 工作问题问题描述IDEA 新建 SpringBoot 项目,启动时后台报错:javax.manageme

2021-05-27 16:28:32 15412 6

原创 Docker 使用网易云音乐 API

背景最近想写一个一小程序,需要搜索音乐歌曲相关信息。找到了一个叫 NeteaseCloudMusicApi 网易云音乐 API 的GitHub 开源项目。它的 GitHub 地址:Binaryify/NeteaseCloudMusicApi文档地址:网易云音乐 NodeJS 版 API安装要使用这个开源项目,需要先安装,通过它启动后,来访问网易云音乐的官方 API。这个项目提供了多种安装方式:nodeJSVercelDocker我这里选择 Docker 的安装方式。docker

2021-05-27 15:51:08 1771

原创 IDEA 自动生成 serialVersionUID

问题描述IDEA 在实体类实现 Serializable 接口时,没有提供生成 serialVersionUID 的方法,但是这个 serialVersionUID 对序列化来说是必须的。原因分析IDEA 默认不提供自动生成 serialVersionUID 的方法,需要手动安装 IDAE 插件 GenerateSerialVersionUID 。解决办法安装 GenerateSerialVersionUID 插件ctrl + alt + s 打开设置,搜索 Plugins 设置选项搜索 G

2021-05-27 15:49:21 922

原创 RabbitMQ 总结

RabbitMQ 定义RabbitMQ 是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ 是使用 Erlang 语言来编写的,并且 RabbitMQ 是基于 AMQP 协议的。AMQPAMQP(Advanced Message Queuing Protocol),高级消息队列协议。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYOTPTxd-1621417279068)(https://s3-us-west-2.ama

2021-05-27 15:23:37 279

原创 VMware 提示与 Device/Credential Guard 不兼容

问题描述启动 VMware 里的虚拟机时候提示VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation。原因分析Windows10开启Hyper-V后与VMware Workstation冲突导致无法运行和新建虚拟机。一般来说Windows10默认不会打开Hyper-V,但是安装Docker默认会打开Hyper-V。解决办法禁用 Hyper-V

2021-05-21 17:04:10 851

转载 Vue 优雅地使用 WebSocket

背景WebSocket 一般在页面加载连接成功后,就保持住这个 webSocket 对象,在其他页面使用地时候直接取这一个对象发送消息和接收消息就好,那在 Vue 中怎样优雅地全局使用 WebSocket 呢,下面总结一下。Vue.prototype对于 prototype 的用法,Vue 官方文档这样介绍添加实例 property - Vue.js利用这个 prototype ,将 websocket 定义为每个 Vue 实例的原型,这样每个 Vue 实例就能使用这个对象变量了。首先定义一

2021-05-18 19:37:23 527 1

原创 Docker 拉取镜像慢解决

问题今天使用 docker 拉取 mysql:5.7 发现很慢并且卡住了,无奈之下找解决办法,后来找到可以用阿里云容器镜像服务里的镜像加速器解决解决访问 阿里云容器镜像服务网站按照操作文档执行命令之后(我是 CentOS),重新再使用 docker pull 命令就会发现速度快了很多了...

2019-12-11 23:40:16 1869

原创 使用 face++ API 实现人脸识别,刷脸登陆和活体检测(张张嘴,眨眨眼)

简述最近需要用到人脸识别功能,于是就上网找了下人脸识别的 API,最后找到了 face++于是就想着用 face++ 的 api 来做一个刷脸登陆的 Demo实现思路注册时,前台通过浏览器调用摄像头,配合 viedo 和 canvas 标签截取人脸,转成 base64 传到后台并保存到数据库中;登陆时将登陆时的人脸和注册实时保存的人脸作比较效果先看下做出来的效果功能主要是:注册录......

2019-01-10 14:49:29 35961 24

原创 Vmware Centos7 配置静态 ip 和 使宿主机和虚拟机互相 ping 通

1. 配置静态 ipVmware 安装 Centos7 可以参考 https://blog.csdn.net/guo_ridgepole/article/details/78973763安装完 Centos7 后,开始给虚拟机配置静态 ip查看配置点击“编辑虚拟机设置”选择“网络适配器” --》选中 NAT 模式 --》点击确定点击“编辑” --》虚拟网络编辑器VMnet8 ...

2018-12-28 10:53:09 5782 3

原创 mysql保存emoji报java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8B'

最近在做即时聊天功能,需要支持 emoji 表情,测试直接发送时后台 mysql 数据库会报类似 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8B' 这样的错误。原因:由于 emoji 是 utf-16 编码,占四个字节,而 mysql 是 utf-8,正常汉字不会超过三个字节解决:将 四字节 utf-...

2018-12-13 15:14:29 410

原创 docker mysql容器安装vim

由于 linux 下 mysql 区分大小写,所以需要修改 mysql 配置文件 在 [mysqld] 下增加一项属性 lower_case_table_names = 1 ,然后重启 mysql 服务即可修改的时候发现 mysql容器里没有 编辑工具,所以安装 vim进入 mysql 容器主机执行docker exec -it &lt;mysql容器id&gt; bash配...

2018-09-16 15:47:02 6658 2

原创 tomcat默认限制post请求参数大小

今天遇到一个前台ajax发送请求,其中一个参数很长,结果发送请求后后台报错而且接收不到传过来的参数。后来把参数内容去掉一些就能正常发送请求。原来 tomcat 默认限制了 post 请求参数大小为 2m,只要修改下 tomcat 里的 server.xml 文件 Connector 的 maxPostSize 属性值为0即可:&lt;Connector URIEncoding="utf-8" co...

2018-02-09 14:56:16 5467

转载 java代码中获取classpath路径

原贴:http://blog.csdn.net/magi1201/article/details/18731581java web工程中,有时候需要自己手动的去读取classpath下面的配置文件,这里总结一点读取classpath路径的方法,分享一下。方法一:[html] view plain copy

2017-11-02 11:32:01 792

转载 sqlplus 登录oracle 报ERROR: ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit

1 先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:cmd的命令行窗口下,输入lsnrctl start,回车即启动监听。2 查看oracle的sid叫什么,比如创建数据库的时候,实例名叫“abc”,那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=abc3 再输入sqlplus  /nolog,回车

2017-09-04 11:02:31 2457

转载 Git的使用——解决中文乱码

原贴:http://blog.csdn.net/tianzhaoai/article/details/46618535 Git Bush安装之后,如果什么都不设置的话,windows下ls回车之后一般情况下中文都会乱码的。在这就先解决一下这个问题打开git Bash 进入目录:$ cd /etc 1. 编辑 gitconfig 文件:$ vi gitconfig      ...

2017-09-01 09:35:56 4099

原创 前台发送 ajax 请求到后台传递数组参数

前台发送 ajax 请求到后台,发现直接传递数组,后台是接收不到的,需要 ajax 加上一个 traditional 属性var arr = ["a","b","c"];$.ajax({ url:"save", type:"post", dataType:"json", traditional: true,//加上这个属性,后台用 String[]

2017-08-04 14:59:38 4865 4

转载 ORA-01552 :非系统表空间 'xxxx'不能使用系统回退段

ORA-01552 :非系统表空间‘XXXX’不能使用系统回退段故障分析:UNDO表空间数据文件受损,导致执行更新操作失败。故障解决:创建的新的undo表空间,置为 默认,AUTO,正常打开数据库。Microsoft Windows [版本 5.2.3790](C) 版权所有 1985-2003 Microsoft Corp.C:\Doc

2017-06-21 17:18:29 944

原创 持续集成工具集之六 参考

Jenkins入门系列jenkins 构建触发器 区别使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)自动化发布项目之jenkins + git + maven 自动化部署一个web项目

2017-04-20 16:52:12 284

原创 持续集成工具集之五 使用Email Extension Plugin插件

简述Jenkins默认提供了一个邮件通知,能在构建失败、构建不稳定等状态后发送邮件。但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容、无法定义发送邮件的格式、无法定义灵活的邮件接收配置等等。在这样的情况下,我们找到了Jenkins Email Extension Plugin。该插件能允许你自定义邮件通知的方方面面,比如在发送邮件时你可以自定义发送给谁,发送具体什么内容等等。配置它主要

2017-04-20 16:48:51 2502

原创 持续集成工具集之四 Jenkins+Maven+Git+Tomcat 项目构建和自动部署

上面安装和配置好Jenkins之后,就可以开始配置构建项目了新建因为需要构建的项目是maven项目,所以这里填好项目的名称之后选择“构建一个maven项目”,然后点左下的ok如果这里没有这个构建maven项目的选项的话,安装一个Maven Integration plugin的插件即可然后就会转到构建项目的配置页面需要配置的地方:源码管理因为我们的项目是由git来管理的,所以源码管理这里选择gir,

2017-04-20 16:47:25 792

原创 持续集成工具集之三 Jenkins配置

Jenkins安装完之后,需要做一些配置点击 系统管理–>Global Tool Configuration这篇文档主要测试实现Jenkins+Maven+Git+Tomcat实现自动部署,所以这里需要做一些配置,告诉Jenkins Maven这些工具是在哪个目录下好被调用Maven ConfigurationJDKMaven这里我就只做了上面的这些配置,其他的基本保持默认然后还需要设置下 系统管理

2017-04-20 16:45:41 416

原创 持续集成工具集之二 Jenkins安装

注:本文档是在windows下安装和配置先在Jenkins官网上下载一个Jenkis的windows installer下载解压后是一个msi文件,然后双击执行,按照提示安装好后,会在安装指定的地方生成一个Jenkins目录同时在这个目录下面我们可以看到有一个jenkins.war的文件这个文件就是安装jenkins的关键并且会在服务里面多出一个Jenkins的服务下面就是真正安装Jenkins了安

2017-04-20 16:44:46 530

原创 持续集成工具集之一 Jenkins简介

Jenkins 是一个可扩展的持续集成引擎。主要用于:持续、自动地构建/测试软件项目。监控一些定时执行的任务。Jenkins拥有的特性包括:易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。易于配置-所有配置都是通过其提供的web界面实现。集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。生成JUnit/TestNG测试报

2017-04-20 16:43:25 4675

原创 WEB消息提醒实现之二 实现方式-websocket实现方式

websocket实现方式原理websocket的原理主要是,利用websocket提供的api,客户端只需要向服务器发起一次连接即可,然后服务器就可以主动地源源不断地向客户端发送数据,只要客户端不关闭浏览器,那么这个连接就会一直保持,从而达到真正意义上的长连接和服务器推。优点:只需要建立一次连接,服务器就可以源源不断地推送数据,资源消耗少,持久连接 缺点:需要浏览器支持websocket技术we

2017-04-20 16:37:24 20789 4

原创 WEB消息提醒实现之二 实现方式-基于Iframe的流方式

基于Iframe的流方式原理基于Iframe的流方式的原理主要是,在页面隐藏一个iframe,前台设定定时器修改iframe的src属性设为对一个长连接的请求,服务器返回对页面函数的调用,函数的参数为服务器处理的数据。Iframe的流方式的过程如下图:上节提到的 AJAX 方案是在 JavaScript 里处理 XMLHttpRequest 从服务器取回的数据,然后 Javascript 可以很方便

2017-04-20 15:17:56 3149

原创 WEB消息提醒实现之二 实现方式-Jquery Ajax长轮询

Jquery Ajax长轮询原理Jquery Ajax长轮询的原理主要是,前台客户端发送ajax请求到服务器,服务器接收到请求之后会保持住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。 优点:在无消息的情况下不会频繁的请求,耗费资源小。 缺点:服务器保持住连接会消耗资源。jquery ajax长轮询的过程如下图:可以看到,长轮询的关闭连接有两种情况:

2017-04-20 15:17:14 14051 8

原创 WEB消息提醒实现之二 实现方式-Jquery Ajax轮询

Jquery Ajax轮询原理普通的jquery ajax轮询的原理主要是,客户端通过定时器定时发送ajax请求到服务器,服务器获取数据后马上响应并关闭连接。普通的jquuery ajax轮询过程如下图:可以看到,每次请求都会到服务器中获取数据回来(不管数据有没有变化),然后关闭连接,再进行下一次的请求,如此反复。优点:后端程序编写比较容易。 缺点:请求中有大半是无用,浪费带宽和服务器资源。 实例要

2017-04-20 15:16:27 16400 2

空空如也

空空如也

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

TA关注的人

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