<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[star_of_science的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/star_of_science</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; star_of_science]]></copyright><item><title><![CDATA[go排序二维数组，力扣：56. 合并区间(20ms)]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/123071751</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/123071751</guid><author>star_of_science</author><pubDate>Tue, 22 Feb 2022 16:44:27 +0800</pubDate><description><![CDATA[go排序二维数组，力扣：56. 合并区间]]></description><category></category></item><item><title><![CDATA[Go map底层原理（哈希表）]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121802354</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121802354</guid><author>star_of_science</author><pubDate>Wed, 08 Dec 2021 22:06:10 +0800</pubDate><description><![CDATA[了解hash表的实现机制，有助于使用哈希表进行深层次的调优。本文详细总结了map的底层实现原理。]]></description><category></category></item><item><title><![CDATA[Go map用法必记]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121777497</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121777497</guid><author>star_of_science</author><pubDate>Tue, 07 Dec 2021 20:09:12 +0800</pubDate><description><![CDATA[Go语言的map底层使用hash表实现

map初始化

字面量初始化

m := map[string]int{
	"jack": 100,
	"rose": 90,
}


内置函数make()初始化（指定容量可以有效减少内存分配的次数）

m := make(map[string]int, 10)
m["apple"] = 2
m["banana"] = 3


map增删改查


m := make([string]string, 10)
v, ok := m["apple"] //查询
if ok]]></description><category></category></item><item><title><![CDATA[二叉搜索树（BST）Go实现]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121737125</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121737125</guid><author>star_of_science</author><pubDate>Sun, 05 Dec 2021 22:40:25 +0800</pubDate><description><![CDATA[BST定义

二叉搜索树是二叉树的一种特殊表示形式，它满足如下特性：

每个节点中的值必须大于（或等于）存储在其左侧子树中的任何值。
	每个节点中的值必须小于（或等于）存储在其右子树中的任何值。





//定义二叉树节点
type TreeNode struct {    
	Val int    
	Left *TreeNode    
	Right *TreeNode
}
//定义二叉树
type BinareSearchTree struct {    
	Root *TreeNode
}


.]]></description><category></category></item><item><title><![CDATA[Go slice 用法及数据结构详解]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121736811</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121736811</guid><author>star_of_science</author><pubDate>Sun, 05 Dec 2021 22:24:34 +0800</pubDate><description><![CDATA[slice数据结构

array指针指向底层数组，len表示切片长度，cap表示底层数组容量


type slice struct {
	array unsafe.Pointer	//切片底层数组的起始位置
	len int             	//切片长度
	cap int					//切片容量
}








slice初始化

变量声明（与所有类型变量一样，变量声明后变量值为0，对于切片来讲，0值为nil）
	字面量（声明长度为0的切片时推荐使用变量声明的方式获得一个nil切片，因为ni.]]></description><category></category></item><item><title><![CDATA[Go defer（含面试题）]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121541435</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121541435</guid><author>star_of_science</author><pubDate>Thu, 25 Nov 2021 19:37:20 +0800</pubDate><description><![CDATA[defer衍生出来的各种用法让人眼花缭乱，但其实Go官方对defer的规则只有三条

规则一：延迟函数的参数在defer语句出现时就已经确定了


func func1() {
	i := 0
	defer fmt.Println(i)//输出0
	i++
	defer fmt.Println(i)//输出1
	return
}


输出：
1
0

defer语句中的 fmt.Println() 参数i值在defer出现时就已经确定了，实际上是复制了一份。后面对变量i的修改不会影响fmt.Println(]]></description><category></category></item><item><title><![CDATA[Go channel 测试题]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121305471</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121305471</guid><author>star_of_science</author><pubDate>Sat, 13 Nov 2021 15:44:59 +0800</pubDate><description><![CDATA[以下可以实现互斥锁的是？
- A：
```
var counter int = 0
var ch = make(chan int, 1)

func Worker() {
   ch &lt;- 1
   counter++
   &lt;-ch
}
```

- B：
```go
var counter int = 0
var ch = make(chan int)

func Worker() {
   &lt;-ch
   counter++
   ch &lt;- 1
}
```

- C：
``.]]></description><category></category></item><item><title><![CDATA[Go channel 用法示例]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121304600</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121304600</guid><author>star_of_science</author><pubDate>Sat, 13 Nov 2021 15:40:19 +0800</pubDate><description><![CDATA[1.单向管道


func writeChan(chanName chan&lt;- int) 通过形参限定函数内部只能向 channel 写入数据



func readChan(chanName &lt;-chan int)通过形参限定函数内部只能从 channel 中读取数据


//单向管道
func readChan(chanName &lt;-chan int) {
	&lt;-chanName
}
func writeChan(chanName chan&lt;- int) {
	chanN]]></description><category></category></item><item><title><![CDATA[Go channel 管道的用法和数据结构]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/121303186</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/121303186</guid><author>star_of_science</author><pubDate>Sat, 13 Nov 2021 14:43:15 +0800</pubDate><description><![CDATA[channel是Golang在语言层面提供的协程间的通信方式


1.声明channel的两种方式

变量声明
	
var ch chan int // 声明管道 此时ch == nil，
//对于值为 nil 的管道，无论读写都会阻塞，而且是永久阻塞
	
	使用make（）
	
ch1 := make(chan string)    // 无缓冲管道
ch2 := make(chan string, 5) // 带缓冲管道

fmt.Println(ch1 == nil) //false
fmt.Pr..]]></description><category></category></item><item><title><![CDATA[np.arange()和 range()的用法及区别]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/118820791</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/118820791</guid><author>star_of_science</author><pubDate>Fri, 16 Jul 2021 20:48:00 +0800</pubDate><description><![CDATA[np.arange()

np.arange()函数返回一个有终点和起点的固定步长的排列，如[1,2,3,4,5]，起点是1，终点是6，步长为1。
参数个数情况： np.arange()函数分为一个参数，两个参数，三个参数三种情况

一个参数时，参数值为终点，起点取默认值0，步长取默认值1。
	两个参数时，第一个参数为起点，第二个参数为终点，步长取默认值1。
	三个参数时，第一个参数为起点，第二个参数为终点，第三个参数为步长。其中步长支持小数
	

# 一个参数 默认起点0，步长为1 输出：[0 1 2 .]]></description><category></category></item><item><title><![CDATA[正态分布（高斯分布）及Python实现——计算机视觉修炼之路（三）]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/118820572</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/118820572</guid><author>star_of_science</author><pubDate>Fri, 16 Jul 2021 20:16:42 +0800</pubDate><description><![CDATA[正态分布

正态分布（Normal distribution）正态分布又称高斯分布，是一种很重要的连续型分布，应用甚广。在医学卫生领域中有许多变量的频数分布资料可绘制成直方图而且频数分布是中间（靠近均数处）频数多，两边频数少，且左右对称。正态分布在统计学上十分重要，经常用在自然和社会科学来代表一个不明的随机变量。

正态曲线呈钟型，两头低，中间高，左右对称因其曲线呈钟形，因此人们又经常称之为钟形曲线。下图表示均值为0.0178，标准差为0.00707的正态分布函数的图像。


正态分布函数曲线

若随机变.]]></description><category></category></item><item><title><![CDATA[贝塔分布(beta分布)及Python实现——计算机视觉修炼之路（二）]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/118820313</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/118820313</guid><author>star_of_science</author><pubDate>Fri, 16 Jul 2021 20:12:24 +0800</pubDate><description><![CDATA[beta分布

贝塔分布（ Beta Distribution ) 是一个作为伯努利分布和二项式分布的共轭先验分布的密度函数，在机器学习和数理统计学中有重要应用。在概率论中，贝塔分布，是指一组定义在(0,1)区间的连续概率分布。其概率密度函数为：



beta 分布的期望为：

下面我们通过一个问题来具体的分析 beta 分布的使用。假设一个概率实验只有两种结果，一个是成功，概率是X；另一个是失败，概率为（1−X）。其中，X的值我们是不知道的，但是它所有可能的情况也是等概率的。如果我们对X的不确定性用一种]]></description><category></category></item><item><title><![CDATA[二项分布及Python实现——计算机视觉修炼之路（一）]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/118819899</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/118819899</guid><author>star_of_science</author><pubDate>Fri, 16 Jul 2021 20:09:30 +0800</pubDate><description><![CDATA[二项分布

二项分布是由伯努利提出的概念，指的是重复n次独立的伯努利试验。在每次试验中只有两种可能的结果，而且两种结果发生与否互相对立，与其它各次试验结果无关，事件发生与否的概率在每一次独立试验中都保持不变，则这一系列试验总称为n重伯努利实验，当试验次数为1时，二项分布服从 0−1 分布。

考虑只有两种可能结果的随机试验，当成功的概率（π）是恒定的，且各次试验相互独立，这种试验在统计学上称为伯努利试验（Bernoulli trial）。如果进行n次伯努利试验，取得成功次数为X（X=0,1,2…,n）的概率]]></description><category></category></item><item><title><![CDATA[概率及常用概率分布的实现——计算机视觉修炼之路（零）]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/118813657</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/118813657</guid><author>star_of_science</author><pubDate>Fri, 16 Jul 2021 19:03:06 +0800</pubDate><description><![CDATA[引言

计算机视觉是一门用计算机模拟生物视觉的学科。该学科让计算机代替人眼实现对目标的识别、分类、跟踪和场景理解。
计算机视觉是人工智能的重要分支，也是一门具有很强综合性的学科，涉及计算机科学与工程、信号处理、光学、应用数学、统计学、神经生理学和认知科学等学科。

OpenCV 是一个开源、跨平台的计算机视觉库，基于 C/C++，支持 Linux/Windows/MacOS/Android/iOS，并提供了 Python，Matlab 和 Java 等语言的接口。因为有着丰富的接口、优秀的性能和商业友好的使]]></description><category></category></item><item><title><![CDATA[深入理解synchronized]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/114739973</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/114739973</guid><author>star_of_science</author><pubDate>Sat, 13 Mar 2021 14:05:14 +0800</pubDate><description><![CDATA[深入理解synchronized一、概念二、synchronized的用法根据同步对象分类1、同步方法根据获取的锁分类1、获取对象锁2、获取类锁三、synchronized原理分析1、线程堆栈分析（互斥）2、JVM指令分析对代码块的加锁对方法的加锁3、使用synchronized注意的问题四、Java虚拟机对synchronized的优化
首先我们来看一道编程题：
编写一个类似银行、医院的叫号程序（要求：多个窗口叫号，不重号、不跳号）
分析：

很明显需要考虑并发叫号：
并发量比较大的时候会出现：跳号、重号]]></description><category></category></item><item><title><![CDATA[Java内存模型]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/114638134</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/114638134</guid><author>star_of_science</author><pubDate>Wed, 10 Mar 2021 19:27:58 +0800</pubDate><description><![CDATA[Java内存模型1 基本概念：2 JVM与线程3 JVM内存区域4 Java内存模型   Java memory model   JMM(规范,抽象的模型)5 硬件内存架构与java内存模型6、并发编程的三个重要特性7、JMM对三个特征的保证
1 基本概念：
程序：代码，完成某一件任务，代码序列（静态的概念）
进程：程序在某些数据上的一次运行（动态的概念）
线程：一个进程可能包含一个或多个线程（占有资源的独立单元）
2 JVM与线程
JVM什么时候启动？
类被调用时    JVM线程启动 ----&gt; ]]></description><category></category></item><item><title><![CDATA[uni-app中的css3选择器]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/107783493</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/107783493</guid><author>star_of_science</author><pubDate>Tue, 04 Aug 2020 12:14:16 +0800</pubDate><description><![CDATA[uni-app修炼之路（八）选择器
参考官方文档：https://uniapp.dcloud.io/frame?id=%e9%80%89%e6%8b%a9%e5%99%a8
选择器
目前支持的选择器有：




选择器
样例
样例描述




.class
.intro
选择所有拥有 class=“intro” 的组件


#id
#firstname
选择拥有 id=“firstname” 的组件


element
view
选择所有 view 组件


element, element
view, c]]></description><category></category></item><item><title><![CDATA[uni-app中view和text组件和动画的使用]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/107781599</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/107781599</guid><author>star_of_science</author><pubDate>Tue, 04 Aug 2020 11:36:07 +0800</pubDate><description><![CDATA[uni-app修炼之路（七）viewtext
参考官方文档：https://uniapp.dcloud.io/component/view
view
视图容器。
它类似于传统html中的div，用于包裹各种元素内容。
如果使用nvue，则需注意，包裹文字应该使用组件。
属性说明




属性名
类型
默认值
说明




hover-class
String
none
指定按下去的样式类。当 hover-class=“none” 时，没有点击态效果


hover-stop-propagation
Bool]]></description><category></category></item><item><title><![CDATA[uni-app中底部导航的实现]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/107779896</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/107779896</guid><author>star_of_science</author><pubDate>Tue, 04 Aug 2020 10:37:24 +0800</pubDate><description><![CDATA[uni-app修炼之路（六）tabBar
参考官方文档：https://uniapp.dcloud.io/collocation/pages?id=tabbar
tabBar
tabBar 用来配置导航栏的表现，以及导航切换时显示的对应页。
属性说明：




属性
类型
必填
默认值
描述
平台差异说明




color
HexColor
是

tab 上的文字默认颜色



selectedColor
HexColor
是

tab 上的文字选中时的颜色



backgroundColor
HexC]]></description><category></category></item><item><title><![CDATA[uni-app设置全局属性globalStyle]]></title><link>https://blog.youkuaiyun.com/star_of_science/article/details/107759868</link><guid>https://blog.youkuaiyun.com/star_of_science/article/details/107759868</guid><author>star_of_science</author><pubDate>Mon, 03 Aug 2020 12:10:30 +0800</pubDate><description><![CDATA[uni-app修炼之路（五）
参考官方文档：https://uniapp.dcloud.io/collocation/pages
应用的状态栏、导航条、标题、窗口背景色等这些公共的样式一般情况下都会写在globalStyle里面。这样页面就无需进行单独的配置了。




属性
类型
默认值
描述
平台差异说明




navigationBarBackgroundColor
HexColor
#F7F7F7
导航栏背景颜色（同状态栏背景色）
APP与H5为#F7F7F7，小程序平台请参考相应小程序文档


]]></description><category></category></item></channel></rss>