- 博客(11)
- 问答 (1)
- 收藏
- 关注
原创 io模型( 看完这篇你就懂)
当内核将数据准备好后就会返回,并通知用户线程进行读取操作,此时内核将数据拷贝到用户空间并返回所有的io请求会注册到select上。用户线程调用select后进行系统调用(内核会监视所有select负责的socket),此时用户线程被阻塞。系统内核没准备好数据(比如客户端向服务器发送数据此时服务器io设备还没有写入完)用户线程一直被阻塞。这个时候线程不是阻塞的还可以去做其它的事准备好之后用户线程还需要自己拷贝到用户空间。系统内核没准备好数据直接返回error用户线程继续轮询直到准备好。............
2022-07-21 10:14:25
569
原创 使用jenkins自动编译部署springboot项目(超详细)
公司一直使用手动编译项目,然后将jar包手动上传到服务器上的形式去部署上线 由于最近服务增多 且环境也不少 每个环境都打包上传部署未免太麻烦了 于是想起了jenkins这个优秀的自动化部署工具接下来将自己的一些使用经验分享给大家首先安装jenkins就不说了 大家可以去参考其它安装博客,安装jenkins之前需要安装maven git jdk等 才能正常的使用jenkins配置jenkins工具,包括 maven git jdk等maven这里配置你的setting文件jdk这里配置你的j
2021-10-12 10:13:56
1369
原创 linux mysql忘记root密码修改步骤
首先找到my.conf配置文件,一般在/etc/my.conf ,然后添加一行skip-grant-tables 注意 应该添加到[mysqld]下然后运行 service mysqld restart重启mysql然后运行mysql命令进入mysql命令行然后运行UPDATE mysql.user SET Password='PASSWORD'where USER='root';如果版本高于5.7则运行update mysql.user set authenticat...
2021-10-11 19:32:13
109
原创 关于在启动服务一直卡在com.alibaba.druid.pool.DruidDataSource |{dataSource-1} inited这里
今天调试程序的时候本来好好的,后面重启服务时 一直卡在com.alibaba.druid.pool.DruidDataSource |{dataSource-1} inited这条日志后面,如下图一番各种调试之后 重启后还是卡在这里最后发现自己在mapper接口的某个方法打了个断点 真操蛋把断点取消后便成功启动啦...
2021-06-29 15:56:53
4430
5
原创 redis详解 集群,持久化机制,事务与淘汰策略
redis是个高性能缓存数据库,高性能的原因是直接对内存进行操作,redis是单线程的(所以不会造成频繁的切换线程消耗cpu资源),采用了多路复用技术(吞吐量非常高多个网络连接复用同个线程)redis从2.6版本开始内嵌了lua,可以在redis中执行lua脚本,如此便可以将多个请求一次发送,减少网络开销,另外redis会将lua脚本一次执行完成(原子操作 不可分割)redis内置lua操作使用eval(执行脚本) script load(缓存脚本 并返回脚本内容的sha1校验和) evalsh
2021-01-13 14:29:28
513
1
原创 关于跨域
什么是跨域跨域指的是协议 域名 端口任一不同则为跨域,由于浏览器同源策略限制,浏览器会阻止一个域的js脚本向另一个域的内容进行交互(服务之间并不存在跨域)跨域解决方法 :1 nginx转发(保证协议 域名 端口相同)同源设置(如图将node.js与tomcat都交由nginx代理转发,那么浏览器便总是向nginx的端口进行请求便不存在跨域)...
2021-01-06 16:45:21
249
原创 docker环境下安装Elasticsearch与客户端kibana
es安装第一步首先下载docker es镜像(该教程采用的为7.2.0版本)docker pullelasticsearch:7.7.0第二步 启动es,并设置环境变量设置es内存(因为是在云服务器上安装的,内存只有2g所以只给了256m,但是也绰绰有余了,建议不要少于256m可以会挂机!土豪请随意增大)docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=sing.
2021-01-06 16:33:34
151
原创 #{}与${}的区别,以及模糊查询时该如何使用(超详细)
最近发现对${}与#{}的区别有些模糊,所以重新复习一遍并记下笔记mybatis#{}与${}的区别#{}是使用预编译(底层使用preparedStatement调用set方法来赋值),会在参数前后加单引号'而${}是使用拼接的方式将${}替换为变量所以mybatis在进行like查询时 "%%"只能使用"%${}%",最后会拼接成"%变量%"如:select * from t_tra...
2020-02-11 22:14:38
2541
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人