摘要: 1.堆栈空间分配区别 栈(操作系统):由操作系统(编译器)自动分配释放,释放函数的参数值,局部变量的值等。其操作方式类似于数据结果中的栈。 堆(操作系统):一般由程序分配释放,若程序不释放,程序结束时可能由OS回收,分配方式倒是类似于链表 2.堆栈缓存方式区别 栈使用的是一级缓存,他们都是通常调用时 阅读全文
posted @ 2020-06-04 13:46 叱咤小明 阅读(373) 评论(0) 推荐(0) 编辑
摘要: golang程序变量会携带油一组校验数据,用来证明它的整个生命周期是否在运行时完全可知。如果变量通过了这些校验,它就可以在栈上分配。否则就说它逃逸了,必须在堆上分配 能引起变量逃逸到堆上的典型情况: 1.在方法内把局部变量指针返回 局部变量原本应该在栈中分配,在栈中回收。但是由于返回时被外部引用,因 阅读全文
posted @ 2020-06-04 11:06 叱咤小明 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 1.单一原则 (1)避免相同的职责分散到不同的类中 (2)避免一个类承担太多的职责 2.为什么遵循单一原则呢? (1)降低类之间的耦合 (2)提升类的复用性 3.接口隔离原则 对于接口的污染的处理方式 (1)利用委托分离借口 (2)利用多继承分离借口 4.开发-封闭原则 一个模块在扩展性方面应该是开 阅读全文
posted @ 2018-02-27 09:18 叱咤小明 阅读(149) 评论(0) 推荐(0) 编辑
摘要: SSH是每一台Linux电脑的标准配置。 随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的适用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。 SSH具备多种功能,可以用于很多场合。有些事情,没有它就是办不成。 一、什么是SSH? 简单说,SSH是一种网络协议,用于计算机 阅读全文
posted @ 2016-12-13 14:35 叱咤小明 阅读(2615) 评论(0) 推荐(1) 编辑
摘要: 1.浏览器缓存就是当你打开一个网页,浏览器会自动下载副本到你电脑上,就相当于你另存为网页到某个地方而已,只不过这里是自动而已。当然不是浏览器能把各种 网页都能下载到本地电脑上,它是有特殊情况。一般html,后者request是get请求,而post一般不缓存。2.ts缓存校验参数非常重要,如果回应中... 阅读全文
posted @ 2016-01-26 18:15 叱咤小明 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 1.数组转utf-8编码public static function convToU8($input, $encoding='GBK') { #各种恶心的数据生成xml报错 各种报错啊。。。下面这个是处理报错的 把ascii为1-7的符号全部替换为空 if($enc... 阅读全文
posted @ 2016-01-21 14:03 叱咤小明 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 今天程序想压缩一些图片,想获取图片的宽高,在网上查了一下哪些函数可以使用,然后看到getimagesize()这个函数。但是当同事看到这个函数,提醒我说这个函数,运营同事禁止使用。心里就很奇怪,就在网上查了一下。果然查到了这个函数的漏洞。漏洞信息PHP是一种在服务器端执行的嵌入HTML文档的脚本语言... 阅读全文
posted @ 2016-01-15 15:30 叱咤小明 阅读(5119) 评论(0) 推荐(0) 编辑
摘要: 1.fopen /file_get_contents 每次请求都会重新做DNS查询,并不对 DNS信息进行缓存。但是CURL会自动对DNS信息进行缓存。对同一域名下的网页或者图片的请求只需要一次DNS查询。这大大减少了DNS查询的次数。所以CURL的性能比fopen /file_get_conten... 阅读全文
posted @ 2016-01-14 15:42 叱咤小明 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 1.strip_tags(剥去字符串中的 HTML 标签)strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。2.字符串替换str_replace(array(""," ","\t","\r\n","\r","\n"),array("","",""... 阅读全文
posted @ 2016-01-13 18:09 叱咤小明 阅读(31746) 评论(0) 推荐(2) 编辑