<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[PerryHsu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lang_Perry</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lang_Perry]]></copyright><item><title><![CDATA[jar包的快速修改和重新发布]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/160166891</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/160166891</guid><author>Lang_Perry</author><pubDate>Wed, 15 Apr 2026 16:55:00 +0800</pubDate><description><![CDATA[这里针对的是java打包后的jar包,其他不确定. jar程序在发布后发现有小bug,但是程序整体的重新打包和发布,上传,有时候比较耗时. 这个场景就很好用.]]></description><category></category></item><item><title><![CDATA[linux系统多个mysql时的部署和服务注册]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/136363522</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/136363522</guid><author>Lang_Perry</author><pubDate>Thu, 29 Feb 2024 10:49:34 +0800</pubDate><description><![CDATA[在一次实际部署过程中,碰到了服务器已经部署了一个mysql服务. 再部署新的mysql时,特别注意不能与另一个mysql互相影响.记录一次部署中存在的问题和解决方法.因为已存在mysql,新的mysql部署采用的是mysql.tar.gz解压手动安装,避免.rpm或者.deb等自动安装方式覆盖了已有mysql的配置或者数据.]]></description><category></category></item><item><title><![CDATA[maven模块化开发部署]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/135479159</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/135479159</guid><author>Lang_Perry</author><pubDate>Tue, 09 Jan 2024 14:35:02 +0800</pubDate><description><![CDATA[之前一直维护迭代的产品,因为有很多客户使用.有些用户有定制化需求,需要添加新的模块功能.因此需要平台主体功能迭代的同时,非主体功能和定制化功能插件化.]]></description><category></category></item><item><title><![CDATA[python基础语法总结]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/131677960</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/131677960</guid><author>Lang_Perry</author><pubDate>Wed, 12 Jul 2023 11:59:24 +0800</pubDate><description><![CDATA[python一个文件定义多个类,比较轻java一个文件一般定义一个类,比较重类的继承语法不通,方法定义只需要 def 方法名(传参),不需要定义返回类型。]]></description><category></category></item><item><title><![CDATA[python之简单网络爬虫抓取Top250案例]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/130902777</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/130902777</guid><author>Lang_Perry</author><pubDate>Tue, 30 May 2023 16:31:01 +0800</pubDate><description><![CDATA[这次简单编写抓取页面案例,可以看出python的优势在于语法简洁,且拥有特定场景相对成熟的库可以使用,便于快速实现功能,下面贴代码main.py和结构。]]></description><category></category></item><item><title><![CDATA[数据库mongodb效率测试]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/121378875</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/121378875</guid><author>Lang_Perry</author><pubDate>Wed, 17 Nov 2021 17:30:06 +0800</pubDate><description><![CDATA[序言
工作中,遇到单机高并发,大数据量的数据存储场景,mysql显得有些吃力,mongodb具有高并发(1k稳定),大数据量存储的特点.想要引入,故针对mongo的基础CRUD性能,做测试验证.
这里针对大数据量的插入和查询,分别测试mongodb和mysql的效率(

插入/查询
多次测试,取平均值,得到测试耗时




测试类型
次数
mongodb
mysql
结果




插入
1w
500ms
1100ms
插入效率,mongodb快一倍


插入
10w
1800ms
3700ms
插入效率,m]]></description><category></category></item><item><title><![CDATA[CSS常用组合选择器]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/115178659</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/115178659</guid><author>Lang_Perry</author><pubDate>Wed, 24 Mar 2021 15:38:31 +0800</pubDate><description><![CDATA[https://www.runoob.com/css/css-combinators.html
]]></description><category></category></item><item><title><![CDATA[数据库单表和分表后效率对比,Merge引擎,MyISAM及Innodb效率的看法]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/114363167</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/114363167</guid><author>Lang_Perry</author><pubDate>Thu, 04 Mar 2021 11:27:12 +0800</pubDate><description><![CDATA[公司项目有用到分表,考虑到分表对于查询效率的影响,进行了测试,测试过程不列举,这里记录下自己测试的结果,以及自对单表和分表,三种引擎的看法.

这个是基于我自己的电脑测试结果,仅代表自己的看法.后续还会更新自己看法


一.单表和分表查询效率对比

1.数据量及查询时长

数据量
			单表
			多表
		10w
			0.24
			0.31
		20w
			0.47
			0.63
		30w
			0.74
			0.98
		60w
			1.5
			2
		150w
			4.2
			9.]]></description><category></category></item><item><title><![CDATA[jdk自带VisualVM无法监控到注册成服务的tomcat]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/113540304</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/113540304</guid><author>Lang_Perry</author><pubDate>Tue, 02 Feb 2021 10:20:59 +0800</pubDate><description><![CDATA[在windows 服务器中,遇到tomcat注册了服务,启动tomcat后无法通过VisualVM来监控到tomcat,这里提出解决方案


1.问题原因

VisiualVM来监控tomcat进程是通过监控tomcat下运行的catalina.bat来进行的,普通双击方式启动tomcat会运行这个文件,所以能监控到.

但是注册成服务后,通过tomcat.exe来运行,故监控不到

2.解决方案

tomcat注册成服务后,在注册编辑器中,获取到tomcat的配置,启动Options中加入JMX配置,..]]></description><category></category></item><item><title><![CDATA[自签SSL证书生成]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/112601461</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/112601461</guid><author>Lang_Perry</author><pubDate>Thu, 14 Jan 2021 10:30:21 +0800</pubDate><description><![CDATA[生成私钥命令：openssl genrsa -out ca/ca-key.pem 1024
命令：openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem
生成CA自签证书
命令：openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650（10年有效期）
用 java 自带的 keytool工具生成密钥（密码office@whyc.com]]></description><category></category></item><item><title><![CDATA[linux下tomcat 重启脚本,杀死进程]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/112571368</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/112571368</guid><author>Lang_Perry</author><pubDate>Wed, 13 Jan 2021 16:14:06 +0800</pubDate><description><![CDATA[在linux系统中,tomcat的shutdown.sh往往无法真正杀死tomcat进程,会进程残留,导致后续tomcat启动失败.故制作简单shell脚本重启tomcat.


1.脚本

置于tomcat/bin/下,新建文件命名为restart.sh,内容如下


#!/bin/bash
pids=`ps -ef|grep tomcat|grep -v grep|awk '{print $2}'`
echo "结束tomcat进程:$pids启动"
for id in $pids
do
  kill.]]></description><category></category></item><item><title><![CDATA[ftp文件远程传输雏形]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/109854637</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/109854637</guid><author>Lang_Perry</author><pubDate>Fri, 20 Nov 2020 16:54:36 +0800</pubDate><description><![CDATA[bat文件


rem 设置数据库参数
@set db_back_file="F:\back"

rem 设置ftp服务器登录参数
@set ftp_server=192.xxx.xx.xxx
@set ftp_user=用户名
@set ftp_password=密码

rem 通过FTP上传到远处服务器
@echo off
echo open %ftp_server%&gt;ftp.txt
echo %ftp_user%&gt;&gt;ftp.txt
echo %ftp_password%&gt;&gt]]></description><category></category></item><item><title><![CDATA[[数据库]mysql 死锁问题记录]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/108487164</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/108487164</guid><author>Lang_Perry</author><pubDate>Wed, 09 Sep 2020 12:55:40 +0800</pubDate><description><![CDATA[一.概述

工作中遇到了deadlock found when trying to get lock;try restarting transaction; 数据库发生死锁了.

数据库的事务隔离级别是RR(Repeatable Read)

二.分析工具

1)通过命令 show engine innodb status,将status中的记录另存为txt文件,查看死锁语句和原因



2)通过命令 show variables like "innodb_print_all_deadlocks",查询是否]]></description><category></category></item><item><title><![CDATA[[数据库]C3P0连接池中的连接和原生mysql连接不一致问题记录]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/108274179</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/108274179</guid><author>Lang_Perry</author><pubDate>Fri, 28 Aug 2020 10:31:16 +0800</pubDate><description><![CDATA[一.概述

工作中遇到了问题,C3P0连接池中连接达到500个,导致再从连接池取连接失败;但是查看mysql的连接数,只有200个;

按我的理解,连接池内维护的就是mysql的连接,要用时直接取,不需要再从数据库创建.

问题最终定位到代码中连接用完没有close,未释放到连接池;

二.疑惑

连接池中的连接没有close返回连接池,达到500个,为什么mysql查看到连接数是200个,不应该也是500个吗?

三.可能的原因

1.c3p0缺少健康检查机制,连接池中连接断开连接失效了但是还在连接池中;]]></description><category></category></item><item><title><![CDATA[mysql-数据库引擎Memory的使用场景分析]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/108117428</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/108117428</guid><author>Lang_Perry</author><pubDate>Thu, 20 Aug 2020 10:12:09 +0800</pubDate><description><![CDATA[一.结论

根据我的测试证明,如果数据的量级在万以下,无论是Memory引擎还是Innodb引擎,对于数据库的读写,执行时间相差不大,可以忽略;

如果数据量在万级以上,则Memory引擎的效率比Innodb高很多;

二.限制

但是Memory引擎有限制:

1.数据存储于Mysql内存中,mysql重启数据全部丢失.

2.并发情况下,Memory引擎不一定比Innodb表现更好.

三.拓展

看到好像Memory有数据备份方案,后续如果考虑这个引擎且需要备份再更新.
...]]></description><category></category></item><item><title><![CDATA[vmware虚拟机三种配置方式,与本机及网络通信详解]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/105963746</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/105963746</guid><author>Lang_Perry</author><pubDate>Fri, 08 May 2020 12:37:39 +0800</pubDate><description><![CDATA[1.vmware菜单:编辑-&gt;虚拟网络编辑器设置


设置vmware识别到的本机VMnet8(虚拟网络8)-&gt;NAT模式


DHCP查看,VMnet8的 IP允许范围,我这里手动设置为192.168.133.0~254



通过cmd查看本机的VMnet8对应的ip (本机是192.168.133.2)

解释:本机中的VMnet8相当于是本机与虚拟机网络连接的桥梁,虚拟机网络设...]]></description><category></category></item><item><title><![CDATA[[加密]账号登录密码传输加密]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/102497193</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/102497193</guid><author>Lang_Perry</author><pubDate>Fri, 11 Oct 2019 11:12:52 +0800</pubDate><description><![CDATA[在实际使用过程中，用户登录时密码如果明文，存在被黑客窃取的高危风险。通过https传输加密和密码传输加密 这两种方式，来防止账号登录过程的信息泄露风险。

https加密是针对网站网址的，可以参考我的https升级的文章。

密码传输加密，我采取AES对称加密，页面Js里面加密，后台接受密文，再解密还原密码。更严谨的是再加盐，这里不做深究。


1. 前端JS


&lt;script typ...]]></description><category></category></item><item><title><![CDATA[网站从Http升级为Https真实案例,SSL免费证书加密]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/100535821</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/100535821</guid><author>Lang_Perry</author><pubDate>Wed, 04 Sep 2019 11:31:20 +0800</pubDate><description><![CDATA[从安全角度考虑,公司需要将一个网站从http普通模式升级为https模式,阿里云提供了免费的SSL证书,故这里根据阿里云的SSL证书来做升级.


1.免费证书申请,配置域名

1)SSL 0元购买



2)填写信息,SSL证书与域名绑定






填写域名及个人信息,完成证书申请,会得到key码.需要登录域名购买平台配置txt类型,将key码输入,加入到DNS解析,解析生效后,验证成功,...]]></description><category></category></item><item><title><![CDATA[Socket实现两个服务之间通信以及SocketChannel(1.4升级版Socket)]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/100159916</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/100159916</guid><author>Lang_Perry</author><pubDate>Fri, 30 Aug 2019 17:51:28 +0800</pubDate><description><![CDATA[Socket可以实现两个服务之间通信,数据传输.

SocketChannel的作用和Socekt一样,在Java1.4版本引入. 相当于是升级版Socekt,性能比Socket更好.


1.Socket与SocketChannel对比

Socket:服务端通过accept()为每个客户端Socket请求分配一个线程,而每个线程都有可能长时间阻塞,过多的线程会影响服务器的性能.ServerS...]]></description><category></category></item><item><title><![CDATA[IO流整理及案例(文件复制),NIO的概念]]></title><link>https://blog.youkuaiyun.com/Lang_Perry/article/details/100120971</link><guid>https://blog.youkuaiyun.com/Lang_Perry/article/details/100120971</guid><author>Lang_Perry</author><pubDate>Wed, 28 Aug 2019 16:41:45 +0800</pubDate><description><![CDATA[目录

1.IO流

1)数据传输类型分类

2)数据流向分类

3)按功能作用分类

2.文件复制案例(IO流与NIO管道)

1)IO流复制

2)NIO通道复制

3.NIO

1)NIO的核心

1) NIO示例


流是对数据传输的抽象,特性是进行数据的传输.
按照流向可以分为输入流和输出流.
按数据的处理类型可以分为字节流和字符流.


1.IO流



1)数据传输类型分类

字节流...]]></description><category></category></item></channel></rss>