<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Star_CSU的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Star_CSU</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Star_CSU]]></copyright><item><title><![CDATA[golang 网络并发编程模型——为什么使用epoll]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/110739178</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/110739178</guid><author>Star_CSU</author><pubDate>Sun, 06 Dec 2020 22:55:12 +0800</pubDate><description><![CDATA[golang进程在启动时，会唯一创建epoll实例，并启动netpoll函数，轮询读取epoll中准备好的描述符，并唤醒网络连接描述符中对应的协程。通过多协程+epoll的网络模型，将协程的IO阻塞，控制在用户进程中，而不是在绑定线程后产生的系统调用阻塞，这样就可以避免大量线程被创建，而出现服务内存资源不够用的情况。]]></description><category></category></item><item><title><![CDATA[Golang指针类型详解-附带指针测试代码]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/102998454</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/102998454</guid><author>Star_CSU</author><pubDate>Sun, 10 Nov 2019 17:42:54 +0800</pubDate><description><![CDATA[一、指针相关字段解释





二、变量声明存储结构

图中变量的声明假设是在函数内进行的，均属于局部变量。



图表解释，通常来说变量名i、aj并不会真的独立出现在栈上的某个位置，都是伴随着一些操作出现的，加减法，赋值等操作。

例如汇编加法指令，ADD$i,3，为变量i加3，通过变量名i这个地址找到真正的值，然后加3。

关于变量值分配到堆上或者栈上，是和编译器编译时分析有关，正常可以理...]]></description><category></category></item><item><title><![CDATA[错误码规范]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/102508716</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/102508716</guid><author>Star_CSU</author><pubDate>Fri, 11 Oct 2019 19:34:19 +0800</pubDate><description><![CDATA[错误码规范的好处

1.看到错误码就大概知道哪儿出了问题

2.方便制定错误码

3.减少服务内错误码重复的情况

规范如下：

错误码长度：六、五位数，示例：1-11-11，共分为三个模块，解释如下：


			第一位
			
			
			第二位
			
			
			第三位
			
			
			第四位
			
			
			第五位
			
		
			A
			
			
			B
			
...]]></description><category></category></item><item><title><![CDATA[Golang 反射介绍和性能分析]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/101165589</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/101165589</guid><author>Star_CSU</author><pubDate>Sun, 22 Sep 2019 20:35:36 +0800</pubDate><description><![CDATA[百度百科给的反射定义：“反射是一种计算机处理方式。有程序可以访问、检测和修改它本身状态或行为的这种能力。”我是觉着这个定义有点晦涩难懂，至少我在学Java的时候没太搞明白是什么意思。


struct TestStrcut type{
    IsField int `json:"is_field"`// 这个是IsField字段，类型是int,tag内容为is_field
}

为了让大家对反...]]></description><category></category></item><item><title><![CDATA[锁、原子操作和golang mutex源码详解]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/92629650</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/92629650</guid><author>Star_CSU</author><pubDate>Mon, 17 Jun 2019 15:10:20 +0800</pubDate><description><![CDATA[锁的概念

对于某一块代码段，多个线程或者协程同时执行会产生一些不符合预期的结果，就需要使用信号量保护这一段代码区，只能由一个线程来占用和执行这段代码．这相当于是一个大型的原子操作，由软件层面来实现．下面是一段结果不符合预期的代码段：

var count =0
			func main() {
			 wg:=sync.WaitGroup{}
			 wg.Add(2)
			 g...]]></description><category></category></item><item><title><![CDATA[HTTP跨域问题的解决方案]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/90703526</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/90703526</guid><author>Star_CSU</author><pubDate>Thu, 30 May 2019 19:12:00 +0800</pubDate><description><![CDATA[本文着重讲怎么处理和分析遇到的跨域问题，对于浏览器同源策略和跨域资源共享只做简要描述。有一定同源策略和跨域知识的程序员可以直接看第三章跨域问题处理方法．

目录：

一、跨域问题的来源

二、跨域请求

三、请求跨域处理方法

一、跨域问题的来源

跨域问题我们只会在浏览器中看到，在服务器、PC客户端、IOS/安卓APP端我们是碰不到跨域问题的．

跨域问题的源头在于浏览器的同源策略，所谓同源策略...]]></description><category></category></item><item><title><![CDATA[http包发送模块详解－golang]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/89489997</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/89489997</guid><author>Star_CSU</author><pubDate>Wed, 24 Apr 2019 12:01:20 +0800</pubDate><description><![CDATA[功能简介

完成http的发送和对http服务器响应数据的处理

主要结构体简介

1．Request,Response结构体，封装http内容以及解析http协议

2．RoundTripper接口，能够执行HTTP发送，并能返回给定请求的response。该功能可由开发者实现

3．TransPort结构体，http库内部实现的RoundTripper接口，使用request，reponse，...]]></description><category></category></item><item><title><![CDATA[代码优化之局部性设计（提高对缓存的命中率）]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/89406061</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/89406061</guid><author>Star_CSU</author><pubDate>Fri, 19 Apr 2019 18:35:09 +0800</pubDate><description><![CDATA[先说结论：良好的局部性会让应用程序执行的更快，本质是提高对缓存数据的命中率．

局部性原理

计算机中的局部性设计来源于缓存的概念，由于存储器的速度不一样，寄存器＞高速缓存存储器＞主存＞磁盘，为了提高系统的运行速度，会将近期使用的数据存储在高速存储器（空间小，昂贵）中，这个就是缓存的概念，由缓存产生了系统局部性原理的设计．

硬件，操作系统都用到了局部性原理，由于高速缓冲存储器（高速缓存）小而快速...]]></description><category></category></item><item><title><![CDATA[HTTP 头部的编码方式——ASCII编码]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/88370244</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/88370244</guid><author>Star_CSU</author><pubDate>Sat, 09 Mar 2019 19:47:03 +0800</pubDate><description><![CDATA[先说结果，http请求行、响应行的编码方式都为ASCII，这也是为什么需要对url进行url编码,将非ASCII字符转为ASCII字符。

我们知道在HTTP头部中传入的信息不会被url encode,那header头如果有非ASCII码，如中文字符等，会怎么被处理呢？

答案是，只有ASCII字符才能保证正常工作，在服务器、浏览器中被读出来，中文字符在被读取时可能会出错（取决于服务器自身读取数据...]]></description><category></category></item><item><title><![CDATA[关于golang中的切片详解]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/86706083</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/86706083</guid><author>Star_CSU</author><pubDate>Wed, 30 Jan 2019 17:16:48 +0800</pubDate><description><![CDATA[之前对切片的理解是本身是一个指针，指针指向数组，因为数组是值赋值，所以数组作为函数参数传递时，会被复制一份，传递较大数组时会比较浪费内存。

之前的理解部分对，但是瑕疵和错误的地方太多。

详解slice结构体

切片本身是一个结构体，它是被golang封装过的结构体，所以使用起来和数组差不多，其结构体内容如下：

 


			type slice struct {

			    array ...]]></description><category></category></item><item><title><![CDATA[golang 定时任务方面time.Sleep和time.Tick的优劣对比]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/86650684</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/86650684</guid><author>Star_CSU</author><pubDate>Fri, 25 Jan 2019 18:56:26 +0800</pubDate><description><![CDATA[golang 写循环执行的定时任务，常见的有以下三种实现方式:

1、time.Sleep方法：


			for {

			time.Sleep(time.Second)

			fmt.Println("我在定时执行任务")

			}
			
		2、time.Tick函数：


			t1:=time.Tick(3*time.Second)

			for {

			...]]></description><category></category></item><item><title><![CDATA[supervisor的安装和使用]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/83059393</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/83059393</guid><author>Star_CSU</author><pubDate>Mon, 15 Oct 2018 15:35:52 +0800</pubDate><description><![CDATA[supervisor的简介：

        Supervisor是用Python开发的一套通用的进程管理程序，能将一个普通的命令行进程变为后台daemon，并监控进程状态，异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动，这样只要在supervisor的配置文件中，把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候...]]></description><category></category></item><item><title><![CDATA[在golang中对rabbitmq进行测试，测试每个连接可创建的信道数量]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/82798018</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/82798018</guid><author>Star_CSU</author><pubDate>Fri, 21 Sep 2018 10:50:23 +0800</pubDate><description><![CDATA[rabbitmq环境：3.7.7，三台个人开发机组成的集群，使用haproxy代理转发

进行生产者测试，测试在go中可以连接rabbitmq的协程数。测试了四种情况

第一种：创建amqp连接不关闭，加锁创建channel，channel不关闭，一共可以创建2048个channel，执行2048次发送数据到队列，之后会报”channel id space exhausted“，经多次测试，每个连...]]></description><category></category></item><item><title><![CDATA[centos 7安装postman，以及无法启动的问题，错误：error while loading shared libraries: libXss.so.1: cannot open shared]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/82217136</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/82217136</guid><author>Star_CSU</author><pubDate>Thu, 30 Aug 2018 10:27:37 +0800</pubDate><description><![CDATA[首先安装地址如下（已经解压安装好的请无视）：

http://www.feihu1996.cn/?id=287

我的postman按照如上情况执行不了，也没有报错，为切换到安装路径，终端中执行Postman应用程序：

[chen@czq app]$ ./Postman


错误信息如下：

./Postman: error while loading shared libraries: lib...]]></description><category></category></item><item><title><![CDATA[web.xml中servlet-mapping的配置(包含/和*的解释与介绍)]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/78614630</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/78614630</guid><author>Star_CSU</author><pubDate>Thu, 23 Nov 2017 14:42:38 +0800</pubDate><description><![CDATA[转载地址：https://www.cnblogs.com/Dhouse/archive/2013/10/29/3393927.html

元素在Servlet和URL样式之间定义一个映射。它包含了两个子元素和，元素给出的Servlet名字必须是 在元素中声明过的Servlet的名字。元素指定对应于Servlet的URL路 径，该路径是相对于Web应用程序上下文根的路径。例如：



]]></description><category></category></item><item><title><![CDATA[JS元素中属性的规范使用]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/75212920</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/75212920</guid><author>Star_CSU</author><pubDate>Sun, 16 Jul 2017 22:57:34 +0800</pubDate><description><![CDATA[例如：input元素，如果要书写该元素的属性时，像id=aaa;这种书写格式是错误的，规范使用是id="aaa";必须要添加双引号或者单引号，你在引用时它才会生效。]]></description><category></category></item><item><title><![CDATA[CSS中类选择器的连接用法]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/74938132</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/74938132</guid><author>Star_CSU</author><pubDate>Tue, 11 Jul 2017 00:38:01 +0800</pubDate><description><![CDATA[例如： .important.warning{  }  这个指包含important和warning关键词的会起到作用。
如果是 .important  .warning{  }类型的类选择器则是指后代选择器，important类选择器中的子代warning类才会匹配到该样式。]]></description><category></category></item><item><title><![CDATA[java split()函数对字符串分割（通过空格）！]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/73825027</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/73825027</guid><author>Star_CSU</author><pubDate>Tue, 27 Jun 2017 23:48:43 +0800</pubDate><description><![CDATA[给定一个带n个空格的长字符串，我们要根据空格把他们分割开来，例如：  String str="  this is a txt  !  ";


首先我们要对收尾两端的空格进行处理，String类中的trim()函数，可以解决这个问题，会把字符串的首尾空格去除掉，并返回处理后的字符串。
String str1=str.trim(); 此时str1="this is a txt !";

]]></description><category></category></item><item><title><![CDATA[Result Maps collection already contains value for Mapper.BaseResultMap错误原因]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/72860808</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/72860808</guid><author>Star_CSU</author><pubDate>Sun, 04 Jun 2017 19:23:17 +0800</pubDate><description><![CDATA[完整的错误报告如下：
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.mapper.xxxMapper.BaseResultMap
 at org.apache.ibatis.session.Configuration$StrictMap.p]]></description><category></category></item><item><title><![CDATA[Spring配置中对静态资源的正确引用！]]></title><link>https://blog.youkuaiyun.com/Star_CSU/article/details/72716710</link><guid>https://blog.youkuaiyun.com/Star_CSU/article/details/72716710</guid><author>Star_CSU</author><pubDate>Wed, 24 May 2017 21:40:23 +0800</pubDate><description><![CDATA[web.xml中，对servlet的配置，现在一般会选择如下的配置：

springmvc
/

它会过滤所有的请求，这个时候访问静态资源，例如：css文件，JavaScript文件，图片等。
会报如下警告：
警告: No mapping found for HTTP request with URI [/Spring_mvc_test/css/main.css] in Dispat]]></description><category></category></item></channel></rss>