<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wantLight的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wantLight</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wantLight]]></copyright><item><title><![CDATA[Java 工程师成神之路-基础总结]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/108147436</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/108147436</guid><author>wantLight</author><pubDate>Fri, 05 Mar 2021 13:58:52 +0800</pubDate><description><![CDATA[文章目录Java基本类型值传递与引用传递二、使用步骤1.引入库总结


Java基本类型
计算机的基本单位：bit .　　一个bit代表一个0或1
byte（字节）：1byte = 8bit　　　　 1个字节是8个bit
short：2byte
int：4byte
long：8byte
float：4byte
double：8byte
boolean：1byte
char：2byte
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学习这门技术也越来越重要，很多人都开启了学习机器]]></description><category></category></item><item><title><![CDATA[Spring cloud Alibaba小白入门指南]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/105757179</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/105757179</guid><author>wantLight</author><pubDate>Thu, 04 Mar 2021 14:26:03 +0800</pubDate><description><![CDATA[Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件，方便开发者通过
Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 官网链接：
https://github.com/alibaba/spring-cloud-alibaba/wiki

学习一个项目，首先就是配置好自己的idea咯~
mark 一些快捷键...]]></description><category></category></item><item><title><![CDATA[Eggo-Go语言底层学习]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/114079009</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/114079009</guid><author>wantLight</author><pubDate>Tue, 02 Mar 2021 15:44:08 +0800</pubDate><description><![CDATA[字符咋存？utf8咋编码？string啥结构？
字符
8个比特组成一个字节。
存字符就是存编号。（字符集）
utf8 go语言默认编码
存汉字怎么破 - 定长编码 - 变长编码

string
s = "test"
s[2] 可以打印，但不能被修改。
要修改的话，可以重新赋值字符串。或者转为slice


字符串变量可以共享底层内容。
Slice
扩容规则。

newCap个元素需多大内存
这里和语言的 内存管理模块 决定。匹配到合适的内存规格。
例如这里 newCap = 5，需要 5*8 = 40byt]]></description><category></category></item><item><title><![CDATA[Go专家编程-定时器]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109767428</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109767428</guid><author>wantLight</author><pubDate>Thu, 25 Feb 2021 12:10:36 +0800</pubDate><description><![CDATA[本文为《Go专家编程》读书笔记~

Go专家编程



]]></description><category></category></item><item><title><![CDATA[Go专家编程-并发控制 Channel/WaitGroup/Context +反射]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109745107</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109745107</guid><author>wantLight</author><pubDate>Wed, 18 Nov 2020 17:28:18 +0800</pubDate><description><![CDATA[本文为《Go专家编程》读书笔记~

Go专家编程并发控制ChannelWaitGroup信号量数据结构Add(delta int)Wait()Done()ContextContext接口Deadline()Done()Err()Value()cancelCtxDone()接口实现Err()接口实现cancel()接口实现WithCancel()方法实现timerCtxDeadline()接口实现cancel()接口实现valueCtxValue（）接口实现tips


并发控制
协程A执行过程中需要创建子协]]></description><category></category></item><item><title><![CDATA[Go专家编程-协程]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109739439</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109739439</guid><author>wantLight</author><pubDate>Tue, 17 Nov 2020 16:00:15 +0800</pubDate><description><![CDATA[本文为《Go专家编程》读书笔记~

Go专家编程协程线程池的缺陷Goroutine调度器Goroutine调度策略队列轮转系统调用工作量窃取GOMAXPROCS设置对性能的影响


协程
线程池的缺陷
任务队列中的每一个任务称作G，而G往往代表一个函数。线程池中的线程worker线程不 断的从任务队列中取出任务并执行。而worker线程的调度则交给操作系统进行调度。
如果worker线程执行的G任务中发生系统调用，则操作系统会将该线程置为阻塞状态，也意味着该线程在怠工，也意 味着消费任务队列的worker线]]></description><category></category></item><item><title><![CDATA[Go专家编程-常见控制结构实现原理]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109728355</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109728355</guid><author>wantLight</author><pubDate>Tue, 17 Nov 2020 11:37:39 +0800</pubDate><description><![CDATA[本文为《Go专家编程》读书笔记~

Go专家编程常见控制结构实现原理defer规则一：延迟函数的参数在defer语句出现时就已经确定了规则二：延迟函数执行按后进先出顺序执行，即先出现的 defer最后执行（栈）规则三：延迟函数可能操作主函数的具名返回值函数返回过程主函数拥有匿名返回值，返回字面值主函数拥有匿名返回值，返回变量defer原理select实现原理case数据结构select实现逻辑总结range优化：range for slicerange for maprange for channel


]]></description><category></category></item><item><title><![CDATA[Go专家编程-常见数据结构实现原理]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109715484</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109715484</guid><author>wantLight</author><pubDate>Mon, 16 Nov 2020 19:52:41 +0800</pubDate><description><![CDATA[本文为《Go专家编程》读书笔记~

Go专家编程常见数据结构实现原理1.1 chan1.前言2.chan数据结构环形队列等待队列类型信息锁3.channel读写向channel写数据从channel读数据关闭channel1.2 sliceSlice 扩容Slice Copy总结mapbucket数据结构哈希冲突负载因子渐进式扩容增量扩容等量扩容查找过程插入过程structTagiotastring[]byte转string字符串拼接


常见数据结构实现原理
本章主要介绍常见的数据结构，比如channel]]></description><category></category></item><item><title><![CDATA[Java转Go初步学习（并发）]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109463802</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109463802</guid><author>wantLight</author><pubDate>Thu, 05 Nov 2020 11:49:06 +0800</pubDate><description><![CDATA[最近面试成功了腾讯教育子公司。以后得从事Go语言开发相关工作啦，特此在这记录下Go基础学习。
参考链接： https://tour.go-zh.org/
Go并发Go程信道 （&lt;-）无缓冲通道带缓冲的信道range循环信道需要配合close关闭select 语句sync.Mutex 互斥

Go程
Go 程（goroutine）是由 Go 运行时管理的轻量级线程。
// 会启动一个新的 Go 程并执行 f(x, y, z)
go f(x, y, z)

信道 （&lt;-）
信道是带有类型的管道，你可]]></description><category></category></item><item><title><![CDATA[Java转Go初步学习（方法和接口篇）]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109451669</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109451669</guid><author>wantLight</author><pubDate>Tue, 03 Nov 2020 09:31:42 +0800</pubDate><description><![CDATA[最近面试成功了腾讯教育子公司。以后得从事Go语言开发相关工作啦，特此在这记录下Go基础学习。
参考链接： https://tour.go-zh.org/
Go方法和接口方法指针接收者方法与指针重定向选择值或指针作为接收者接口接口与隐式实现接口值nil 接口值空接口类型断言 (访问接口值底层具体值)类型选择 switch v := i.(type)Stringer接口错误Reader

方法
Go 没有类。不过你可以为结构体类型定义方法。

方法就是一类带特殊的 接收者 参数的函数。
方法接收者在它自己的参数]]></description><category></category></item><item><title><![CDATA[Java转Go初步学习（基础篇）]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109327279</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109327279</guid><author>wantLight</author><pubDate>Sat, 31 Oct 2020 18:09:59 +0800</pubDate><description><![CDATA[最近面试成功了腾讯教育子公司。以后得从事Go语言开发相关工作啦，特此在这记录下Go基础学习。
参考链接： https://tour.go-zh.org/

包、变量、和函数
包 （package main）
每个 Go 程序都是由包构成的。
程序从 main 包开始运行。

在 Go 中，如果一个名字以大写字母开头，那么它就是已导出的。

函数

函数可以返回任意数量的返回值。
当连续两个或多个函数的已命名形参类型相同时，除最后一个类型以外，其它都可以省略。
没有参数的 return 语句返回已命名的返回值]]></description><category></category></item><item><title><![CDATA[一些项目架构设计]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/107833548</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/107833548</guid><author>wantLight</author><pubDate>Sat, 24 Oct 2020 13:49:18 +0800</pubDate><description><![CDATA[秒杀系统


资源静态化  提前将页面放入cdn服务器
秒杀链接加盐 URL动态化
前端限流 按钮置为灰色
后端限流 卖1000件，允许进入1w个请求。 Nginx再做负载均衡
风险控制 去除机器账号
Redis集群 库存预热，使用事务操作确保不超卖
消息队列 流量削峰填谷
数据库分库
分布式事务
TCC和最终一致性其实不是很适合，TCC开发成本很大，所有接口都要写三次，因为涉及TCC的三个阶段。
最终一致性基本上都是靠轮训的操作去保证一个操作一定成功，那时效性就大打折扣了。
两段式（2PC）和三段式（3P]]></description><category></category></item><item><title><![CDATA[SpringBoot下Postgre GeoJson数据查询处理]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/109067758</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/109067758</guid><author>wantLight</author><pubDate>Wed, 14 Oct 2020 10:54:01 +0800</pubDate><description><![CDATA[1. 一条 Sql 命令直接从 Postgre 数据库，查询出 GeoJson 格式数据
GeoJson数据一般存储在Postgre 数据库，参考其它blog查询出来对应的json数据。
	SELECT
          row_to_json ( fc ) 
       FROM
           (
       SELECT
           'FeatureCollection' AS type,
           array_to_json ( array_agg ( f ) ) ]]></description><category></category></item><item><title><![CDATA[敖丙思维导图-Dubbo]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/108580197</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/108580197</guid><author>wantLight</author><pubDate>Mon, 05 Oct 2020 14:38:01 +0800</pubDate><description><![CDATA[敖丙思维导图系列目录
这些知识整理都是自己查阅帅丙资料（当然还有其他渠道）加以总结滴~ 每周都会更新知识进去。
如有不全或错误还请大家在评论中指出~


敖丙思维导图-集合
敖丙思维导图-多线程之synchronized\ThreadLocal\Lock\Volatitle\线程池
敖丙思维导图-JVM知识整理
敖丙思维导图-Spring
敖丙思维导图-Redis
敖丙思维导图-RocketMQ+Zookeeper
敖丙思维导图-Mysql数据库
敖丙思维导图-网络基础
敖丙思维导图-Dubbo

本文章目]]></description><category></category></item><item><title><![CDATA[Elasticsearch7.X 打卡学习(随缘更新。。)]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/108513406</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/108513406</guid><author>wantLight</author><pubDate>Mon, 28 Sep 2020 17:15:25 +0800</pubDate><description><![CDATA[文章目录ElasticSearch概念索引(index)映射(mapping)文档(document)字段(field)集群(cluster)节点(node)分片和副本(shard)ElasticSearch7.0重大改进ES 的一些基本原理es 写数据过程写数据底层原理删除/更新数据底层原理es 读数据过程es 搜索数据过程底层 lucene倒排索引

ElasticSearch概念
索引(index)
类似的数据放在一个索引，非类似的数据放不同索引， 一个索引也可以理解成一个关系型数据库。
映射(map]]></description><category></category></item><item><title><![CDATA[idea Error:(3, 32) java: 程序包xxxx不存在]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/108233527</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/108233527</guid><author>wantLight</author><pubDate>Mon, 21 Sep 2020 18:01:44 +0800</pubDate><description><![CDATA[项目场景：
 最近新买的电脑安装idea后，跑以前的程序总会报错。重新下载一个Spring Boot项目还是启动不起来。。后面才发现问题所在

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200826093351483.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbnRMaWdodA==,size_1]]></description><category></category></item><item><title><![CDATA[敖丙思维导图-网络基础]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/106504605</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/106504605</guid><author>wantLight</author><pubDate>Mon, 14 Sep 2020 15:30:37 +0800</pubDate><description><![CDATA[脑图来自csdn-敖 丙


]]></description><category></category></item><item><title><![CDATA[shell脚本定时同步远程数据库数据]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/108399447</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/108399447</guid><author>wantLight</author><pubDate>Fri, 04 Sep 2020 11:00:44 +0800</pubDate><description><![CDATA[两个数据库之间同步数据有很多种方式，基于binlog解析、基于kettle处理、亦或者基于mysqldump处理。由于我们这两台服务器仅作数据记录使用，实时性要求不高，故采用shell脚本+mysqldump处理。

目录Shell脚本配置Linux定时任务配置打开crontab修改crontab配置

Shell脚本配置
#!/bin/bash
# 配置数据库账号密码
username='xxx'
password='pppp'
target_username='yyy'
target_password=]]></description><category></category></item><item><title><![CDATA[美团-从ReentrantLock的实现看AQS的原理及应用]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/108317013</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/108317013</guid><author>wantLight</author><pubDate>Mon, 31 Aug 2020 14:34:38 +0800</pubDate><description><![CDATA[文章目录前言1 ReentrantLock1.1 ReentrantLock特性概览1.2 ReentrantLock与AQS的关联2 AQS2.1 原理概览2.1.1 AQS数据结构2.1.2 同步状态State2.2 AQS重要方法与ReentrantLock的关联加锁解锁2.3 通过ReentrantLock理解AQS2.3.1 线程加入等待队列2.3.1.1 加入队列的时机2.3.1.2 如何加入队列2.3.1.3 等待队列中线程出队列时机2.3.2 CANCELLED状态节点生成2.3.3 如何解]]></description><category></category></item><item><title><![CDATA[美团Java线程池实现原理与常见问题]]></title><link>https://blog.youkuaiyun.com/wantLight/article/details/107997290</link><guid>https://blog.youkuaiyun.com/wantLight/article/details/107997290</guid><author>wantLight</author><pubDate>Fri, 14 Aug 2020 11:46:35 +0800</pubDate><description><![CDATA[随着计算机行业的飞速发展，摩尔定律逐渐失效，多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池ThreadPoolExecutor类，帮助开发人员管理线程并方便地执行并行任务。
提示：本文开篇简述线程池概念和用途，接着结合线程池的源码，帮助读者领略线程池的设计思路，最后回归实践，通过案例讲述使用线程池遇到的问题，并给出了一种动态化线程池解决方案。]]></description><category></category></item></channel></rss>