<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[afan3862的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/afan3862</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; afan3862]]></copyright><item><title><![CDATA[java高并发编程--05--线程池]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982698</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982698</guid><author>afan3862</author><pubDate>Tue, 03 Sep 2019 01:16:00 +0800</pubDate><description><![CDATA[1.线程池简介线程池的主要目的是重复利用线程，减少Thread创建、启动、销毁时的资源消耗，提高系统效率，系统性能往往和线程数量是一个抛物线的关系，因此要控制线程数量。线程池里面存放在一定量的已经创建好的线程，当有任务提交给线程池时，线程池中的某个线程主动执行该任务，如果线程池中的线程数量不够，则需要自动扩充新的线程到线程池，但扩充的数量有限，受最大的线程数量限制，当任务比较少的时候，线...]]></description><category></category></item><item><title><![CDATA[java高并发编程--04--Hook线程以及捕获线程执行异常]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982693</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982693</guid><author>afan3862</author><pubDate>Mon, 02 Sep 2019 22:55:00 +0800</pubDate><description><![CDATA[1.获取线程运行时异常Thread类处理运行时异常的四个API：public void setUncaughtExceptionHandler(UncaughtExceptionHandler eh):为某个线程UncaughtExceptionHandlerpublic static setDefaultUncaughtExceptionHandler(UncaughtExceptio...]]></description><category></category></item><item><title><![CDATA[java高并发编程--02--线程安全与数据同步]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982689</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982689</guid><author>afan3862</author><pubDate>Tue, 27 Aug 2019 19:08:00 +0800</pubDate><description><![CDATA[1.synchronized关键字synchronized关键字提供了一种排他机制，也就是同一时间只能有一个线程执行某些操作，从而防止线程干扰和内存一致性错误，如果一个对象对多个线程是可见的，那么对该对象的索引读或者写都将通过同步的方式来进行，表现如下：1）synchronized关键字提供一种锁机制，能够确保变量的互斥访问，从而防止数据不一致问题出现。2）synchronized关键字...]]></description><category></category></item><item><title><![CDATA[java高并发编程--03--线程间通信]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982704</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982704</guid><author>afan3862</author><pubDate>Tue, 27 Aug 2019 12:13:00 +0800</pubDate><description><![CDATA[1.同步阻塞与异步非阻塞 1.1同步阻塞消息处理
 服务端监听端口，客户端提交Event，服务端创建线程接收Event，处理Event，返回结果 缺陷： 同步Event提交，客户端等待时间过长（提交Event时间+接收Event时间+处理Event时间+返回结果时间）会陷入阻塞，导致二次提交Event耗时过长 由于客户端提交Event数量有限，导致系统受理业务数量有限，系统吞吐量不高 ...]]></description><category></category></item><item><title><![CDATA[java高并发编程--01--认识线程与Thread，ThreadGroup]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982702</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982702</guid><author>afan3862</author><pubDate>Fri, 16 Aug 2019 12:57:00 +0800</pubDate><description><![CDATA[1.线程简介线程：操作系统有多任务在执行，对计算机来说每一个任务就是一个进程（Process），每一个进程内部至少有一个线程（Thread）在运行。线程是程序执行的一个路径，每一个线程都有自己的局部变量表，程序计数器及各自的生命周期。
线程的生命周期：线程生命周期分以下5个阶段NEW：new方法创建一个Thread对象，可以通过start方法进入RUNNABLE状态，此时线程尚不存在，...]]></description><category></category></item><item><title><![CDATA[Java8新特性]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982699</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982699</guid><author>afan3862</author><pubDate>Fri, 16 Aug 2019 08:41:00 +0800</pubDate><description><![CDATA[1.接口
1）增加default方法和static方法，这两种方法都可以有方法体

interface Interface1 {
    static void st1() {System.out.println("static Interface1.st1()");}
    default void df1() {System.out.println("default In...]]></description><category></category></item><item><title><![CDATA[新建spring-boot maven mybatis 工程，启动时报找不到Mapper可能的原因]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982697</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982697</guid><author>afan3862</author><pubDate>Sat, 10 Aug 2019 16:27:00 +0800</pubDate><description><![CDATA[新建spring-boot maven mybatis 工程，启动时报找不到Mapper：

15:44:44.346 [main] WARN org.springframework.context.support.GenericApplicationContext - Exception encountered during context initialization - can...]]></description><category></category></item><item><title><![CDATA[Error creating bean with name 'dataSource'...Failed to determine a suitable driver class]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982696</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982696</guid><author>afan3862</author><pubDate>Sat, 10 Aug 2019 16:16:00 +0800</pubDate><description><![CDATA[场景：
新建的spring-boot maven mybatis工程，运行时报以下异常

16:04:10.751 [main] ERROR org.springframework.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springfr...]]></description><category></category></item><item><title><![CDATA[Mysql流程控制语句和存储过程]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982695</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982695</guid><author>afan3862</author><pubDate>Thu, 11 Jul 2019 21:55:00 +0800</pubDate><description><![CDATA[一、流程控制语句
条件控制语句
1)IF(a,b,c):
a为布尔表达式，b、c为表达式语句，返回a为true时返回b的结果，a为false时返回c的结果。
eg：select id,name,if(gen=1,'男','女') as gen from user;
2)CASE WHEN [condition] THEN [result] END:
语法：
CASE
W...]]></description><category></category></item><item><title><![CDATA[MySQL常用基础函数]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982694</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982694</guid><author>afan3862</author><pubDate>Sat, 06 Jul 2019 15:51:00 +0800</pubDate><description><![CDATA[一、数学函数
ABS(x)：返回x的绝对值
MOD(N,M)或N % M:返回N被M除的余数，求模
FLOOR(x)：返回不大于x的最大整数
CEILING(x)：返回不小于x的最小整数
ROUND(x)：对x进行四舍五入

二、字符串函数
UUID()：生成36位随机字符串

CONCAT(str1,str2,...)：拼接字符串，返回参数拼接起来的字符串，传入...]]></description><category></category></item><item><title><![CDATA[设计模式---组合设计模式]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982692</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982692</guid><author>afan3862</author><pubDate>Fri, 28 Jun 2019 17:43:00 +0800</pubDate><description><![CDATA[组合模式（Composite Pattern），又称部分整体模式，用于把一组相似的对象当做一个单一的对象，组合模式依据树形来组合对象，用来表示部分以及整体层次，为结构型设计模式，它创建来对象组的树形结构。
意图：将对象组合成树形结构以表示“部分-整体”的结构层次，组合模式使得用户对单个对象和组合对象的使用具有一致性。主要解决：在树形结构的问题中，模糊类简单元素和复杂元素的概念，客户程序...]]></description><category></category></item><item><title><![CDATA[BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource []]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982688</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982688</guid><author>afan3862</author><pubDate>Tue, 04 Jun 2019 07:25:00 +0800</pubDate><description><![CDATA[现场情景：
初次搭建springboot工程，原本要搭建一个springboot+mybatis的maven工程，听说springboot会把一切给配置好，天真的在执行完mybatis自动生成mapper文件后进行打包，当前springboot工程只有一个空的application.properties文件，没有进行任何配置，故进行打包时（执行run as maven install命...]]></description><category></category></item><item><title><![CDATA[Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(...]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982683</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982683</guid><author>afan3862</author><pubDate>Tue, 04 Jun 2019 07:04:00 +0800</pubDate><description><![CDATA[SpringBoot Maven工程打包时（执行run as maven install命令），报以下错误：

[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------------&lt; com.swyx:swyx_form_api &gt;-----------------------
[INFO] B...]]></description><category></category></item><item><title><![CDATA[jQuery、js操作页面]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982681</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982681</guid><author>afan3862</author><pubDate>Mon, 03 Jun 2019 08:46:00 +0800</pubDate><description><![CDATA[1.使用jQuery在指定容器中动态加载HTML
事件触发时，div内动态加载某个URL的页面：
$("#div").load(URL);

转载于:https://www.cnblogs.com/ShouWangYiXin/p/10965647.html]]></description><category></category></item><item><title><![CDATA[设计模式---简介]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982679</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982679</guid><author>afan3862</author><pubDate>Sun, 02 Jun 2019 23:02:00 +0800</pubDate><description><![CDATA[设计模式类型设计模式主要分4大类：1）创建型设计模式：这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式，而不是使用new运算符直接实例化对象，使得程序在判断针对某个给定的试了需要创建哪些对象时更加灵活。工程模式抽象工厂模式单例模式建造者模式原型模式
2）结构型模式：这些设计模式关注类和对象的组合，继承的概念被用来组合接口和定义组合对象获得新功能的方法。适配器模式桥接模式过滤器模...]]></description><category></category></item><item><title><![CDATA[设计模式---策略设计模式]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982677</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982677</guid><author>afan3862</author><pubDate>Sun, 02 Jun 2019 19:28:00 +0800</pubDate><description><![CDATA[策略模式
1）基本定义
一个类的行为或器算法可以在运行时更改，为一种行为模式。意图：定义一系列算法，把他们封装起来，并且使他们可以相互替换。解决问题：在有多种算法相似的情况下，使用if...else所带来的复杂和难以维护使用场景：一个系统有多个类，而区分他们的只是他们直接的行为如何解决：场景表示各自策略的对象和一个行为随着策略对象改变而改变的context对象，策略对象改变conte...]]></description><category></category></item><item><title><![CDATA[POI生成Excel文件：Excel，工具类，背景色，边框，居中，合并单元格]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982676</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982676</guid><author>afan3862</author><pubDate>Sun, 02 Jun 2019 10:39:00 +0800</pubDate><description><![CDATA[背景今天分配到任务，要导出很多表格，懒得一个个写导出代码，故准备写个工具类
工具类代码如下：

  1 package com.swyx.tools.utils.poi;
  2 
  3 import java.io.File;
  4 import java.io.FileOutputStream;
  5 import java.io.OutputStream;
 ...]]></description><category></category></item><item><title><![CDATA[设计模式---模板设计模式（java）]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982673</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982673</guid><author>afan3862</author><pubDate>Sat, 18 May 2019 16:16:00 +0800</pubDate><description><![CDATA[模板设计模式
1）基本定义
定义：在一个抽象类中公开定义执行它的方法的方式/模板，子类可以重写方法的实现，但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型设计模式。意图：定义一个操作种的算法骨架，将一些具体步骤的实现延迟到子类中解决问题：一些方法通用，却在每一个子类重写这些方法关键代码：算法骨架在抽象类实现（有时使用final修饰以禁止子类重写以防止恶意修改），一...]]></description><category></category></item><item><title><![CDATA[maven打包不打lib目录里面的jar包解决办法]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982686</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982686</guid><author>afan3862</author><pubDate>Wed, 08 May 2019 18:42:00 +0800</pubDate><description><![CDATA[起因：我们的项目原为一个在Tomcat中运行的war包，使用maven构建，依赖由maven管理，现在需要和第三方系统对接，使用第三方技术，第三方提供若干jar包，使用时直接把这些jar包放到lib目录，打包时发现报ClassNotFundException，找不到这些类
解决办法：网络查找的方法：
若打成jar包,pom文件中添加:

 1 &lt;build&gt;
 2 ...]]></description><category></category></item><item><title><![CDATA[MySQL库表操作]]></title><link>https://blog.youkuaiyun.com/afan3862/article/details/101982685</link><guid>https://blog.youkuaiyun.com/afan3862/article/details/101982685</guid><author>afan3862</author><pubDate>Fri, 12 Apr 2019 19:34:00 +0800</pubDate><description><![CDATA[1.建库建表2.表字段更改
1.建库建表先判断数据库是否已存在，如果没有则新建数据库sql模板：CREATE DATABASE IF NOT EXISTS 库名 DEFAULT CHARSET 编码 COLLATE 排序规则;
先判断表是否已存在，如果没有则新建表sql模板：CREATE TABLE IF NOT EXISTS 表名(列参数列表);
2.表字段更改1）修改字段属性s...]]></description><category></category></item></channel></rss>