<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[flame1980的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/flame1980</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; flame1980]]></copyright><item><title><![CDATA[RestTemplate调用Gitlab Rest Api踩坑记]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/108643508</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/108643508</guid><author>flame1980</author><pubDate>Tue, 25 Jun 2024 10:35:57 +0800</pubDate><description><![CDATA[背景
最近开了个新项目，项目中需要使用RestTemplate调用gitlab的api，获取文件内容

gitlab给的例子是这样的
--header "PRIVATE-TOKEN: &lt;your_access_token&gt;" "https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb/raw?ref=master"

也就是说file_path是需要encode的。文档看过代]]></description><category></category></item><item><title><![CDATA[mysql-connector-java8 时间字段保存错误排查(一)]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/108575503</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/108575503</guid><author>flame1980</author><pubDate>Mon, 14 Sep 2020 11:08:54 +0800</pubDate><description><![CDATA[背景
最近新开一个项目，创建工程时为了与时俱进，springboot使用了2.3.3.RELEASE，orm框架使用mybatis，mybatis-spring-boot-starter相应的使用了2.1.3，mybatis generator使用了1.4.0。
然后就是巴拉巴拉码代码（顺便吐槽下mabatis-generator使用MyBatis3DynamicSql方式生成的代码，使用起来跟jooq还真特么像啊哈哈。）
好了，代码码好开始自测了，结果发现问题了

保存记录的时候，mysql表的times]]></description><category></category></item><item><title><![CDATA[k8s相关]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/102614220</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/102614220</guid><author>flame1980</author><pubDate>Fri, 18 Oct 2019 11:38:44 +0800</pubDate><description><![CDATA[KubernetesService 的type

默认是ClusterIP

Type的取值以及行为如下：

ClusterIP：通过集群的内部 IP 暴露服务，选择该值，服务只能够在集群内部可以访问。

NodePort：通过每个 Node 上的 IP 和静态端口（NodePort 默认30000-32767）暴露服务。NodePort服务会路由到ClusterIP服务，这个...]]></description><category></category></item><item><title><![CDATA[k8s CrashLoopBackOff]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/102519482</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/102519482</guid><author>flame1980</author><pubDate>Sat, 12 Oct 2019 14:27:03 +0800</pubDate><description><![CDATA[ingress-service-pods

1、列出pods

kubectl get po -n kube-system

输出：

NAME                   READY  STATUS       RESTARTS  AGE

traefik-ingress-5488dc6fb4-z79x5     0/1  ...]]></description><category></category></item><item><title><![CDATA[spring exposeProxy  AopContex.currentProxy()]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/102483651</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/102483651</guid><author>flame1980</author><pubDate>Thu, 10 Oct 2019 15:34:25 +0800</pubDate><description><![CDATA[exposeProxy

Set whether the proxy should be exposed by the AOP framework as a ThreadLocal for retrieval via the AopContext class. This is usefulif an advised object needs to call another advised met...]]></description><category></category></item><item><title><![CDATA[杂]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98851803</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98851803</guid><author>flame1980</author><pubDate>Thu, 08 Aug 2019 12:00:53 +0800</pubDate><description><![CDATA[docker安装neo4j之后，发现了一些不一样的点，所以学习一下

一、ps -ef，发现进程信息是/sbin/tini -g -- /docker-entrypoint.sh neo4j，那么tini是什么玩意儿呢

照样查了几篇文章，总结一下就是操作系统需要init进程来收割僵尸进程，而之前一般情况下，docker里都不运行init进程，只运行应用进程，应用进程是不会去收割僵尸进程的，于是会...]]></description><category></category></item><item><title><![CDATA[spring aop的坑]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171470</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171470</guid><author>flame1980</author><pubDate>Mon, 29 Apr 2019 17:52:17 +0800</pubDate><description><![CDATA[现。
       既然要优化，第一步是得分析分析时间都消耗在哪里了，于是想在服务内的方法上加切面，使用spring的stopwatch来统计每次请求中每个方法执行的时间。写好了注解和切面，把注解加到方法上，然后本地跑起来测试，启动是成功了，但是dubbo admin上查无此服务，这就尴尬了，为什么呢。
       在dubbo AnnotationBean里打断点跟了下
 
        Service service = bean.getClass().getAnnotation(Servi]]></description><category></category></item><item><title><![CDATA[Spark Streaming vs Flink vs Storm vs Kafka Streams vs Samza：选择你的流处理框架]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171469</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171469</guid><author>flame1980</author><pubDate>Mon, 29 Apr 2019 14:16:28 +0800</pubDate><description><![CDATA[和技术的出现，数据增长率可能还会加速。      从技术上讲，这意味着大数据处理将变得更加复杂和具有挑战性。许多用例（例如移动广告，欺诈检测，出租车预订，护理监控等）需要在数据到达时实时进行处理，以便做出快速可行的决策。这就是分布式流处理变得非常流行的原因。    现在有许多开源流式计算框架可用。有趣的是，几乎所有这些框架都是在过去几年中发展起来的。因此，对于理解和区分流式框架而言，新人很容易混淆。在这篇文章中，我将首先讨论流式计算的种类和方方面面，然后再来比较最流行的开源流式计算框架：Flink，Spar]]></description><category></category></item><item><title><![CDATA[jvm 汇编码]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171468</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171468</guid><author>flame1980</author><pubDate>Thu, 14 Mar 2019 15:58:04 +0800</pubDate><description><![CDATA[un2());
    }

    public int fun() {
        int i = 10;
        try {
            return i;
        }  finally {
            i = 20;
        }
    }

    public StringBuilder fun2() {
        StringBuilder s = new StringBuilder(&quot;Hello&q]]></description><category></category></item><item><title><![CDATA[一个dubbo 异常]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171467</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171467</guid><author>flame1980</author><pubDate>Wed, 13 Mar 2019 12:02:41 +0800</pubDate><description><![CDATA[ParameterMessageInterpolator instead
	at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:102) ~[hibernate-validator-5.4.1.Final.jar:5.4.1.Final]
	at org.hibernat]]></description><category></category></item><item><title><![CDATA[kafka sensor相关]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171466</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171466</guid><author>flame1980</author><pubDate>Tue, 12 Mar 2019 10:39:23 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[kafka partition]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171465</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171465</guid><author>flame1980</author><pubDate>Mon, 11 Mar 2019 19:55:51 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[kafka commit mode]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171464</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171464</guid><author>flame1980</author><pubDate>Fri, 08 Mar 2019 10:21:22 +0800</pubDate><description><![CDATA[er&amp;lt;K, V&amp;gt; ackListener) {
			Assert.state(!this.isAnyManualAck || !this.autoCommit,
				&quot;Consumer cannot be configured for auto commit for ackMode &quot; + this.containerProperties.getAckMode());
			final Consumer&amp;lt;K, V&amp;gt; co]]></description><category></category></item><item><title><![CDATA[java metaspace]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171463</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171463</guid><author>flame1980</author><pubDate>Mon, 03 Dec 2018 15:45:04 +0800</pubDate><description><![CDATA[10846K(4019712K), 0.0119061 secs] [Times: user=0.10 sys=0.01, real=0.01 secs] 
1.867: [Full GC (Metadata GC Threshold) [PSYoungGen: 10758K-&amp;gt;0K(1223168K)] [ParOldGen: 88K-&amp;gt;10044K(2796544K)] 10846K-&amp;gt;10044K(4019712K), [Metaspace: 20875K-]]></description><category></category></item><item><title><![CDATA[maven archetype]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171462</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171462</guid><author>flame1980</author><pubDate>Thu, 08 Nov 2018 17:51:58 +0800</pubDate><description><![CDATA[mvn archetype:create-from-project
 
但是这样会把工程下所有文件都给打到archetype里去了，所以得加些配置，在目录建一个配置文件，
里面可以加入以下内容：
groupId   The default groupId of the generated project.

artifactId  The default artifactId of the generated project.

version  The default version of]]></description><category></category></item><item><title><![CDATA[mysql索引]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171461</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171461</guid><author>flame1980</author><pubDate>Fri, 02 Nov 2018 18:35:59 +0800</pubDate><description><![CDATA[了根节点和叶子节点，其他节点至少要有ceil(m/2)个孩子节点
3、如果根节点不是叶子节点，至少要有2个孩子节点
4、所有叶子节点都在同一层
5、每个节点保存了键值、数据、指针，假设为（k1,k2,....kn,p1,p2....pn），键值为记录的主键值，数据为除主键以外的其他内容，指针指向孩子节点的存储块地址
6、n的取值： ceil(m/2)+1 &amp;lt;= n &amp;lt;= m-1
7、键值按大小排序，p（i）数据块的键值都小于(ki),但是大于k(i-1)
b树查找时每]]></description><category></category></item><item><title><![CDATA[linux sudo]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/98171460</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/98171460</guid><author>flame1980</author><pubDate>Wed, 17 Oct 2018 11:33:01 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[java CompletionStage  CompletableFuture]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/84926768</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/84926768</guid><author>flame1980</author><pubDate>Tue, 09 Oct 2018 10:57:41 +0800</pubDate><description><![CDATA[
java.util.concurrent.CompletionStage
 
 * &amp;lt;li&amp;gt;The computation performed by a stage may be expressed as a
 * Function, Consumer, or Runnable (using methods with names including
 * &amp;lt;em&amp;gt...]]></description><category></category></item><item><title><![CDATA[dubbo 动态配置]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/84926472</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/84926472</guid><author>flame1980</author><pubDate>Thu, 27 Sep 2018 17:37:14 +0800</pubDate><description><![CDATA[
RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry = registryFactory.getRegistry(URL.valueOf(&quot;zookeeper://10.20.15...]]></description><category></category></item><item><title><![CDATA[dubbo2.5.7 reference源码阅读]]></title><link>https://blog.youkuaiyun.com/flame1980/article/details/84926469</link><guid>https://blog.youkuaiyun.com/flame1980/article/details/84926469</guid><author>flame1980</author><pubDate>Thu, 27 Sep 2018 17:02:37 +0800</pubDate><description><![CDATA[
public class ReferenceBean&amp;lt;T&amp;gt; extends ReferenceConfig&amp;lt;T&amp;gt; implements FactoryBean, ApplicationContextAware, InitializingBean, DisposableBean
 afterPropertiesSet()，初始化consumer、application、...]]></description><category></category></item></channel></rss>