<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zark721的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zark721</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zark721]]></copyright><item><title><![CDATA[Jdbc批处理功能和MybatisPlus]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/143580183</link><guid>https://blog.youkuaiyun.com/zark721/article/details/143580183</guid><author>zark721</author><pubDate>Wed, 06 Nov 2024 22:42:17 +0800</pubDate><description><![CDATA[MybatisPlus的ServiceImpl类中提供了批处理方法saveBatch，用来批量插入数据，速度要比”一个一个”插入更快。而这个方法的底层依赖了JDBC数据库驱动的批处理功能。
本文先介绍JDBC数据库驱动的批处理功能，然后对"JDBC批量插入"进行性能测试，从而说明saveBatch快的原因，最后说明MybatisPlus  ServiceImpl.saveBatch的最佳使用方式(其实就一句话)。

获取数据库连接代码



逐条插入：耗时171172 ms



批量插入：耗时116244]]></description><category></category></item><item><title><![CDATA[SpringAOP：对于同一个切入点，不同切面不同通知的执行顺序]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/143324337</link><guid>https://blog.youkuaiyun.com/zark721/article/details/143324337</guid><author>zark721</author><pubDate>Tue, 29 Oct 2024 13:28:27 +0800</pubDate><description><![CDATA[在Spring AOP中，对于同一个切入点，可能会有多个切面多种不同类型的通知共同作用于它，那么这些来自不同切面的不同类型通知，它们的执行顺序是怎样的？本文将答案分成2部分讲述。文章后续安排：section 2直接给出结论，图文结合，更好理解。section 3讲述测试过程。section 4讲述参考来源。大家可以根据自己需要查看相应部分，想看结论可以直接看section2。]]></description><category></category></item><item><title><![CDATA[LeetCode 306 类加数(递归)]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/122407607</link><guid>https://blog.youkuaiyun.com/zark721/article/details/122407607</guid><author>zark721</author><pubDate>Mon, 10 Jan 2022 12:27:03 +0800</pubDate><description><![CDATA[1. 题目：https://leetcode-cn.com/problems/additive-number

2. 思路：


假如我有一个函数，dfs(int pos, long long pre1, long long pre2)，它能够告诉我，已经前两个数字分别是pre1, pre2，从给定字符串的pos位开始，是否存在一个序列满足
题目要求，如果满足，返回true给我，否则返回false给我。
于是，我可以在主函数中从字符串的前i位中取出第一个数字pre1，从i~j位取出第二个数字pre2，然后调]]></description><category></category></item><item><title><![CDATA[使用Apache搭建https服务，单向认证+双向认证。]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/104733930</link><guid>https://blog.youkuaiyun.com/zark721/article/details/104733930</guid><author>zark721</author><pubDate>Sun, 08 Mar 2020 16:21:56 +0800</pubDate><description><![CDATA[渣科最近学习Apache, 学会了怎么搭建单向和双向的https服务，文中所有步骤亲测有效，希望能够帮助大家！

这是我的Apache版本：httpd-2.4.41-lre302-x64-vc14。希望大家可以先了解https怎么通信，减少配置过程中的一些疑惑：

https://www.runoob.com/w3cnote/http-vs-https.html

   0. 搭建好Apa...]]></description><category></category></item><item><title><![CDATA[写时间的时候，啥时候用on，in，at]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/102910248</link><guid>https://blog.youkuaiyun.com/zark721/article/details/102910248</guid><author>zark721</author><pubDate>Tue, 05 Nov 2019 09:52:33 +0800</pubDate><description><![CDATA[原文：https://zhidao.baidu.com/question/1497110078006138459.html

一.
(1) at表示一天中的某时刻,不用冠词,如:
at six o'clock(在六点钟), at dawn(在黎明), at sunrise(日出时), at noon(在正午)。
I arrived at school at seven.
我到学校时是七点。
(2)...]]></description><category></category></item><item><title><![CDATA[RSA算法(转载)]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/101221730</link><guid>https://blog.youkuaiyun.com/zark721/article/details/101221730</guid><author>zark721</author><pubDate>Mon, 23 Sep 2019 19:45:10 +0800</pubDate><description><![CDATA[原文：https://www.jianshu.com/p/fbb8bf7baa97感谢作者！

一文搞懂 RSA 算法

12018.09.09 23:07:31字数 1984阅读 9965


地球上最重要的算法


如果没有 RSA 算法，现在的网络世界毫无安全可言，也不可能有现在的网上交易。上一篇文章ssh 协议为什么安全中的 ssh 协议也是基于 RSA 加密算法才能确保通讯是加...]]></description><category></category></item><item><title><![CDATA[HTTPS 的单向验证和双向验证(转载)]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/101220618</link><guid>https://blog.youkuaiyun.com/zark721/article/details/101220618</guid><author>zark721</author><pubDate>Mon, 23 Sep 2019 19:24:13 +0800</pubDate><description><![CDATA[原文：https://mp.weixin.qq.com/s/UiGEzXoCn3F66NRz_T9crA 感谢作者 (coding涛)

（全文太长，太懒不想看，-_-b 那就直接拉到底部看总结 ）

https是在TCP协议与http之间加了一个控制安全传输的SSL协议，也就是说，直接运行在TCP之上的HTTP是普通的HTTP，运行在SSL/TLS上的HTTP则是HTTPS。这几个协议在计算...]]></description><category></category></item><item><title><![CDATA[poj2299 QuickSort(线段树模板)]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/97658800</link><guid>https://blog.youkuaiyun.com/zark721/article/details/97658800</guid><author>zark721</author><pubDate>Mon, 29 Jul 2019 17:42:01 +0800</pubDate><description><![CDATA[题目链接：http://poj.org/problem?id=2299

解题方式：线段树或者 归并排序 或者 树状数组

线段树基础：https://blog.youkuaiyun.com/zearot/article/details/52280189

线段树详解：https://blog.youkuaiyun.com/zearot/article/details/48299459感谢作者

线段树 和 树...]]></description><category></category></item><item><title><![CDATA[理解JWT，使用JWT]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/97012720</link><guid>https://blog.youkuaiyun.com/zark721/article/details/97012720</guid><author>zark721</author><pubDate>Tue, 23 Jul 2019 17:34:57 +0800</pubDate><description><![CDATA[原文：http://blog.leapoahead.com/2015/09/07/user-authentication-with-jwt/ 感谢作者

上次在《JSON Web Token - 在Web应用间安全地传递信息》中我提到了JSON Web Token可以用来设计单点登录系统。我尝试用八幅漫画先让大家理解如何设计正常的用户认证系统，然后再延伸到单点登录系统。



如果还没有阅读《J...]]></description><category></category></item><item><title><![CDATA[杂七杂八]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/97006494</link><guid>https://blog.youkuaiyun.com/zark721/article/details/97006494</guid><author>zark721</author><pubDate>Tue, 23 Jul 2019 16:36:01 +0800</pubDate><description><![CDATA[1. USB2.0 3.0 移动硬盘：

USB2.0 USB3.0 都是金士顿，移动硬盘是 东芝1T。

同等条件下，移动一个3GB的文件。


			读
			写
		USB2.0
			21MB/S
			5.5MB/S
		USB3.0
			82MB/S
			22MB/S
		移动硬盘
			40MB/S
			38MB/S
		
...]]></description><category></category></item><item><title><![CDATA[hdu1892 See you(二维树状数组)]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/96491071</link><guid>https://blog.youkuaiyun.com/zark721/article/details/96491071</guid><author>zark721</author><pubDate>Fri, 19 Jul 2019 19:01:20 +0800</pubDate><description><![CDATA[题目连接：http://acm.hdu.edu.cn/showproblem.php?pid=1892

1.题意：

一个矩阵中含有1000*1000个格子，每个格子放了一本书，现在有4种操作：

①'A' 在某个格子添加n本书; ②'D' 在某个格子删除n本书;③'M' 从某个格子移动n本书到另一个格子;

④查询以 x1,y1 x2,y2 为对角线端点的子矩阵中，总共含有多少本书。

2.思...]]></description><category></category></item><item><title><![CDATA[leetcode5130 最小的必要团队]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/96100639</link><guid>https://blog.youkuaiyun.com/zark721/article/details/96100639</guid><author>zark721</author><pubDate>Tue, 16 Jul 2019 09:56:10 +0800</pubDate><description><![CDATA[题目大意：收集最少的人，让这些人能够覆盖 所有的技能。

思路：状态压缩 +动态规划dp (状态压缩只是一个概念，就是考虑如何用1个数字去表示一个状态，方便我们将这个数字作为dp数组的下标。)

举例：比如说 全部技能有：{'java','csharp'} ,对应数组的下标是{0,1} ;

1. 先说为什么状态压缩，如何状态压缩：

因为题目的技能数目&lt;=16，这很重要，要对数值大小很敏...]]></description><category></category></item><item><title><![CDATA[leetcode1095. 山脉数组中查找目标值]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/93410259</link><guid>https://blog.youkuaiyun.com/zark721/article/details/93410259</guid><author>zark721</author><pubDate>Sun, 23 Jun 2019 21:49:55 +0800</pubDate><description><![CDATA[三分找极值点：https://blog.youkuaiyun.com/pi9nc/article/details/9666627

解题思路：

1.先用三分查找，找到极值点的位置pt

2.根据pt将数组分成两段，先对第一段[0,pt]二分查找target,找到立即返回

3.如果第一段没有找到target,则二分查找第二段[pt,arr.length-1]

这样满足查询不超过100次的要求吗？

答：三...]]></description><category></category></item><item><title><![CDATA[微信-公众号-创建菜单列表 错误40016]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/91905219</link><guid>https://blog.youkuaiyun.com/zark721/article/details/91905219</guid><author>zark721</author><pubDate>Thu, 13 Jun 2019 23:11:59 +0800</pubDate><description><![CDATA[运行程序，返回errcode40016：invalid button size hint: [afL4na0498vr21]

1. 到公众号调试页面，输入token和传过去的菜单json串https://mp.weixin.qq.com/debug/

  如果创建成功，说明菜单json串 格式没有错，按钮个数也符合要求。否则请修改你的 json串。

  首先保证json串的格式没...]]></description><category></category></item><item><title><![CDATA[java_httpclient 常用api。]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/91882126</link><guid>https://blog.youkuaiyun.com/zark721/article/details/91882126</guid><author>zark721</author><pubDate>Thu, 13 Jun 2019 22:56:40 +0800</pubDate><description><![CDATA[httpclient版本：


&lt;dependency&gt;
   &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt;
   &lt;artifactId&gt;httpclient&lt;/artifactId&gt;
   &lt;version&gt;4.5.3&lt;...]]></description><category></category></item><item><title><![CDATA[ScheduledExecutorService 的两个方法scheduleAtFixedRate scheduleWithFixedDelay]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/91346213</link><guid>https://blog.youkuaiyun.com/zark721/article/details/91346213</guid><author>zark721</author><pubDate>Sun, 09 Jun 2019 17:37:26 +0800</pubDate><description><![CDATA[ScheduledExecutorService 将定时任务与线程池功能结合使用：当任务到达执行时间，将任务交于线程池，由线程池分配线程去执行任务。其中有两个方法容易混淆：scheduleAtFixedRate scheduleWithFixedDelay

区别：

ScheduleAtFixedRate 两次任务之间的间隔时间，取决于每次任务执行的时间长短；

ScheduleWithFix...]]></description><category></category></item><item><title><![CDATA[leetcode880. 索引处的解码字符串]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/89165909</link><guid>https://blog.youkuaiyun.com/zark721/article/details/89165909</guid><author>zark721</author><pubDate>Wed, 10 Apr 2019 13:51:17 +0800</pubDate><description><![CDATA[题目：https://leetcode-cn.com/problems/decoded-string-at-index/

思路：

看到 数据范围"解码后的字符串保证少于2^63个字母"，单纯地拼接字符串不实际，即使不考虑时间问题，就连内存也会爆掉，所以应该是找规律，找规律最基本的就是找循环节(比如说abc3d4，其中有"a","ab" , "abc","abc abc abc","abc...]]></description><category></category></item><item><title><![CDATA[leetcode1015 至少有1位重复的数字]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/88627996</link><guid>https://blog.youkuaiyun.com/zark721/article/details/88627996</guid><author>zark721</author><pubDate>Sun, 17 Mar 2019 22:43:06 +0800</pubDate><description><![CDATA[题目链接：https://leetcode-cn.com/problems/numbers-with-repeated-digits/

题目内容：给定正整数N，返回小于等于N且具有至少 1 位重复数字的正整数。

思路：

看到题目，求范围内出现某类数字的个数，思路应该是数位dp的方向。

关于数位dp是什么，这篇博客十分清楚地介绍了：https://blog.youkuaiyun.com/wust...]]></description><category></category></item><item><title><![CDATA[leetcode403 frog-jump]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/88543423</link><guid>https://blog.youkuaiyun.com/zark721/article/details/88543423</guid><author>zark721</author><pubDate>Wed, 13 Mar 2019 22:56:36 +0800</pubDate><description><![CDATA[题目：https://leetcode-cn.com/problems/frog-jump/

思路：深搜 (注意超时)

用数组dp[][]记录一些情况，避免重复计算。比如dp[i][j]表示前一块石头是i，下一块石头是j，这种情况是不是已经计算过了，如果计算过了就不往下计算。


class Solution {
  boolean flag = false; //记录是否可行，一...]]></description><category></category></item><item><title><![CDATA[leetcode312 戳气球]]></title><link>https://blog.youkuaiyun.com/zark721/article/details/88542031</link><guid>https://blog.youkuaiyun.com/zark721/article/details/88542031</guid><author>zark721</author><pubDate>Wed, 13 Mar 2019 21:45:57 +0800</pubDate><description><![CDATA[题目：https://leetcode-cn.com/problems/burst-balloons/

思路：动态规划

状态：dp[i][j] 表示戳破[i,j]范围内这些气球所能获得的最大数量的硬币

转移方程： dp[i][j] = max(dp[i][j],dp[i][k-1] + dp[k+1][j] + arr[i-1]*arr[k]*arr[j+1]); (i&amp;lt;=k&amp;lt;...]]></description><category></category></item></channel></rss>