<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bubble21的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bubble21</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bubble21]]></copyright><item><title><![CDATA[大白话canvas中drawImage()方法]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/138668937</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/138668937</guid><author>bubble21</author><pubDate>Fri, 10 May 2024 16:10:57 +0800</pubDate><description><![CDATA[用于定位（左上角），就是从哪个点开始绘制。x 是距原点的水平距离  y是距原点的垂直距离。当前起始点，新建画布后起始是（0,0）偏移100,200后，原点就是(100,200)需要四个参数，在哪个点开始绘制(x,y)，绘制多大(width,height)需要四个参数，在哪个点开始剪切(sx,sy)，绘制多大(sw,sh)：用于定位（左上角），在原图哪个点开始剪切。]]></description><category></category></item><item><title><![CDATA[异常java.lang.IllegalArgumentException: invalid version format: ÒJ­M¾ÛÏ1ÛÂÇÃÔTTG0ËÞ#´HG **]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/136728372</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/136728372</guid><author>bubble21</author><pubDate>Fri, 15 Mar 2024 09:25:51 +0800</pubDate><description><![CDATA[java请求接口出现。]]></description><category></category></item><item><title><![CDATA[ClassNotFound找不到 redis.clients.jedis.JedisShardInfo]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/127230349</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/127230349</guid><author>bubble21</author><pubDate>Sun, 09 Oct 2022 17:20:24 +0800</pubDate><description><![CDATA[升级jedis版本异常]]></description><category></category></item><item><title><![CDATA[springcloud之服务注册中心eureka]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/105513674</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/105513674</guid><author>bubble21</author><pubDate>Tue, 14 Apr 2020 18:06:57 +0800</pubDate><description><![CDATA[这篇我们了解下服务注册中心Eureka，类似框架还有Zookeeper、Nacos，各有各的特点，在springcloud中推荐使用eureka，整合起来也是非常简单。
我们看看eureka的一般组成：
服务端：服务注册中心，也就是总平台，提供服务的注册和发现
客户端：具体的子模块，既可以是消费者，也可以是提供者
我们看看大致流程：首先必须有一个服务端，各子模块在启动后都要向服务端平台注册自己，也...]]></description><category></category></item><item><title><![CDATA[springcloud开篇之springboot和springcloud版本选择]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/103593763</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/103593763</guid><author>bubble21</author><pubDate>Wed, 18 Dec 2019 15:17:11 +0800</pubDate><description><![CDATA[现在越来越多的公司使用springcloud开发项目，因其使用门槛低，开发分布式应用快，从单系统迁移到分布式系统也是相对简单，当然这只是停留在会用的基础上说的，真正到了量级别，那就会涉及到系统的配置，调优模块的划分等等。技术是需要分享的，今天分享一些使用上的心得。
先从版本上说起，版本冲突一直是开发中比较麻烦的事情，解决办法：第一步  ctrl+c报错信息，第二步 打开百度，百度不行就谷歌，ctr...]]></description><category></category></item><item><title><![CDATA[SpringMVC拦截器和过滤器的区别]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/102544638</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/102544638</guid><author>bubble21</author><pubDate>Mon, 14 Oct 2019 12:14:51 +0800</pubDate><description><![CDATA[【基础篇】
过滤器和拦截器的区别：

①拦截器是基于java的反射机制的，而过滤器是基于函数回调。 　　
②拦截器不依赖与servlet容器，过滤器依赖与servlet容器。
③拦截器只能对action请求起作用，而过滤器则可以对几乎所有的请求起作用。
④拦截器可以访问action上下文、值栈里的对象，而过滤器不能访问。
⑤在action的生命周期中，拦截器可以多次被调用，而过滤器只能在容器初始化...]]></description><category></category></item><item><title><![CDATA[Tomcat 性能调优之 JVM 调优]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/86595048</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/86595048</guid><author>bubble21</author><pubDate>Tue, 22 Jan 2019 15:08:59 +0800</pubDate><description><![CDATA[之前一直对于JVM调优这块比较混淆，看到这篇文章后豁然开朗，好文应该分享，记录下来，慢慢“品味”。

文章转自来源

Tomcat、Jetty、GlassFish 等等这系列 Web容器/应用服务器，虽然做为容器，提供的是一个 Java Web 的运行时环境，以支持Servlet/JSP 等等这些内容的运行，但我们都很清楚，其本质上还是一个 Java 应用程序。 每次对于 容器的启动运行，都是把这...]]></description><category></category></item><item><title><![CDATA[java 根据助记词导入ETH钱包账户]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/85252018</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/85252018</guid><author>bubble21</author><pubDate>Tue, 25 Dec 2018 18:12:00 +0800</pubDate><description><![CDATA[前面我们离线生成了ETH的账户，这是一种账户生成办法，另外一种就是用户提供助记词，我们通过助记词生成一个钱包。其实这和创建钱包是同一套流程

原来创建是：seed种子（随机生成助记词）---&amp;gt;私钥---&amp;gt;公钥

那导入就是：seed种子（用户提供）---&amp;gt;私钥---&amp;gt;公钥

我们看代码


	/**
     * 通过助记词導入錢包
     *
     * @param...]]></description><category></category></item><item><title><![CDATA[bootstrap-Table sub父子表的使用]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/78874103</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/78874103</guid><author>bubble21</author><pubDate>Fri, 22 Dec 2017 15:52:51 +0800</pubDate><description><![CDATA[今天项目里面要用到bootstrapTable里面的Sub Table也就是我们说的父子表，之前也没做过，so直接到官网找文档，卡的不行，算了只能网上百度找了几篇案例，也都是不全面。搞了一下午，终于有点效果。今天记录一下，加深印象，也给像我一样寻找案例的朋友一点思路。–环境：springboot+freemarker（jsp也是一样做法）先看一下官网的效果图http://issues.wenzhix]]></description><category></category></item><item><title><![CDATA[shiro权限不生效原因分析]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/78829959</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/78829959</guid><author>bubble21</author><pubDate>Mon, 18 Dec 2017 09:45:49 +0800</pubDate><description><![CDATA[shiro遇到的坑-项目中使用shiro做登录校验和权限管理，在配置权限时遇到小坑，记录一下。环境：springboot+freemarker+shiro
场景：后台管理，配置菜单以及按钮权限，分为三个层级，一二级暂时只考虑是否查看权限，第三层级为页面按钮权限，分增删改查。详情看图 
问题：一二层级正常，第三层级权限不起作用！权限标签定义如下： 
  标签定义
  页面一
  页面二  第一层级]]></description><category></category></item><item><title><![CDATA[【sail】第三篇MybatisPlus的配置以及FreeMarker的配置]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/78653978</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/78653978</guid><author>bubble21</author><pubDate>Tue, 28 Nov 2017 13:19:42 +0800</pubDate><description><![CDATA[-前面我们利用MybatisPlus的代码生成器很方便的的生成了项目中用到的通用类，这一篇我们把MybatisPlus配置一下，另外页面这一块集成freemarker模版引擎，我们也需要配置一下。MybatisPlus的配置首先还是在pom文件中引入j依赖然后我们在项目的application.properties配置# jdbc_config
spring.datasource.url=jdbc:]]></description><category></category></item><item><title><![CDATA[【Sail】第二篇热部署和代码生成]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/78497495</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/78497495</guid><author>bubble21</author><pubDate>Fri, 10 Nov 2017 10:56:00 +0800</pubDate><description><![CDATA[热部署
接下来我们简单配置一下，在配置之前我们要做一件事，以便于接下来的工作更加方便。把热部署加上，热部署：简单来说就是在程序运行期间，我们能及时看到代码改动效果，不必手动重启服务。这很符合敏捷开发！之前我们改动页面数据或者修改数据结构，为了看到效果只能重启服务，这样是比较麻烦，浪费时间。
springboot为我们提供了方便工具，我们只需在pom文件引入spring-boot-devtools模块]]></description><category></category></item><item><title><![CDATA[【Sail】项目第一篇简介和环境搭建]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/78490304</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/78490304</guid><author>bubble21</author><pubDate>Thu, 09 Nov 2017 15:34:49 +0800</pubDate><description><![CDATA[【Sail】项目第一天简介和环境搭建概述最近一段时间都在使用springboot进行开发，很是方便，之前用过spring框架应该很快能上手，在某天看到一篇文章收获很大，说是技术的分享对于自己的提升帮助是很大的，一方面加深了自己的理解，记忆，另一方面查漏补缺，把不懂的细节重新看一遍。这里从零开始搭建一套后台系统，加深自己的记忆，也希望能帮助更多初学者。目前只打算整合springboot+springM]]></description><category></category></item><item><title><![CDATA[springBoot集成shiro+redis遇到的坑]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/78296862</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/78296862</guid><author>bubble21</author><pubDate>Fri, 20 Oct 2017 16:28:39 +0800</pubDate><description><![CDATA[今天在整合springboot和shiro使用redis做缓存的时候遇到个坑  记录一下
在doGetAuthorizationInfo方法进行权限校验时发生错误
代码定位在这行
UUser token = (UUser) SecurityUtils.getSubject().getPrincipal();


先贴出异常




发现是同一类型竟然不能进行强制类型转换，使用]]></description><category></category></item><item><title><![CDATA[多线程之线程池的应用]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/75039697</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/75039697</guid><author>bubble21</author><pubDate>Wed, 12 Jul 2017 18:22:51 +0800</pubDate><description><![CDATA[我们在开发的过程中经常会遇到多线程问题，多线程在整个java基础也是计较重要的知识点。今天跟大家分享一个我在写程序过程中遇到的线程池的简单应用。
线程池
如何使用
一创建线程池的方法
二创建任务
三执行任务
四关闭线程池
五案例分享在Java1.5中提供了一个非常高效实用的多线程包：java.util.concurrent,提供了大量高级工具，可以帮助开发者编写高效易维护、结构清晰的Java多线程程]]></description><category></category></item><item><title><![CDATA[设计模式之单例模式]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/75037596</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/75037596</guid><author>bubble21</author><pubDate>Wed, 12 Jul 2017 17:49:09 +0800</pubDate><description><![CDATA[之前我们在学习javase的时候曾学习了单例模式，单例模式应该是设计模式中比较简单的一个，也是非常常见的，但是在多线程并发的环境下使用却是不那么简单了，今天给大家分享一个我在开发过程中遇到的单例模式的应用。
单例模式的定义：一个类有且仅有一个实例，并且自行实例化向整个系统提供。
单例模式的要素：
1.私有的静态的实例对象
2.私有的构造函数（保证在该类外部，无法通过new的方式来创建对象实例）
3.]]></description><category></category></item><item><title><![CDATA[记：使用Nginx搭建图片服务器]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/75013954</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/75013954</guid><author>bubble21</author><pubDate>Wed, 12 Jul 2017 14:55:11 +0800</pubDate><description><![CDATA[早就耳有所闻Nginx的强大，由于下一项目使用到Nginx，今天在本机体检了一把。记录一下整个安装配置的过程以及使用过程中遇到的问题。
首先到官网下载相对应的版本—下载链接 
  
我是在window环境下测试的，下载对应的版本 
 
下载后的目录机构如下 
常用的命令
  start nginx //启动nginx 
  nginx -s stop // 停止nginx 
  nginx -s r]]></description><category></category></item><item><title><![CDATA[HttpClient介绍及入门案例]]></title><link>https://blog.youkuaiyun.com/bubble21/article/details/75004451</link><guid>https://blog.youkuaiyun.com/bubble21/article/details/75004451</guid><author>bubble21</author><pubDate>Wed, 12 Jul 2017 09:44:41 +0800</pubDate><description><![CDATA[HttpClient介绍及入门案例HttpClient介绍及入门案例
什么是httpClient
HttpClient主要功能
场景模拟
如何使用
入门案例
什么是httpClient？
  HttpClient 是 Apache Jakarta Common 下的子项目，用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包，并且它支持 HTTP 协议最新的版本和建议。让Java]]></description><category></category></item></channel></rss>