首页
归档
友链
关于
Search
1
网易云音乐黑胶会员月月免费赠送
2,410 阅读
2
十年之约RSS聚合订阅服务上线
2,255 阅读
3
rsyslogd内存占用过高解决方案
1,919 阅读
4
工资发放日的区别
1,900 阅读
5
Nginx反代MinIO后,上传文件签名异常
1,891 阅读
零碎
标本
码海
工具
其他
登录
Search
标签搜索
北京
摄影
Java
旅行
生活
学习笔记
教程
Linux
服务器
软件
SpringBoot
Windows
日记
服务
Spring
系统
福利
数据库
SQL
Oracle
萧瑟
累计撰写
175
篇文章
累计收到
1,076
条评论
首页
栏目
零碎
标本
码海
工具
其他
页面
归档
友链
关于
搜索到
175
篇与
萧瑟
的结果
2022-03-31
Oracle数据库异常ORA-00909:参数个数无效
今天在工作过程中遇到一个问题,模糊查询后台拼接的时候报错,错误异常为:ORA-00909:参数个数无效,简单分析了一下代码,问题可能出现在模糊查询拼凑SQL的时候。而常规在MySql中无异常,Oracle中会出现此问题。问题代码DATA_TABLE_NAME LIKE CONCAT('%',#{tableName},'%')解决示例DATA_TABLE_NAME LIKE CONCAT(CONCAT('%',#{tableName}),'%')问题原因在Oracle中CONCAT函数每次只能进行两个字符串的拼接,两个以上就会报错.
2022年03月31日
362 阅读
1 评论
2022-03-29
使用Docker搭建aria2+AriaNg,打造自己的离线下载服务器
Docker安装aria2拉取镜像docker pull p3terx/aria2-pro运行aria2docker run -d \ --name aria2 \ --restart unless-stopped \ --log-opt max-size=1m \ -e PUID=$UID \ -e PGID=$GID \ -e UMASK_SET=022 \ -e RPC_SECRET=prc_password \ -e RPC_PORT=6800 \ -e LISTEN_PORT=6888 \ -p 12905:6800 \ -p 12900:6888 \ -p 12900:6888/udp \ -v /root/aria2/config:/config \ -v /root/aria2/downloads:/downloads \ p3terx/aria2-pro用户和组设定:PUID=$UID、PGID=$GID这2个定义用户和用户组的环境变量,限定了aria2以什么用户和用户组运行,不指定则默认使用nobady用户和nogroup用户组,但在使用FileRun网盘时,会因权限问题无法删除或改名aria2下载好的文件,所以PUID和GUID要指定为和WEB环境的运行用户和用户组一致,比如WEB环境运行的用户及对应的用户组都是WWW,对应的uid和gid都是1001,那就要指定PUID=1001、PGID=1001,这样在FileRun网盘中就可以正常的进行删除和修改操作了;几个环境变量:-e UMASK_SET=022 ,设置umask,默认值022;-e RPC_SECRET=,设置RPC密钥,用于AriaNg与Aria2的通讯验证使用;-e RPC_PORT=6800,设置PRC通讯端口(与宿主主机的端口映射一致);-e LISTEN_PORT=6888,BT 监听端口(TCP)、DHT 监听端口(UDP)设置,即 Aria2 配置中listen-port与dht-listen-port选项定义的端口。如果没有设置,配置文件中的默认值为6888。容器目录挂载,将/downloads挂载到宿主主机的/root/aria2/downloads:/downloads目录,即FileRun的数据目录中,方便下载完成直接在网盘中查看;配置文件挂载到指定的宿主主机目录/root/aria2/config中,宿主主机的目录根据实际情况自行修改;3个端口映射:-p 12905:6800,为RPC 通讯端口映射;-p 12900:6888,为BT 监听端口(TCP)映射,即 Aria2 配置中listen-port选项定义的端口;-p 12900:6888/udp,为DHT 监听端口(UDP)映射,即 Aria2 配置中dht-listen-port选项定义的端口。Docker安装AriaNg拉取镜像docker pull p3terx/ariang启动AriaNgdocker run -d \ --name ariang \ --log-opt max-size=1m \ --restart unless-stopped \ -p 12910:6880 \ p3terx/ariang访问 http://你的服务器ip:12910/ AriaNg的web管理界面点击“AriaNg 设置”菜单,再点击“全局”右边的标签配置RPC,上图圈中的配置内容RPC别名随意填就好RPC地址填写你服务器的域名或IP,后面的端口号就是前面启动的aria2的RPC通讯端口RPC协议选默认的HTTPRPC Http请求方法使用默认的POSTRPC密钥填写前面启动的aria2的RPC密钥配置完刷新一下页面,如果状态显示“已连接”就ok了服务已经搭建完成,至于怎么用相信大家应该都会吧。
2022年03月29日
1,230 阅读
7 评论
2022-03-21
VScode+PicGo打造高效写作图床工具
VScode 是微软推出的一款轻量级文本编辑器,常年位居「最受欢迎的编辑器」前三甲。使用人数众多、扩展丰富、社区活跃、生态良好。不少人将 VScode 作为「All in One」生产力和效率工具,不光用来写程序,它同时还具备写作(Markdown)、做计划(看板)、画流程图、查阅 PDF 或 Office 文件等不同功能,甚至还有插件可以用来看知乎、小霸王游戏机、查股票等「高级操作」。自从 Typora 收费后,我就开始慢慢抛弃它,换上了 VScode 了,图床还是使用 github 来托管,也大大节省了自建图床的需求。VScode 有 PicGo 插件,需要在扩展市场先安装再配置。插件安装完成之后,进入设置界面,搜索 picgo,默认使用 SMMS 图床,如果有其他不同需求,可以更改。比如,下面是我配置的腾讯云图床示例,与 PicGo 界面几乎别无二致。安装完成之后,即可使用快捷键 Control + Shift + U 完成上传。看起来这与不配置插件并无区别,同样是截图 -> 快捷键上传 -> 粘贴,流程一步没少,没区别啊。实际上,这款插件主要是给那些没有安装 PicGo 客户端。却又使用 VScode 写 Markdown 文章的读者有用,通过插件,可以实现与客户端相同的功能。
2022年03月21日
221 阅读
4 评论
2022-03-18
武汉东湖樱花春游小记
多图警告,武汉东湖樱花春游小记,生活需要远方和散心。当然及时行乐也很重要。
2022年03月18日
140 阅读
13 评论
2022-03-15
OpenJDK 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal UNKNOWN to handler- the VM may need to be forcibly terminated
这是提醒你 CMS 垃圾收集器 在 JDK 9 就开始被标注为 @Deprecated,JDK 11 支持的垃圾回收器为 G1 和 ZGC,而 ZGC 在 JDK 11 还处于实验阶段。参考资料修改 config/jvm.options 配置文件,将:-XX:+UseConcMarkSweepGC 改为:XX:+UseG1GC ## GC configuration # 注释CMS #-XX:+UseConcMarkSweepGC # 使用G1 -XX:+UseG1GC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly
2022年03月15日
547 阅读
2 评论
2022-03-13
2022年03月碎碎念
好久没更新博文了,之前每次想坚持一下日更,但是都因为工作而耽误了,总结就是说最近实在太忙了。刚看了一下,这篇文章刚好一百篇,感觉每次文章只要过百后,就没动力继续写了,前段时间还看了一下知名大佬蓝点网发的一篇文章,大概说的就是自己的一个导航站,其中一些网站两年时间从兴起到倒闭。个人站长越来越不好做了,从最初的兴趣到不可控因素。不知道我还能坚持做站多久。最后附上出去散心拍的一些照片和对自己勉励的一句话。生活尽管有诸多不如意的地方,但是还是要继续生活下去。
2022年03月13日
193 阅读
9 评论
2022-03-01
[转载]SpringBoot项目优化和Jvm调优
项目调优作为一名工程师,项目调优这事,是必须得熟练掌握的事情。在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行。在这边有一篇比较好的文章,推荐给大家! SpringBoot项目配置Tomcat和JVM参数修改配置文件关于修改配置文件application.properties SpringBoot项目详细的配置文件修改文档 其中比较重要的有:server.tomcat.max-connections=0 # Maximum number of connections that the server accepts and processes at any given time. server.tomcat.max-http-header-size=0 # Maximum size, in bytes, of the HTTP message header. server.tomcat.max-http-post-size=0 # Maximum size, in bytes, of the HTTP post content. server.tomcat.max-threads=0 # Maximum number of worker threads. server.tomcat.min-spare-threads=0 # Minimum number of worker threads.Jvm调优关于Jvm调优Oracle官网有一份指导说明: Oracle官网对Jvm调优的说明 有兴趣大家可以去看看。Jvm调优实战未设置JVM参数的情况我现在有一个项目,默认情况下,没有设置任何Jvm参数。下面我来启动看一下。看一下堆栈分配:很明显默认的最大堆内存分配了8个G。很明显的不合理嘛。下面我们来设置下Jvm参数例如要配置JVM这么一大段参数:-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC方式一:如果你用的是IDEA等开发工具,来启动运行项目,那么要调试JDK就方便太多了。只需要将参数值设置到VM options中即可。设置成功,我的GC日志和堆栈分配都已经OK了。GC日志:堆栈分配:方式二:适用于在项目部署后,在启动的时候,采用脚本或者命令行运行的时候设置。先在项目路径下,给项目打包:清理就项目mvn clean打包新项目: mvn package -Dmaven.test.skip=true打包完成后进入可运行Jar包的路径下:执行启动设置Jvm参数的操作。$ java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC newframe-1.0.0.jar这个时候,你再看监控,你就会发现,已经是Ok的了。堆栈都是按照启动时候,设置的Jvm参数启动的。关于这些设置的JVM参数是什么意思,请参考第二步中的oracle官方给出的调优文档。我在这边简单说一下:-XX:MetaspaceSize=128m (元空间默认大小)-XX:MaxMetaspaceSize=128m (元空间最大大小)-Xms1024m (堆最大大小)-Xmx1024m (堆默认大小)-Xmn256m (新生代大小)-Xss256k (棧最大深度大小)-XX:SurvivorRatio=8 (新生代分区比例 8:2)-XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,这里使用CMS收集器)-XX:+PrintGCDetails (打印详细的GC日志)知识点:JDK8之后把-XX:PermSize 和 -XX:MaxPermGen移除了,取而代之的是-XX:MetaspaceSize=128m (元空间默认大小)-XX:MaxMetaspaceSize=128m (元空间最大大小)JDK 8开始把类的元数据放到本地化的堆内存(native heap)中,这一块区域就叫Metaspace,中文名叫元空间。使用本地化的内存有什么好处呢?最直接的表现就是java.lang.OutOfMemoryError: PermGen 空间问题将不复存在,因为默认的类的元数据分配只受本地内存大小的限制,也就是说本地内存剩余多少,理论上Metaspace就可以有多大(貌似容量还与操作系统的虚拟内存有关?这里不太清楚),这解决了空间不足的问题。不过,让Metaspace变得无限大显然是不现实的,因此我们也要限制Metaspace的大小:使用-XX:MaxMetaspaceSize参数来指定Metaspace区域的大小。JVM默认在运行时根据需要动态地设置MaxMetaspaceSize的大小。好啦,祝大家学习和工作顺利啦!文章原文: SpringBoot项目优化和Jvm调优
2022年03月01日
240 阅读
2 评论
2022-02-05
JAVA中处理空字符串ASCII 160 的char
最近项目上遇到一个去除空格的问题,使用用正则表达\s死活replace不掉,trim也没辙,空格那个char转成int一看,是160。查了一下相关资料,要用以下方法去除即可。String.replaceAll("\\u00A0","")顺便再记录一下去除非法字符的方法。String.replaceAll("[:\\\\/*\"?|<>']", "")
2022年02月05日
263 阅读
0 评论
2022-01-11
20220111碎碎念
2022年01月11日碎碎念,吐槽生活百态,品人间苦味。
2022年01月11日
549 阅读
8 评论
2022-01-09
Apple M1 使用nvm管理并安装Nodejs
本文使用 nvm 来管理和安装 node.js,研究和实验了半天,环境终于配置好了。安装nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash如果GitHub国内网络问题,可能需要配置一下本地host或者代理。## 方法一:修改host文件 sudo vim /etc/hosts ## 键盘输入 i 进入编辑 199.232.68.133 raw.githubusercontent.com ## 修改hosts文件后,按 esc 键退出,再按shift+:键,再输入w和q,保存退出 ## 方法二:终端内设置代理 ## 好处是简单直接,并且影响面很小(只对当前终端有效) export http_proxy=http://proxyAddress:port出现以下界面表示安装成功配置环境变量注:~/.bash_profile, ~/.zshrc, ~/.profile,~/.bashrc部分人没配置过环境变量可能这几个文件并不存在,建议提前新建一下。后期方便使用和配置其他环境变量。修改~/.bash_profile文件,最后添加上export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"执行命令:source ~/.bash_profile source ~/.zshrc配置完成后,输入 nvm --version可以检测当前安装版本,我的是0.33.6.安装Node.js## 获取Node.js所以版本列表 nvm ls-remote ## 安装最新稳定版 node ## 这里最新稳定版是v17.3.0 ## 因为版本太高导致项目无法启动, ## 安装低版本v14.18.2和v14.15.0,会出现错误, ## clang: error: no such file or directory: 'CXX=c++' ## 查找半天原因也无法解决,后来一个版本的试,发现v16.13.1可以安装,且项目能正常允许 ## 估计是arm版本适配问题吧。 nvm install stable ## 安装指定版本node.js nvm install 版本号 ## 切换node版本 nvm use v16.13.1 ## 设置默认 nvm alias default v16.13.1注意事项也在上面执行脚本内说明了。参考网址Mac os 安装node.js及环境变量的配置过程(Lifeispink - 博客园)Mac安装多个版本node - 简书Mac 中安装 nvm: 切换Node 不同版本 - 广东靓仔-啊锋 - 博客园Mac环境(m1适配)下node安装与卸载方法 - 简书Macbook M1 安装node-CSDN博客MAC下终端走代理的几种方法_Make-CSDN博客
2022年01月09日
1,482 阅读
0 评论
1
...
7
8
9
...
18