<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kyfxing的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kyfxing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kyfxing]]></copyright><item><title><![CDATA[一看你就懂，超详细java中的ClassLoader详解]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/109469466</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/109469466</guid><author>kyfxing</author><pubDate>Tue, 03 Nov 2020 15:05:59 +0800</pubDate><description><![CDATA[ClassLoader翻译过来就是类加载器，普通的java开发者其实用到的不多，但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制，也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去，程序就可以正确运行了。但是，jvm启动的时候，并不会一次性加载所有的class文件，而是根据需要去动态加载。想想也是的，一次性加载那么多jar包那么多class，那内存不崩溃。本文的目的也是学习ClassLoader这种加载机制。

备注：本文篇幅比]]></description><category></category></item><item><title><![CDATA[在POM配置Maven plugin提示错误“Plugin execution not covered by lifecycle configuration”的解决方案]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/109469090</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/109469090</guid><author>kyfxing</author><pubDate>Tue, 03 Nov 2020 14:39:56 +0800</pubDate><description><![CDATA[eclipse在其POM文件的一处提示出错如下：

Pluginexecutionnotcoveredbylifecycleconfiguration:org.apache.maven.plugins:maven-source-plugin:3.1:compile(execution:default-compile,phase:compile)

查阅各种资料，折腾好久，这表示m2e在其执行maven的生命周期管理时没有定义该插件，所以提示出错，其实m2e对此是提供了扩展机制的，我们可以...]]></description><category></category></item><item><title><![CDATA[Maven 生成打包可执行jar包]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/109468740</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/109468740</guid><author>kyfxing</author><pubDate>Tue, 03 Nov 2020 14:28:12 +0800</pubDate><description><![CDATA[文章目录


	1. 需求
		2. 开发环境
		3. Maven打包插件介绍
		4. Maven使用maven-jar-plugin打可执行jar包
		5. Maven使用maven-assembly-plugin装需要打包的文件打进zip包
		6. Maven生成可执行jar包及zip项目压缩包
		7. 执行jar包
		8. pom.xml配置
		9. package.xml文件
	

最近IDEA打可执行Jar包搞了三天，一直失败，好好学习一下Maven-assembly，在此记录一下
]]></description><category></category></item><item><title><![CDATA[tomcat启动时非常慢，启动时 一直卡在Root WebApplicationContext: initialization completed in 744ms]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/108009745</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/108009745</guid><author>kyfxing</author><pubDate>Fri, 14 Aug 2020 17:09:39 +0800</pubDate><description><![CDATA[每次重启自己的服务tomcat都需要卡住很长时间，每次都是日志停在
Root WebApplicationContext: initialization completed in 744 ms这个地方，然后也不知道发生了什么，在等待
什么，网上看到了一篇博文，mark下

问题现象

美女同事找我解决一个问题，说Tomcat启动很慢。开始我以为是程序写的问题，所以把webapps下所有程序都删除掉。（只保留Tomcat自带）灵异的事情发生了，Tomcat停止在——




我查看了一下进程，Tomcat所.]]></description><category></category></item><item><title><![CDATA[tomcat启动一直卡在Root WebApplicationContext: initialization completed]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/108009678</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/108009678</guid><author>kyfxing</author><pubDate>Fri, 14 Aug 2020 17:02:13 +0800</pubDate><description><![CDATA[tomcat启动一直卡在Root WebApplicationContext: initialization completed



wwdwjm2017-09-04 17:57:467458收藏

分类专栏：运维

版权

我在阿里云上安装docker然后在docker容器里启动tomcat一直卡在Root WebApplicationContext: initialization completed in 2520 ms以后要等3分钟才会启动我上传上去的项目 后来看到http://www....]]></description><category></category></item><item><title><![CDATA[Spring Cloud Sleuth超详细实战]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/103703226</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/103703226</guid><author>kyfxing</author><pubDate>Wed, 25 Dec 2019 17:49:18 +0800</pubDate><description><![CDATA[为什么需要Spring Cloud Sleuth

  微服务架构是一个分布式架构，它按业务划分服务单元，一个分布式系统往往有很多个服务单元。由于服务单元数量众多，业务的复杂性，如果出现了错误和异常，很难去定位。主要体现在，一个请求可能需要调用很多个服务，而内部服务的调用复杂性，决定了问题难以定位。所以微服务架构中，必须实现分布式链路追踪，去跟进一个请求到底有哪些服务参与，参与的顺序又是怎样...]]></description><category></category></item><item><title><![CDATA[http client对post内容gzip压缩和server端解压接收]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/102801171</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/102801171</guid><author>kyfxing</author><pubDate>Tue, 29 Oct 2019 15:54:43 +0800</pubDate><description><![CDATA[client端代码：

  public void sendHttp(String url, String message) {
   if (StringUtils.isBlank(message)) {
    LOGGER.info("a blank message, return.");
    return;...]]></description><category></category></item><item><title><![CDATA[spring cloud/spring boot同时支持http和https访问]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/102587095</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/102587095</guid><author>kyfxing</author><pubDate>Wed, 16 Oct 2019 15:55:20 +0800</pubDate><description><![CDATA[前言

　　关于springboot同时支持http和https访问，

在springboot官网

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-servlet-containers.html#howto-enable-multiple-connectors-in-tomcat

...]]></description><category></category></item><item><title><![CDATA[Springboot配置使用ssl，使用https]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/102586888</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/102586888</guid><author>kyfxing</author><pubDate>Wed, 16 Oct 2019 15:49:56 +0800</pubDate><description><![CDATA[SSL（Secure Sockets Layer 安全套接层）是为网络通信提供安全及数据完整性的一种安全协议，SSL在网络传输层对网络连接进行加密，SSL协议位于TCP/IP协议与各种应用层协议之间，为数据通信提供安全支持。SSL协议分为两层，SSL记录协议建立在TCP之上，为高层协议提供数据封装、压缩、加密等基本功能支持。SSL握手协议建立在SSL记录协议之上，用户实际数据传输开始前进行身份验证...]]></description><category></category></item><item><title><![CDATA[netty:http+xml 的 demo]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/101533210</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/101533210</guid><author>kyfxing</author><pubDate>Fri, 27 Sep 2019 14:26:16 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接和本声明。
本文链接：https://blog.youkuaiyun.com/qq_38062410/article/details/79073166
netty5.0版本的，简单的一个例子，用于学习交流，废话不多说，直接上代码；

一，pom文件

&lt;project xmlns="http://maven.a...]]></description><category></category></item><item><title><![CDATA[logback 中文显示乱码问题,设置utf-8格式]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/96174417</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/96174417</guid><author>kyfxing</author><pubDate>Tue, 16 Jul 2019 19:46:27 +0800</pubDate><description><![CDATA[SLF4J+LOG4J,在日志中能正常显示中文字符，然后尝试切换使用SLF4J+LOGBACK,发现中文字符全是乱码。网上搜索了下，发现遇到相同问题的同学不少，解决方案如下：
1.设置Encoding。在appender中增加一行&lt;Encoding&gt;UTF-8&lt;/Encoding&gt;，但是在启动中报错，说是不能识别Encoding元素。有人说Encoding在0.9.22以...]]></description><category></category></item><item><title><![CDATA[logback和log4j比较，前者是后者改良，logback配置详解]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/96174264</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/96174264</guid><author>kyfxing</author><pubDate>Tue, 16 Jul 2019 19:45:24 +0800</pubDate><description><![CDATA[一、logback的介绍
　　Logback是由log4j创始人设计的另一个开源日志组件,官方网站： http://logback.qos.ch。它当前分为下面下个模块：
　　logback-core：其它两个模块的基础模块
　　logback-classic：它是log4j的一个改良版本，同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging...]]></description><category></category></item><item><title><![CDATA[JVM规范学习：invokestatic]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/87109957</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/87109957</guid><author>kyfxing</author><pubDate>Tue, 12 Feb 2019 19:38:19 +0800</pubDate><description><![CDATA[http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.invokestatic

invokestatic

操作：

调用一个类(static)方法。

格式：

invokestatic
indexbyte1
indexbyte2

编码：

invokestatic = 184 (0xb8)

操作数栈
...]]></description><category></category></item><item><title><![CDATA[JVM规范学习：invokevirtual]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/87109911</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/87109911</guid><author>kyfxing</author><pubDate>Tue, 12 Feb 2019 19:37:38 +0800</pubDate><description><![CDATA[本文参考：http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.invokevirtual

invokevirtual

操作：

调用实例方法，基于类进行分派

格式：

invokevirtual
indexbyte1
indexbyte2

编码：

invokevirtual = 182 (0xb6)...]]></description><category></category></item><item><title><![CDATA[Java对象和数组操作(二)]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/85756162</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/85756162</guid><author>kyfxing</author><pubDate>Fri, 04 Jan 2019 13:05:19 +0800</pubDate><description><![CDATA[针对数组的操作码

        实例化新数组的工作可以通过newarray，anewarray和multianewarray操作码来完成。newarray操作码用来创建基本类型的数组，而不是对象引用的数组。基本类型由紧随newarray操作码的单字节操作数“atype”指定。

创建数组


			操作码
			
			
			操作数
			
			
			说明
			
		
			newar...]]></description><category></category></item><item><title><![CDATA[Java对象和数组操作]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/85637371</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/85637371</guid><author>kyfxing</author><pubDate>Thu, 03 Jan 2019 09:32:56 +0800</pubDate><description><![CDATA[        在java虚拟机中，内存只能以对象形式在垃圾收集堆中分配。除非作为对象的一部分，否则不能为基本类型在堆中分配内存。如果需要在必须使用对象引用的场合使用基本类型，可以从java.lang包中为类型分配一个包装器对象。

        只有对象引用和基本类型可以在java的栈中已局部变量形式存在。java栈不能容纳对象。

        java虚拟机中的对象和基本类型的结构分离，...]]></description><category></category></item><item><title><![CDATA[Java基本类型转换]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/85094276</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/85094276</guid><author>kyfxing</author><pubDate>Wed, 19 Dec 2018 13:02:27 +0800</pubDate><description><![CDATA[ 

Java虚拟机包括许多进行基本类型转换工作的操作码，这些执行转换工作的操作码后面没有操作数，转换的值从栈顶断获得。Java虚拟机从栈顶端弹出一个值，对它进行转换，然后再把转换结果压入栈。

int、long、float、double 类型之间的相互转换，针对这四种类型之间的每一种可能的类型转换，都存在相应的操作码


			操作码
			
			
			操作数
			
			
			说明
	...]]></description><category></category></item><item><title><![CDATA[Java栈和局部变量操作（二）]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/85012529</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/85012529</guid><author>kyfxing</author><pubDate>Mon, 17 Dec 2018 13:03:52 +0800</pubDate><description><![CDATA[通用栈操作

        尽管java虚拟机指令集中的大多数指令都只处理一种特定的类型，但还是有些指令能进行类型无关的栈操作。这些通用（无类型）的指令不能用于分解两个字长的值。这些指令如下表：


			操作码
			
			
			操作数
			
			
			说明
			
		
			nop
			
			
			（无）
			
			
			不做任何操作
			
		
			pop
		...]]></description><category></category></item><item><title><![CDATA[java 栈和局部变量操作（一）]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/84982146</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/84982146</guid><author>kyfxing</author><pubDate>Thu, 13 Dec 2018 20:44:56 +0800</pubDate><description><![CDATA[Java栈和局部变量操作

Java虚拟机是基于栈的机器，几乎所有Java虚拟机的指令都与操作数栈相关。栈操作包括把常量压入操作数栈、执行通用的栈操作、在操作数栈和局部变量之间往返传输值。

1常量入栈操作：

操作码在执行常量入栈操作之前，使用三种方式指明常量的值：常量值隐含包含在操作码内部、常量值在字节码中如同操作数一样跟随在操作码之后，或者从常量池中取出常量。

    一些操作码自行指明入...]]></description><category></category></item><item><title><![CDATA[JAVA以UTF-8导出CSV文件，用excel打开产生乱码的解决方法]]></title><link>https://blog.youkuaiyun.com/kyfxing/article/details/81508483</link><guid>https://blog.youkuaiyun.com/kyfxing/article/details/81508483</guid><author>kyfxing</author><pubDate>Wed, 08 Aug 2018 15:05:59 +0800</pubDate><description><![CDATA[

 


	OutputStreamWriter osw = new OutputStreamWriter(resp.getOutputStream(), &quot;UTF-8&quot;); 
	
	
	// 要输出的内容 
	
	
	result = (String)contentMap.get(RESPONSE_RESULT); 
	
	
	resp.setHeader(&quot;Content-Dispositi...]]></description><category></category></item></channel></rss>