<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DemoD_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DemoD_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DemoD_]]></copyright><item><title><![CDATA[【golang-技巧】- context 使用]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/143901245</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/143901245</guid><author>DemoD_</author><pubDate>Wed, 20 Nov 2024 08:59:26 +0800</pubDate><description><![CDATA[context.Context 是 Go 语言标准库中的一个类型，用于在多个 Goroutine 之间传递请求的上下文，以及控制请求的生命周期。Context 类型提供了一种机制，可以让程序在一个请求或操作被取消或超时时，及时释放资源或退出。以下是 context.Context 的作用、应用场景、最佳实践和代码实例。context.Context 的主要作用是传递请求的上下文信息，并控制请求的生命周期。它可以用来传递请求的元数据、请求 ID、用户信息等，在多个 Goroutine 之间进行传递和访问。]]></description><category></category></item><item><title><![CDATA[【golang-技巧】-自定义k8s-operator-by kubebuilder]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/143776093</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/143776093</guid><author>DemoD_</author><pubDate>Thu, 14 Nov 2024 17:18:58 +0800</pubDate><description><![CDATA[link : 
https://juejin.cn/post/7192525316890296380
https://book.kubebuilder.io/quick-start

2.simple operator

3.结论
我的理解 本质是是 k8s 提供crd 机制 ，kubebuilder 提供了一个脚手架那么我们通过 list/watch 自定义crd ，从而实现 自定义crd 要管理/创建 不同类型的工作负载或pod实现自定义的pod管理机制或着 实现自己应用平台 一整套逻辑 减轻实施部署同]]></description><category></category></item><item><title><![CDATA[【golang-技巧】- 定时任务 - cron]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/143775858</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/143775858</guid><author>DemoD_</author><pubDate>Thu, 14 Nov 2024 17:06:07 +0800</pubDate><description><![CDATA[实现。]]></description><category></category></item><item><title><![CDATA[【golang-技巧】- 定时器使用-ticker]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/143775547</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/143775547</guid><author>DemoD_</author><pubDate>Thu, 14 Nov 2024 16:56:12 +0800</pubDate><description><![CDATA[通过 time.NewTicker 实现轻量级定时执行任务调度。通过 time.NewTicker 实现。]]></description><category></category></item><item><title><![CDATA[【golang-技巧】- pprof 添加开关]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/143775038</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/143775038</guid><author>DemoD_</author><pubDate>Thu, 14 Nov 2024 16:43:07 +0800</pubDate><description><![CDATA[由于直接引入 pprof 依赖 那么会导致 默认开启，且绑定默认listen端口这样做 不安全，同时有一些 代码扫描 通过不了。]]></description><category></category></item><item><title><![CDATA[【golang-技巧】-线上死锁问题排查-by pprof]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/143770084</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/143770084</guid><author>DemoD_</author><pubDate>Thu, 14 Nov 2024 16:36:28 +0800</pubDate><description><![CDATA[由于目前项目使用 cgo + golang 本地不能debug, 发生死锁问题，程序运行和期待不一致，通过日志排查可以大概率找到 阻塞范围，但是不能找到具体问题在哪里，同时服务器 通过k8s daemonset 部署没有更好的方式暴露端口 获取pprof web页面想通过 go tool pprof 排查问题但是 由于mac 还要安装依赖软件 所以使用docker 实现问题排查。]]></description><category></category></item><item><title><![CDATA[docker安装elastic的错误]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/109455520</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/109455520</guid><author>DemoD_</author><pubDate>Thu, 28 Oct 2021 16:27:10 +0800</pubDate><description><![CDATA[首先我的配置是:

version: "3.1"
services:
  elasticsearch:
    image: daocloud.io/library/elasticsearch:7.6.2
    restart: always
    container_name: elasticsearch
    ports:
      - 9200:9200
   
  kibana:
    image: daocloud.io/library/kibana:7.6.2
    restart.]]></description><category></category></item><item><title><![CDATA[mysql-MVCC]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/121017237</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/121017237</guid><author>DemoD_</author><pubDate>Thu, 28 Oct 2021 16:25:25 +0800</pubDate><description><![CDATA[MySQL的大多数事务型存储引擎实现的都不是简单的行级锁。基 于提升并发性能的考虑，它们一般都同时实现了多版本并发控制 （MVCC）。不仅是MySQL，包括Oracle、PostgreSQL等其他数据库系 统也都实现了MVCC，但各自的实现机制不尽相同，因为MVCC没有一 个统一的实现标准。


可以认为MVCC是行级锁的一个变种，但是它在很多情况下避免了 加锁操作，因此开销更低。虽然实现机制有所不同，但大都实现了非阻 塞的读操作，写操作也只锁定必要的行。
MVCC的实现，是通过保存数据在某个时间点的快照.]]></description><category></category></item><item><title><![CDATA[Mongodb索引]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/119673681</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/119673681</guid><author>DemoD_</author><pubDate>Fri, 13 Aug 2021 13:40:47 +0800</pubDate><description><![CDATA[转载：https://blog.youkuaiyun.com/fly910905/article/details/78184302

]]></description><category></category></item><item><title><![CDATA[前端解决axios跨域问题]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/109118404</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/109118404</guid><author>DemoD_</author><pubDate>Fri, 16 Oct 2020 15:58:12 +0800</pubDate><description><![CDATA[前端解决axios跨域问题
step1.
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI fr]]></description><category></category></item><item><title><![CDATA[LC47 binary-tree层级遍历]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108300162</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108300162</guid><author>DemoD_</author><pubDate>Sat, 29 Aug 2020 22:04:19 +0800</pubDate><description><![CDATA[题目

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param root TreeNode类 
     * @return int整型ArrayList&lt;ArrayList&lt;&g]]></description><category></category></item><item><title><![CDATA[JDBC续集，Druid与DbUtils实现事务]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108213113</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108213113</guid><author>DemoD_</author><pubDate>Tue, 25 Aug 2020 08:51:02 +0800</pubDate><description><![CDATA[文章目录简单实现Druid与DBUtils组合事务DruidUtilsEntityDaoServiceView
简单实现Druid与DBUtils组合事务

entity

User
Book
Catagory


Dao

UserDao
BookDao
CatagoryDao
Impl

UserDaoImpl
BookDaoImpl
CatagoryDaoImpl




Service

UserService
BookService
CatagoryService
Impl

UserServic]]></description><category></category></item><item><title><![CDATA[设计模式 java 转载]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108064477</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108064477</guid><author>DemoD_</author><pubDate>Mon, 17 Aug 2020 21:05:30 +0800</pubDate><description><![CDATA[原文地址：https://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html

]]></description><category></category></item><item><title><![CDATA[JVM  学习路线]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/107892159</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/107892159</guid><author>DemoD_</author><pubDate>Mon, 17 Aug 2020 21:00:26 +0800</pubDate><description><![CDATA[文章目录JVM
JVM



]]></description><category></category></item><item><title><![CDATA[Java JVM&GC]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108049039</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108049039</guid><author>DemoD_</author><pubDate>Mon, 17 Aug 2020 17:43:43 +0800</pubDate><description><![CDATA[文章目录JVM&amp;&amp;GC1.JVM概述什么是虚拟机？什么是Java虚拟机Java虚拟机架构Hostpot虚拟机共有设计，私有实现2.类加载类加载器类加载过程面试题双亲委托机制使用类加载器夹杂属性文件3.运行时数据区概念程序计数器虚拟机栈和本地方法栈栈帧栈帧结构-局部变量表栈帧结构-操作数栈Demo栈帧结构-动态连接栈帧结构-方法返回地址堆堆-对象分配策略Java对象方法区运行时常量池HotSpot方法区实现的变迁直接内存其他空间逃逸分析4.垃圾判断5.垃圾回收算法6.垃圾收集器
JVM&amp]]></description><category></category></item><item><title><![CDATA[LC 39  balanced-binary-tree]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108045780</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108045780</guid><author>DemoD_</author><pubDate>Sun, 16 Aug 2020 22:44:00 +0800</pubDate><description><![CDATA[题目

解题


首先利用递归计算左右子树高度，其中叶子阶段为空(base case)所以返回0；
计算高度int leftHeight=getHeight(root.left); int rightHeght=getHeight(root.right);
返回左右子树最大的高度
然后比较左右子树最大高度，发现根节点平衡了，左右数不一定平衡，所以继续递归，查看子树是否平衡。
理解递归，不要套在里边，要直接分析最简单的情况怎么实现，在宏观的查看规律。还有一定要设置出口条件，不然死循环出错。
这种解决方法复杂度]]></description><category></category></item><item><title><![CDATA[LC35 populating-next-right-pointers-in-each-node]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108044279</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108044279</guid><author>DemoD_</author><pubDate>Sun, 16 Aug 2020 21:31:05 +0800</pubDate><description><![CDATA[题目

解题


这个题的难点是两个相邻节点却不是同一个父亲的next的设置。
注意这个颗树是完全二叉树。

public class Solution{
    public void connect(TreeLinkNode root){
        if(root==null)return;
        while(root.left!=null){
            TreeLinkNode node=root;
            while(node!=null){
     ]]></description><category></category></item><item><title><![CDATA[LC31 triangle]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108038883</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108038883</guid><author>DemoD_</author><pubDate>Sun, 16 Aug 2020 17:21:38 +0800</pubDate><description><![CDATA[题目

解题



这是一个动态规划问题，查询最短路劲
先保存最后一行数据，
每次向上走都会减少一个选择，最后只有一个选择
如上图，倒数第二层开始选择相邻最小的路劲，往上迭代最后的结果就会出现在temp[0]的位置
最关键的就是上面这句代码，从下至上，动态的选择最短路径。

public static int minimumTotal(ArrayList&lt;ArrayList&lt;Integer&gt;&gt; triangle) {
        if (triangle.size() == 0 ]]></description><category></category></item><item><title><![CDATA[LC 29  best-time-to-buy-and-sell-stock-ii]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108037579</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108037579</guid><author>DemoD_</author><pubDate>Sun, 16 Aug 2020 16:17:58 +0800</pubDate><description><![CDATA[题目


解答

之后后一天比前一天贵就赚
其他情况都是亏的


    public static int maxProfit(int[] prices) {
        // write code here
        if (prices == null || prices.length &lt;= 0) {
            return 0;
        }
        int max = 0;
        for (int i = 1; i &lt; prices.le]]></description><category></category></item><item><title><![CDATA[LC10  linked-list-cycle]]></title><link>https://blog.youkuaiyun.com/DemoD_/article/details/108036904</link><guid>https://blog.youkuaiyun.com/DemoD_/article/details/108036904</guid><author>DemoD_</author><pubDate>Sun, 16 Aug 2020 15:33:58 +0800</pubDate><description><![CDATA[题目

解析


定义两个指针，一个遍历快，一个遍历慢(快慢指针)。
如果链表有环的话，两个指针会相见。
注意要判断fast.next!=null否则如果不是闭环会产生fast=null.next会报错，空指针异常。

/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 ]]></description><category></category></item></channel></rss>