<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[stubborn_ugly的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/stubborn_ugly</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; stubborn_ugly]]></copyright><item><title><![CDATA[BC包冲突问题]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/124933025</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/124933025</guid><author>stubborn_ugly</author><pubDate>Mon, 23 May 2022 19:24:17 +0800</pubDate><description><![CDATA[BC包冲突]]></description><category></category></item><item><title><![CDATA[SpringMVC 静态资源访问不到的问题]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/105398048</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/105398048</guid><author>stubborn_ugly</author><pubDate>Wed, 08 Apr 2020 22:04:33 +0800</pubDate><description><![CDATA[现象：

如下配置静态资源拦截，运行时，访问不到static 目录下的静态资源。



@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    System.out.println("addResourceHandlers=======");
    registry.addResource...]]></description><category></category></item><item><title><![CDATA[Gradle：unable to find valid certification path to requested target]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/104252021</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/104252021</guid><author>stubborn_ugly</author><pubDate>Mon, 10 Feb 2020 17:46:14 +0800</pubDate><description><![CDATA[最近使用Gradle 构建项目

使用SpringBoot 打包插件，出现如下异常：

Could not HEAD 'https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-gradle-plugin/2.0.4.RELEASE/spring-boot-gradle-plugin-2.0.4.RELEASE.pom'....]]></description><category></category></item><item><title><![CDATA[解决Oracle 无法通过本机IP地址进行连接的问题]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/102615649</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/102615649</guid><author>stubborn_ugly</author><pubDate>Thu, 17 Oct 2019 21:38:47 +0800</pubDate><description><![CDATA[【场景】

在windows 上安装了Oracle服务，从虚拟机Linux上的java服务访问Oracle服务，一直访问不了。

【解决办法】

通过Oracle 开始栏工具：Net Manager

1、配置数据库主目录：



2、配置“监听位置”：



3、重启监听服务
...]]></description><category></category></item><item><title><![CDATA[Callable、Future、FutureTask 运行流程]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/100070448</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/100070448</guid><author>stubborn_ugly</author><pubDate>Mon, 26 Aug 2019 07:36:11 +0800</pubDate><description><![CDATA[【why】

在Executor 框架中标识一种异步任务，
	此外也可以用来表示一些时间较长的计算，这些计算可以在使用计算结果之前启动。
【how】

FutureTask 的定义：表示一种抽象的可获得结果的计算。Callable 就是这种计算的实现方式，相当于一种可生成结果的Runnable。
	三种状态：等待运行、运行中、执行完成，其中执行完成又分为正常结束、由于取消而结束、由于异常而结束。
...]]></description><category></category></item><item><title><![CDATA[【源码分析】Spring IOC 容器创建过程]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/98447713</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/98447713</guid><author>stubborn_ugly</author><pubDate>Mon, 05 Aug 2019 06:59:26 +0800</pubDate><description><![CDATA[IOC容器创建

new AnnotationConfigApplicationContext(ExtConfig.class);
构造函数 AnnotationConfigApplicationContext(Class&lt;?&gt;... annotatedClasses)
1、无参构造器：this()
创建：
 AnnotatedBeanDefinitionReader 注解Bea...]]></description><category></category></item><item><title><![CDATA[Linux 常用命令（后台web开发）]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/90746355</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/90746355</guid><author>stubborn_ugly</author><pubDate>Mon, 03 Jun 2019 07:53:09 +0800</pubDate><description><![CDATA[【概述】开发过程中，web后端一般部署在linux 中，所以linux 的基本常用命令是需要会的，在这里整理了一下开发过程中的一些常用命令，后面有其他的也会整理进来，方便以后的查找。

一、常用命令

1.1 文件处理命令

ls 显示文件目录
	语法：ls [-选项] [文件或目录]
		选项：
		a 显示所有文件，包括隐藏文件
			l（小写l）显示详细信息
			i 显示 i节点（可以通过...]]></description><category></category></item><item><title><![CDATA[基于JavaConfig 配置SpringMVC Web项目问题]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/90349525</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/90349525</guid><author>stubborn_ugly</author><pubDate>Sun, 19 May 2019 23:05:07 +0800</pubDate><description><![CDATA[一、概述

个人学习过程中，基于JavaConfig配置Web项目，汇总遇到的问题及解决办法。

二、目的

记录下问题及解决办法，避免相同的问题重复做无用功。

三、问题

静态资源访问404：通过继承WebMvcConfigurationSupport，实现静态资源的配置。
	
@Configuration
@EnableWebMvc
public class DispatcherConfig...]]></description><category></category></item><item><title><![CDATA[CURL 工具使用]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/85289138</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/85289138</guid><author>stubborn_ugly</author><pubDate>Thu, 27 Dec 2018 17:33:04 +0800</pubDate><description><![CDATA[一、简介

curl是利用URL语法在命令行方式下工作的开源文件传输工具，支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP，功能强大，用于文件下载和上传，项目需要，学习一下。

二、语法

curl [option] [url]

帮助：curl --he...]]></description><category></category></item><item><title><![CDATA[Oracle SQL查询-树操作]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/84983806</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/84983806</guid><author>stubborn_ugly</author><pubDate>Thu, 13 Dec 2018 14:15:23 +0800</pubDate><description><![CDATA[一、Why：为什么

项目里遇到了查询一个单表里，某个父ID下的所有子ID记录，多层的树形结构；

二、How：怎么查询



1）查找所有顶级“父菜单”节点

select * from t_menu where parent_id = 0;

2) 查找“父菜单1”的所有“一级菜单”（不需要树查询）

select * from t_menu where parent_id = 1;

3) ...]]></description><category></category></item><item><title><![CDATA[Spring AOP源码解读]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83753291</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83753291</guid><author>stubborn_ugly</author><pubDate>Thu, 08 Nov 2018 16:09:41 +0800</pubDate><description><![CDATA[目录

一、概述

二、SpringAOP运行时增强

三、Spring AOP的常用类

四、Spring AOP源码分析

1.XML 配置

2.ProxyFactoryBean生成AOP代理对象

3.具体的两种代理对象生成源码

1、 JDK动态代理：

2、CGLIB动态代理

五、切点和切面分析

六、参考

一、概述

AOP（Aspect Orient Programming）：...]]></description><category></category></item><item><title><![CDATA[Java 源文件Class详解]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83584714</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83584714</guid><author>stubborn_ugly</author><pubDate>Fri, 02 Nov 2018 16:47:48 +0800</pubDate><description><![CDATA[目录

一、概述

二、参考

一、概述

只是对class做一次完整的分析，不涉及理论介绍。

1.源文件


package com.gyw.practice;

public class TestClass{
	private int m;
	public int inc(){
		return m + 1;
	}
}

2.字节流文件



 3.class文件分析

u4 magic;魔...]]></description><category></category></item><item><title><![CDATA[Jaxb异常：MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83413894</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83413894</guid><author>stubborn_ugly</author><pubDate>Fri, 26 Oct 2018 13:59:11 +0800</pubDate><description><![CDATA[1.异常栈：

[com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。]
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unmarshalle...]]></description><category></category></item><item><title><![CDATA[源码分析三、Map（6）-LinkedHashMap]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83305381</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83305381</guid><author>stubborn_ugly</author><pubDate>Tue, 23 Oct 2018 14:37:30 +0800</pubDate><description><![CDATA[一、概述

LinkedHashMap继承了HashMap，同时具有可预测的跌打顺序，按照插入的顺序排序。
	与HashMap的不同之处在于，维护了一条贯穿其全部Entry的双向链表，由双向链表，维护整个map中entry的插入顺序，也正是因为维护双向链表，性能上不如HashMap，集合视图的遍历与元素个数成正比，而HashMap是与buckets数组的长度呈正比的。
	可以理解为LinkedHa...]]></description><category></category></item><item><title><![CDATA[源码分析三、Map（5）-WeekHashMap]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83302928</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83302928</guid><author>stubborn_ugly</author><pubDate>Tue, 23 Oct 2018 11:34:26 +0800</pubDate><description><![CDATA[一、概述

WeekHashMap区别于HashMap，在于key值都为弱引用。
	Java将引用分为四类，强度依次逐渐减弱：
强引用： 就是平常使用的普通引用对象，例如Object obj = new Object()，这就是一个强引用，强引用只要还存在，就不会被垃圾收集器回收。
	软引用： 通过SoftReference类来间接引用目标对象。软引用表示一个还有用但并非必需的对象。被软引用关联的...]]></description><category></category></item><item><title><![CDATA[源码分析三、Map（4）-HashMap]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83271604</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83271604</guid><author>stubborn_ugly</author><pubDate>Mon, 22 Oct 2018 17:22:30 +0800</pubDate><description><![CDATA[目录

一、概述

二、分析

1.数据结构

2.Hash 算法

3.HashMap 的put过程，扩容过程

4.HashMap 的死循环问题（JDK1.7）

5.HashMap 的线程安全问题

三、源码分析（JDK.18）

1.常量

2.HashMap使用的hash方法

3.HashMap解决冲突

4.动态扩容

5.添加元素

6.内部类

四、QA

1.Q：为什么数组的...]]></description><category></category></item><item><title><![CDATA[源码分析三、Map（3）-TreeMap]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83177677</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83177677</guid><author>stubborn_ugly</author><pubDate>Fri, 19 Oct 2018 16:51:04 +0800</pubDate><description><![CDATA[一、概述



通过IDEA看下TreeMap的继承关系，继承抽象父类AbstractMap，实现了NavigableMap接口，SortedMap接口，TreeMap是一种有序的Map，从其实现的接口就能看出来。

那么，首先来看下实现的两类接口：

SortedMap：实现该接口的类，必须按照一定的排序规则保证key的有序性，可以根据key的compareTo（）函数或者在构造器中传入Comp...]]></description><category></category></item><item><title><![CDATA[源码分析三、Map（2）-AbstractMap]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83056219</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83056219</guid><author>stubborn_ugly</author><pubDate>Fri, 19 Oct 2018 10:18:19 +0800</pubDate><description><![CDATA[一、概述

之前分析了顶级接口，java.util.Map接口，此次分析Map抽象基类java.util.AbstractMap。

抽象类AbstractMap实现了Map接口，提供Map接口和实现类之间的抽象，实现通用方法。

二、源码分析



public abstract class AbstractMap&amp;lt;K,V&amp;gt; implements Map&amp;lt;K,V&amp;gt; {
 ...]]></description><category></category></item><item><title><![CDATA[源码分析三、Map（1）]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83028440</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/83028440</guid><author>stubborn_ugly</author><pubDate>Mon, 15 Oct 2018 11:11:43 +0800</pubDate><description><![CDATA[

一、概述

Map是一种数据结构，以键值对的方式存储数据，每个键都是唯一的，且对应一个值，一种存放键值对的集合。
	java.util.Map，是一个顶级接口，提供了三个集合视图：所有key的集合、所有value的集合、所有key-value的集合。PS：任何对集合视图的修改都会影响原集合。
	Map与Set集合紧密相关，HashSet内部就维护了一个HashMap，实际上HashSet的新增...]]></description><category></category></item><item><title><![CDATA[WordXml+Freemaker生成Word文档]]></title><link>https://blog.youkuaiyun.com/stubborn_ugly/article/details/82999144</link><guid>https://blog.youkuaiyun.com/stubborn_ugly/article/details/82999144</guid><author>stubborn_ugly</author><pubDate>Wed, 10 Oct 2018 16:37:32 +0800</pubDate><description><![CDATA[1.场景

word文件另存为xml格式，修改后缀名为ftl，生成ftl文件模板，再通过Freemaker框架，填充数据生成定制化的Word文件。

通过Word模板创建ftl模板，注意模板的格式，尤其是序号是否是自动生成，不然，填充数据时，就需要自己填充序号。

后期填充数据，生成word后，发现模板有问题，再重新改xml，或重新生成，工作量不小。

2.问题

1）根据ftl模板生成的word...]]></description><category></category></item></channel></rss>