自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 windows下搭建redis集群

一、什么是集群 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态。 单个redis存在不稳定性,当redis服务宕机了,就没有可以用的服务了,因为单个redis的读写能力是有限的,所以有了redis集群,基于redis主从复制实现的,主要就是为了强化redis的读写能力。1、 redis主从复制...

2020-01-02 14:11:37 338

原创 分析Golang 中 Chan 对阻塞 goroutine 的唤醒顺序

一、golang源码中对chan的结构定义type hchan struct { qcount uint // total data in the queue 当前队列中的元素数量 dataqsiz uint // size of the circular queue队列可以容纳的元素数量,无缓冲区则是0 buf unsafe.Pointer // points to an array of dataqsiz elemen...

2022-02-16 18:10:48 843

原创 go func 并发及进程、线程、协程

一.并发并发意味着程序在运行时有多个执行上下文,对应着多个调用栈。每一个进程在运行时,都有自己的调用栈和堆,有一个完整的上下文,而操作系统在调度进程的时候,会保存被调度进程的上下文环境,等该进程获得时间片后,再恢复该进程的上下文到系统中。从整个操作系统层面来说,多个进程是可以并发的。二.协程、进程、线程及goruntime协程与线程主要区别是它将不再被内核调度,而是交给了程序自己而线程是将自己交给内核调度协程的概念并不是与线程对应的,而是和函数调用 call/return对应(eg:gola

2022-02-16 13:47:08 4487

原创 windows下Redis的安装与部署

一、Redis的下载地址       http://redis.io/download二、下载完毕后,进行解压到指定目录下     例如E盘下面的redis文件夹三、redis安装非常简单,不需要执行安装,也不需要配置环境变量,win+r打开cmd,输入cmd命令进入解压目录【E:\Redis】,然后输入【redis-server.exe redis.windows.conf 】,...

2018-08-21 14:44:29 648

原创 谈谈数据结构中的堆、栈和内存中堆和栈的区别

一、数据结构中的堆、栈     堆和栈在数据结构中是两种不同的数据结构。 。     (1) 栈:像是往一个盒子里面放东西,先放进去的在最低层,后面放上去的在最上面,想拿到最下面的就要先拿掉它上面的。其实,它就是一种后进先出的数据结构。     (2)堆:像是一颗倒立的大树       堆是一种经过排序的树形数据结构,每个节点都有一个值。通常我们所说的堆的数据结构是指二叉树。堆的特...

2018-08-20 16:00:26 502

转载 浅谈网页打开的全过程

1、概要  从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程。下面我将依靠自己的经验,总结一下整个过程。如有错漏,欢迎指正。  阅读本文需要读者已有一定的计算机知识,了解TCP、DNS等。2、分析  众所周知,打开一个网页的过程中,浏览器会因页面上的css/js/image等静态资源会多次发起连接请求,所...

2018-08-05 20:59:15 494

转载 CentOS7安装详解

本文基于vmware workstations进行CentOS7安装过程展示,关于vmware workstations安装配置本人这里不再介绍,基本过程相当于windows下安装个软件而已。1、打开vmware workstations,文件->新建虚拟机,出现如下界面,选择“自定义(高级)”选项,下一步继续:2、此步骤默认,下一步继续:3、在出现下面界面,选中“稍后安装操作系统”选项,下...

2018-07-01 10:40:04 272

转载 为什么构造函数不能声明为虚函数,析构函数可以

构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象 的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派...

2018-06-12 23:08:33 203

原创 内存对齐规则及其作用

内存对齐的规则:1、 对于结构的各个成员,第一个成员位于偏移为0的位置,以后每个数据成员的偏移量必须是min(#pragma pack()指定的数,这个数据成员的自身长度) 的倍数。2、 在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。通过下面一个例子学习内存对齐:int 4B   sho...

2018-06-12 23:07:45 492

原创 腾讯2017秋招笔试题难点记录

1.在vs编译环境下,以下代码的运行情况: 1234567int f(int a, int b, int c){    return 0;}int main(){    return  f(printf("a"),printf("b"),printf("c"));}解析: 该题考察函数的参数传递: 当用函数做实参时,编译器一般会根据参数传递顺序,先计算出函数的返回值,然后将返回值传...

2018-06-12 23:01:34 1008

原创 TP5框架基础知识总结

一、基础1. 开启调试模式修改应用配置文件( application/config.php )中的 'app_debug' => true,为了安全,在正式部署的时候一定要关闭调试模式。2. 导入类库的方法        这里使用了 use 来导入一个命名空间的类库,然后可以在当前文件中直接使用该别名而不需要使用完整 的命名空间路径访问类库。也就说,如果没有使用 use think\Cont...

2018-05-28 19:01:41 7113 1

原创 laravel框架基础知识

一.TP5和Laravel框架的区别 区别:1、提交数据的方式,Laravel在提交表单时需要在表单中加入{csrf_field}来防止跨域攻击,而TP不会。 2、路由,Laravel必须先定义,再使用,路由文件为routes.php,TP在配置文件中开启路由后,路由格式是:'路由表达式' => '路由地址和参数'(使用路由的前提是URL支持phthinfo并且开启路由),路由可以使URL更...

2018-05-28 18:57:13 716

原创 2018-4-20牛客网刷题错题集合(数据结构--查找以及哈希)

(1)有B+Tree/Hash_Map/STL Map三种数据结构。对于内存中数据,查找性能较好的数据结构是(),对于磁盘中数据,查找性能较好的数据结构是()。解答:Hash操作能根据散列值直接定位数据的存储地址,设计良好的hash表能在常数级时间下找到需要的数据,但是更适合于内存中的查找。B+树是一种是一种树状的数据结构,适合做索引,对磁盘数据来说,索引查找是比较高效的STL_Map的内部实现是...

2018-04-20 19:30:53 564

原创 2018-4-19 牛客网-数据结构-队列刷题

(1)栈是一种数据结构,但是链表不是一种数据结构,它只是一种数据的存储结构。线性表可以有顺序存储结构和链式存储结构,栈也可以有顺序存储结构和链式存储结构。(2)二叉链存储法也叫孩子兄弟法,左指针指向左孩子,右指针指向右兄弟。而中序遍历的顺序是左孩子,根,右孩子。这种遍历顺序与存储结构不同,因此需要堆栈保存中间结果。而中序遍历检索二叉树时,由于其存储结构跟遍历顺序相符,因此不需要用堆栈。(3)2.f...

2018-04-19 17:57:16 325

原创 2014-4-17laravel框架中的CSRF攻击原理及其防护

Laravel框架中避免CSRF攻击很简单:Laravel自动为每个用户Session生成了一个CSRF Token,该Token可用于验证登录用户和发起请求者是否是同一人,如果不是则请求失败。...

2018-04-17 20:18:08 421

转载 使用PHP实现单链表

单链表顾名思义就是一个链式数据结构,它有一个表头,并且除了最后一个节点外,所有节点都有其后继节点。如下图。首先,我们写出链表节点的类。单链表中的每一个节点,都保存其数据域和后驱指针[php] view plain copy//链表节点   class node {       public $id; //节点id       public $name; //节点名称       public $n...

2018-04-17 19:52:45 183

原创 laraver框架中给模板分配数据

(一)给模板分配数据            (1)在控制器中给模板分配数据                     return view('firstclass.index',['name'=>'Alice','number'=>123]);                      在模板中获取数据时需要两层{{$name}}              (2)使用return vi...

2018-04-16 20:13:10 343

原创 如何在laravel框架中注册一个自己的路由

第一步:    在和web.php同级新建一个自己的路由比如叫myweb.php第二步:  在app\Providers\RouteServiceProvider.php中添加如下代码:        /**     *  自己注册的路由文件     */     protected function mapMywebRoutes()      {        Route::middleware...

2018-04-16 19:19:20 1301

原创 laravel框架学习----course1--基本路由注册

(1)路由注册1.可以在路由注册中直接渲染模板,使用Route::get('x.html',function(){return view('x')})2.给单一控制器注册路由,在路由中只需要写类名就可以,不需要写方法名字,使用Route::get('unique.html','uniqueController');注意,单一控制器的方法名字需要使用invoke()3.给controllers下面的...

2018-04-16 19:15:03 281

原创 2018-4-14 牛客网php专项练习

open_basedir 可将用户访问文件的活动范围限制在指定的区域 ,通常是其家目录的路径,也   可用符号 "." 来代表当前目录。注意用open_basedir 指定的限制实际上是前缀 , 而不是目录名。   举例来说 : 若 "open_basedir = /dir/user", 那么目录 "/dir/user" 和 "/dir/user1"都是   可以访问的。所以如果要将访问限制在仅为...

2018-04-14 14:04:57 407

原创 (PHP实现剑指offer)在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

<?php      function Find($target, $array)  {     // write code here    $m=count($array);     for($i=0; $i<$m;$i++)     {      if($target<$array[$i][0]){         return false;          }      ...

2018-04-12 16:43:20 409

原创 2018-4-11刷题笔记

PHP 变量规则:变量以 $ 符号开头,其后是变量的名称变量名称必须以字母或下划线开头变量名称不能以数字开头变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)变量名称对大小写敏感($y 与 $Y 是两个不同的变量)     D选项以数字开头了肯定不链接:https://www.nowcoder.com/questionTerminal/8244bd2274e24c658abfdb4b...

2018-04-12 16:42:26 291

原创 PHP-基础篇----笔记-course1PHP基础语法(1)

第一章PHP简介一、PHP(超文本预处理语言)    HTML是超文本标记语言        HyperText Preprocessor二、PHP的用处1. 目前是web开发(网站开发)的主流的后端2. (服务器)编程(脚本)语言。三. 优势1. 开源免费2. 简单3. 效率比较高,具有良好的安全性。4. 几乎支持所有的数据库,与MySQL是标配,MySQL开源免费。1、PHP可以直接嵌入HTM...

2018-03-17 15:55:54 818

原创 PHP基础篇----笔记-course2PHP基础知识(2)

                                                         php的基本语法2回顾:1、环境安装2、PHP基本语法3、PHP数据类型4、PHP变量、变量赋值(引用赋值)、变量作用域今天的内容:一、PHP运算符1、算术运算符               + - * /2、赋值运算符                =   +=   -=  /=  ...

2018-03-17 15:55:32 326 1

原创 PHP基础篇----笔记-course3数组

                                                                     数组/** * 自定义一个打印数组的函数 */注释用/+**+回车一.数组的概念      一组数据的集合。PHP中数组也是一组变量。    (1)也可以看做是键值对的集合。可以使用键来获取相应的元素的值。(2)键分为2类:数值键和关联键(数值和字母的混合字符串...

2018-03-17 15:55:19 311 1

原创 PHP基础篇-----笔记-course4数组中的函数

数组中的函数一.count()函数:用来获取数组的长度二.array_chunk()函数:用来将一个数组分割成多个数组array_chunk($array,$size,$preserve_keys=null)函数:(1)功能:将一个数组分割成多个数组;(2)参数$preserve_keys=null是一个可选参数且是一个布尔类型true:分割成的新数组保留原来数组索;‚false:不保留原来数组的...

2018-03-17 15:55:03 253

原创 PHP基础篇----笔记-course5计算器案例

                                                 计算器案例一.计算器案例用到的相关知识urlencode()函数 — 编码 URL 字符串:将字符串编码成%和两位16进制数字的格式 urldecode()函数-解码给出的已编码字符串中的任何 %## 。 加号('+')被解码成一个空格字符。 //使用JS方式跳转页面echo "<script&...

2018-03-17 15:54:48 338

原创 PHP基础篇----笔记-course7时间日期

                                       第七章时间日期:在程序开发中发挥着重要的作用。数据的存储和显示都需要时间。在PHP中提供了一系列的内置的时间和日期函数库,这些函数可以在程序运行时获取所在服务器端的日期和时间,也可以进行格式转换例如:日期格式-》时间戳(一)UNIX时间戳:大多数计算机语言中用来表示时间和日期的一种紧凑简洁的方式。它代表的是从1970年1...

2018-03-17 15:54:28 209

原创 PHP基础篇-----笔记-course6字符串函数

                                    字符串函数(二)PHP中的字符串函数常见的文件编码:GBK、gb2312、utf-8PHP中header()函数:有2个作用,(1)一个是页面重定向(页面跳转),用法是:header("Location:xxx.php");(2)二是设置页面编码,用法是:header("Content-Type:text/html;chars...

2018-03-17 15:51:08 232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除