<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hi__study的博客]]></title><description><![CDATA[坚持学习，生命不息，学习不止。]]></description><link>https://blog.youkuaiyun.com/hi__study</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hi__study]]></copyright><item><title><![CDATA[2、中等算法题：两数相加]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/105653425</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/105653425</guid><author>hi__study</author><pubDate>Tue, 21 Apr 2020 11:14:19 +0800</pubDate><description><![CDATA[题目：给出两个非空的链表，分别用来表示两个非负的整数。其中，它们各自的位数是按逆序的方式来存储的，并且它们的每个节点只能存储一位数字。如果，我们将这两个数相加起来，则会返回一个新的链表来表示它们的和。

可以假设这两个数都不会以0开头。



示例1：

输入：（2 -&gt; 4 -&gt; 3） + （5 -&gt; 6 -&gt; 4）

输出：7 -&gt; 0 -&gt; 8

原因：...]]></description><category></category></item><item><title><![CDATA[1、初级算法题：旋转数组]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/105584065</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/105584065</guid><author>hi__study</author><pubDate>Fri, 17 Apr 2020 17:13:01 +0800</pubDate><description><![CDATA[题目：给定一个数组，将数组中的元素向右移动n个位置，其中n是非负数。

输入：[1, 2, 3, 4, 5, 6, 7]和n=3

输出：[5, 6, 7, 1, 2, 3, 4]

提示：

向右旋转1步：[7, 1, 2, 3, 4, 5, 6]

向右旋转2步：[6, 7, 1, 2, 3, 4, 5]

向右旋转3步：[5, 6, 7, 1, 2, 3, 4]



假设，给定数组[8,...]]></description><category></category></item><item><title><![CDATA[使用C3P0连接MySQL 8.0.19数据库出现异常：Unknown system variable 'tx_isolation']]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/105274610</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/105274610</guid><author>hi__study</author><pubDate>Thu, 02 Apr 2020 17:18:44 +0800</pubDate><description><![CDATA[在做架构迁移的时候，使用C3P0连接MySQL 8.0.19数据库出现如下异常：


			java.sql.SQLException: Unknown system variable 'tx_isolation'

			at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)

			at com.mysql.jdbc....]]></description><category></category></item><item><title><![CDATA[连接url中参数useSSL=true引发的缺少证书异常（使用mysql-connector）]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/105274426</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/105274426</guid><author>hi__study</author><pubDate>Thu, 02 Apr 2020 17:15:28 +0800</pubDate><description><![CDATA[最近在做架构迁移，将基于oracle、ejb、weblogic架构的OA系统迁移至mysql、tomcat环境下。在修改完数据库函数之后，启动测试的时候，遇到一个很诡异的异常，如下：


			The last packet successfully received from the server was 6 milliseconds ago. The last packet sent succ...]]></description><category></category></item><item><title><![CDATA[mysqldump异常：Got error: 1449: The user specified as a definer ('root'@'%') does not exist ......]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/105273890</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/105273890</guid><author>hi__study</author><pubDate>Thu, 02 Apr 2020 16:59:02 +0800</pubDate><description><![CDATA[在做mysql数据库备份的时候出现如下异常：



然后，我查询了一下mysql库里的user表，的确是没有'root'@'%'的用户：

select user,host from mysql.user;



于是，将root的host字段改成'%'，再刷新权限，即可：

update mysql.user set host='%' where user='root'

flush privi...]]></description><category></category></item><item><title><![CDATA[MySQL创建函数异常：This function has none of DETERMINISTIC......]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/105266320</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/105266320</guid><author>hi__study</author><pubDate>Thu, 02 Apr 2020 11:54:52 +0800</pubDate><description><![CDATA[在MySQL8.0.19上创建函数，报错：

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe lo...]]></description><category></category></item><item><title><![CDATA[MyBatis中的批量新增]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/94570159</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/94570159</guid><author>hi__study</author><pubDate>Wed, 03 Jul 2019 16:00:48 +0800</pubDate><description><![CDATA[我在几年前写过一个用hibernate进行批量新增的功能。由于，那个功能只是根据前台页面输入的数据进行新增，理论上一次输入也不会太多，因此，只是用for循环遍历全部数据，每10条数据刷出保存到数据库中而已。
 这几年用mybatis比较多，很想知道如何用mybatis来批量新增。实际上，最好是用insert into...select这种sql来批量新增比较好，但是，这种方式依赖于s...]]></description><category></category></item><item><title><![CDATA[创建Spring boot 2.1.5项目pom.xml报unknown错误]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/94549590</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/94549590</guid><author>hi__study</author><pubDate>Wed, 03 Jul 2019 09:52:21 +0800</pubDate><description><![CDATA[我在Spring Initializr网站上生成了一个spring boot 2.1.5的项目，导入到eclipse中后pom.xml却报unknown错误。错误如下：


 然后，在网上查询了一下，说是spring boot 2.1.5将maven-jar-plugin的版本升级到了3.1.2导致某些IDE的插件不兼容。于是，解决办法有如下两种：
1、将spring boot的版本...]]></description><category></category></item><item><title><![CDATA[SQLException异常：Column count doesn't match value count at row 1]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/92669938</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/92669938</guid><author>hi__study</author><pubDate>Mon, 17 Jun 2019 18:21:22 +0800</pubDate><description><![CDATA[我在用mybatis进行insert插入的时候报出了这个异常。从字面上来看，该异常是说列数量和值数量不匹配。但是，我反复看了几遍mapper，并且拷贝出的SQL可以在navicat中执行成功。最后，花了点时间，才找到原因。因此，记录一下出现该异常的情形：
 ①、列的数量比值的数量多，比如：
 insert into table(field1,field2,field3) val...]]></description><category></category></item><item><title><![CDATA[Java编程思想第十一章"持有对象"的11.5~11.9小节的笔记和练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/90347071</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/90347071</guid><author>hi__study</author><pubDate>Sun, 19 May 2019 20:33:13 +0800</pubDate><description><![CDATA[11.5 List
 有两种类型的List：
 ①、ArrayList：擅长随机访问元素，但在List中间插入和移除元素较慢。
 ②、LinkedList：在List中间进行插入和删除操作的代价较低，优化的顺序访问，随机访问较慢，特性集比ArrayList大。
 书中的代码就不贴在这里了，然后书中介绍了常用的API，需要的话可以自行去查帮助文档。
 有几个方法...]]></description><category></category></item><item><title><![CDATA[Java编程思想第十一章"持有对象"的11.1~11.4小节的笔记和练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/90055377</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/90055377</guid><author>hi__study</author><pubDate>Fri, 10 May 2019 11:55:21 +0800</pubDate><description><![CDATA[11.1 泛型和类型安全的容器
 在JavaSE5之前的容器，编译器允许我们向容器中放入不正确的类型。诸如，有一个Apple对象的容器，它是一个ArrayList，而我们也可以往它里面放入一个Orange对象（这里的Apple和Orange除了继承Object之外，没有其他共性）。因为ArrayList保存的是Object，所以添加Apple、Orange在编译期和运行期都没...]]></description><category></category></item><item><title><![CDATA[项目总结：XXGAT的OA系统及移动办公服务端]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/89854900</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/89854900</guid><author>hi__study</author><pubDate>Sun, 05 May 2019 20:46:40 +0800</pubDate><description><![CDATA[因为开发的是某ZF部门的OA办公系统，所以这里使用代号。项目是基于公司现有的OA系统进行二次开发的，周期大概3个月左右，包含WEB端和移动APP的开发。由于是二次开发，WEB端和移动端改动都不算是很大。
其中，WEB端改动了登录页、首页，最大的改动是核心功能收发文管理：之前的收发文是表单式的，收发文的文件、附件点击之后弹页面展示，之后改动为所见即所得（甲方的称呼），将收发文的文件和附件同表...]]></description><category></category></item><item><title><![CDATA[Java编程思想第十章"内部类"的10.7至10.8小节的笔记和练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/89483855</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/89483855</guid><author>hi__study</author><pubDate>Tue, 23 Apr 2019 23:54:19 +0800</pubDate><description><![CDATA[最近，我的工作很忙，而且10.8小节内容很多、很复杂，即使断断续续的抽时间看了三遍，依然感觉写不好这个小节的笔记。因此，此文中包含10.8小节的部分就当作摘抄，以备后续经常翻看。

10.7 嵌套类
 将内部类声明为static，它通常被称为嵌套类。普通的内部类对象隐式地保存了一个指向创建它的外围类对象的引用，而嵌套类则不是这样：
 ①、要创建嵌套类的对象，不需要外围类的对象。...]]></description><category></category></item><item><title><![CDATA[Java编程思想第十章"内部类"的10.3至10.6小节的练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/89344726</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/89344726</guid><author>hi__study</author><pubDate>Tue, 16 Apr 2019 23:32:09 +0800</pubDate><description><![CDATA[10.3 使用.this与.new
 在内部类中如果需要生成对外部类对象的引用，可以使用外部类的名字后面紧跟.this。
 练习题4：在Sequence.SequenceSelector类中增加一个方法，它可以生成对外部类Sequence的引用。
 代码如下：
public Sequence getSequence() {
return Sequence.this;
}
...]]></description><category></category></item><item><title><![CDATA[Java编程思想第十章"内部类"的10.1和10.2小节的练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/89221544</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/89221544</guid><author>hi__study</author><pubDate>Thu, 11 Apr 2019 22:42:38 +0800</pubDate><description><![CDATA[10.1小节只是讲如何创建一个类的内部类，因而只记录一下练习题。

练习题1：编写一个名为Outer的类，它包含一个名为Inner的类。在Outer中添加一个方法，它返回一个Inner类型的对象。在main()中，创建并初始化一个指向某个Inner对象的引用。

代码实现如下：

public class Outer {

 Outer() {
  System.out.prin...]]></description><category></category></item><item><title><![CDATA[Java编程思想第九章"接口与工厂"的部分练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/89196906</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/89196906</guid><author>hi__study</author><pubDate>Wed, 10 Apr 2019 22:21:57 +0800</pubDate><description><![CDATA[因为练习题18和练习题19差不多，所以这里我决定实现练习题19。

练习题19：使用工厂方法来创建一个框架，它可以执行抛硬币和掷骰子功能。

实现如下：

游戏抽象接口及实现类如下：

public interface Game {

 void play();
}

public class TossACoin implements Game {

 private Random r...]]></description><category></category></item><item><title><![CDATA[Java编程思想第九章"完全解耦"的练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/89048006</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/89048006</guid><author>hi__study</author><pubDate>Fri, 05 Apr 2019 21:57:30 +0800</pubDate><description><![CDATA[练习11：创建一个类，它有一个方法用于接受一个String类型的参数，生成的结果是将该参数中每一对字符进行互换。对该类进行适配，使得它可以用于interface processor.Apply.process()。

首先，我理解的"每一对字符进行互换"，类似于"abcd"：将"ab"互换为"ba"，"cd"互换为"dc"，则结果为"badc"。然后，代码实现如下：

字符互换的处理类：

cla...]]></description><category></category></item><item><title><![CDATA[Java编程思想第九章"抽象类和抽象方法"的部分练习题]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/88972530</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/88972530</guid><author>hi__study</author><pubDate>Tue, 02 Apr 2019 15:18:52 +0800</pubDate><description><![CDATA[练习3：创建一个基类，让它包含抽象方法print()，并在导出类中覆盖该方法。覆盖后的方法版本可以打印导出类中定义的某个整型变量的值。在定义该变量之处，赋予它非零值。在基类的构造器中调用这个方法。现在，在main()方法中，创建一个导出类对象，然后调用它的print()方法。请解释发生的情形。

代码如下：

public class TestAbstract {

 public stat...]]></description><category></category></item><item><title><![CDATA[Thymeleaf中使用select标签数据回显]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/88841298</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/88841298</guid><author>hi__study</author><pubDate>Wed, 27 Mar 2019 12:00:53 +0800</pubDate><description><![CDATA[我们知道在新增页面如果有下拉框就直接选择就好，但是在编辑页面的下拉框要默认选中在新增页面选择的值，即数据回显。我也是第一次使用Thymeleaf模板引擎，虽然使用JSP多了，Thymeleaf上手快使用也方便，但是还是会有一些小问题。最初，我想使用th:selected，如下方式：

&lt;option th:each="user : ${users}" th:text="${user.user...]]></description><category></category></item><item><title><![CDATA[Java中的条件编译]]></title><link>https://blog.youkuaiyun.com/hi__study/article/details/88836812</link><guid>https://blog.youkuaiyun.com/hi__study/article/details/88836812</guid><author>hi__study</author><pubDate>Wed, 27 Mar 2019 09:58:42 +0800</pubDate><description><![CDATA[我最近在看《Java编程思想》，看到第六章的6.1.4小节【用import改变行为】时稍微有点迷惑。唉，英文不好看中文版就是这样，翻译后的有些文字很难看明白（╯﹏╰）。书中提到"通过修改被导入的package"来实现条件编译，于是，我就试了试，大概是下面这样：

首先，在debug包和realease包下分别有一个Cookie类，如下：

debug包内的Cookie：

package com....]]></description><category></category></item></channel></rss>