- 博客(35)
- 收藏
- 关注
原创 Git使用教程
Git是一个强大的分布式管理系统:workspace :工作区index /stage : 暂存区Repository : 本地仓库Remote : 远程仓库重要的特点:每个人的仓库都是==一个完整的版本控制系统 ==每一个整体又包含三部分:respository : 版本库包含branchindex/stage 暂存区workspace 工作区 我们自己操作的...
2020-08-14 20:28:31
236
原创 go 协程和select实现IO多路复用(2)并发
协程的出现轻量级的线程(轻的主要原因)非抢占式多任务处理,由协程主动交出控制权编译器/解释器/虚拟机层面的多任务处理协程由go的调度器进行处理多个协程可能在一个或者多个线程上运行goroutine虽然是非抢占式的但是也是会在调度器的控制下进行切换,但是他的切换又不能是完全控制只能在特殊的点进行切换。传统上的协程切换的点都是要显示的写出来goroutine 可能的切换的点...
2019-12-26 14:18:05
402
原创 Nginx进阶(2)---cookie
静态资源—配置语法sendfile 模式的开启sendfile oncontext : http ,server ,locationtcp_nopush 合并包模式的开启(在sendfile模式开启的情况下开启)提高网络包的传输效率tcp_nopush on | offcontext http server location在实时的场景(而且是长链接的场景中)中使...
2019-12-26 14:16:19
552
原创 go error 和panic的兜底处理(1)
//todo 命令行的运行测试 go test . 注意 test go文件必须是 _test 结尾func TestTriangle(t *testing.T){ Test := []struct { a,b,c int32 }{ {1,2,3}, {0,2,2}, {0,0,0}, {-1,1,0}, {math.MaxInt32,1,math.Min...
2019-12-26 14:14:37
389
原创 java和go之间多线程之间的对比
Java线程和go协程之间的对比在Java中多线程之间是通过共享内存进行通信的,在go中多线程之间通信是基于消息的,go中的通道是go中多线程通信的基石。在java中创建的线程是与OS线程一一对应的,而在go中多个协程(goroutine)对应一个逻辑处理器,每个逻辑处理器与OS线程一一对应。每个线程要运行必须要在就绪状态情况下获取cpu,而操作系统是基于时间片轮转算法来调度线程占用cpu来...
2019-12-26 14:12:59
1955
原创 Redis的哨兵机制
主从高可用的问题故障转移问题基本架构的说明客户端先从sentinel 哪里获取那个是master,或者说是 slave ;然后客户端才会对redis 进行直连操作;流程:故障转移流程,选举新的master注意 一套哨兵机制可以监控多个redis体系redis sentinel 的安装模拟部署Sentinel 的主要配置port ${port}dir “/...
2019-12-26 14:12:02
99
原创 nginx (1) cookie
nginx的安装环境:确认yum可用确认关闭iptable规则iptables -L : 查看iptables -F : 关闭确认停用selinux ;安装一些工具软件;yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake;yum -y install wget httpd-too...
2019-12-26 14:08:43
142
原创 Redis -Cluster
数据打散处理的两种方式哈希分区的方式节点取余数分区hash(key) % 3缺点: 如果进行节点的扩容的时候需要进行各个节点的转移一致性hash 节点分布在顺时针轮盘上 ,hash(key)落到轮盘上顺时针寻找最近节点;节点伸缩,只影响相邻节点一般是翻倍伸缩虚拟槽 (redis cluster 使用的节点分区方式)两种安装方式原生命令安装ruby一键安...
2019-12-26 14:04:22
104
原创 nginx locating匹配问题(1) ---cookie
* ^ : 匹配字符串的开始位置* $ : 匹配字符串的结束位置* .* : .匹配任意字符, *匹配数量0到正无穷;* \. ---》斜杠用来转义 \.代表匹配一个。* (值1|值2|值3|值4):或匹配模式,例:(jpg|gif|png|bmp)匹配jpg或gif或png或bmp匹配时 :有关是否区分大小写匹配~ -->代表区分大小写匹配~* ...
2019-12-06 13:04:30
231
原创 mysql常用的sql
在数据库中找到排序后第二行的数据:select salary as secondhighsalary from emplyee order by salary desc limit 1 offset 1 ;
2019-12-02 10:47:03
96
原创 Linux Command
查看端口被那个进程所占用?list open file --> lsof 命令功能: 列出当前系统打开的文件的工具;在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件,所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用...
2019-11-26 11:42:48
1873
原创 设计模式---六大原则 ---cookie
先说一下对面向对象的理解,万事万物皆对象。下面简单说一下几种关系在面向对象编程时的实现方式。场景一:师傅----》徒弟关系 : 徒弟学会了师傅的技能 ,然后在此基础上又学会了其他的技能; 也就是对程序的分层拓展;在面向对象中就可以用 子类继承父类 的手法来实现场景二:样貌相同的亲兄弟,具有共同爱好的朋友,具有相同技能的同事;对于这种彼此之间的关系的描述,我们可以抽取一个抽象...
2019-11-25 11:08:01
275
原创 PHP基础学习
php 特点: 1.php在服务器上运行,结果以纯html文件的形式返回给浏览器 2.php能够应付所产生的一切的需求cgi协议的出现:早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。webserver处理不了了,怎么办呢?那就交给php解释器来处理吧!交给php解释器处理很好,但是,php解释器如何与webse...
2019-11-22 18:45:45
226
原创 java 异常的处理
Java异常都是对象,是Throwable子类的实例抛出的异常的结构图:Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java...
2019-11-13 16:49:27
130
原创 nginx代理服务器的使用
什么是反向代理?代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。nginx可以当做反向代理服务器来使用:我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同的真实服务器处理 当请求到达nginx,nginx会根据已经定义的规则进行请求的转...
2019-11-07 14:24:33
192
原创 掷筛子模拟 动态规划
掷筛子模拟问题链接:有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数。不过我们在使用它时有个约束,就是使得投掷骰子时,连续 掷出数字i的次数不能超过rollMax[i](i从 1 开始编号)。现在,给你一个整数数组rollMax和一个整数n,请你来计算掷n次骰子可得到的不同点数序列的数量。假如两个序列中至少存在一个元素不同,就认为这两个序列是不同的。...
2019-10-31 16:04:42
348
原创 Cors跨域请求
为什么要设置跨域请求?一个界面发起的ajax请求,只能是当前页面同域名发起的,这样就可以有效避免黑客发起的对服务器的恶意攻击;请求跨域了,那么请求到底发出去没有?跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。你可能会疑问明明通过表单的方式可以发起跨域请求,为什么 Ajax 就不会?因为归根结底,跨域是为了阻止用户读取到另一个域名下的...
2019-10-31 14:53:15
189
原创 @Configuration 注解的理解 和使用
在这里先说一下@ComponentScan这个注解:如果你理解了ComponentScan,你就理解了Spring.Spring是一个依赖注入(dependency injection)框架。所有的内容都是关于bean的定义及其依赖关系。定义Spring Beans的第一步是使用正确的注解-@Component或@Service或@Repository.但是,Spring不知道你定...
2019-10-30 15:05:09
2642
原创 Zookeeper
ZOOKEEPER 的基本数据类型:基于树的数据结构组成: 节点znode;对于不同树的节点,znode的引用方式是路径引用;类似于文件引用;/动物/小狗/汽车/路虎/发送机单个节点:data:Znode 存储的数据信息。 ACL:记录 Znode 的访问权限,即哪些人或哪些 IP 可以访问本节点。 stat:包含 Znode 的各种...
2019-10-20 22:50:39
104
原创 二分法的细节理解
二分法的主旨: 通过不断二分来缩小范围直到搜索出目标值; 最近在做一道二分题时,如何来划分范围成为了一个难点!(并不是随便来划分的)0 下面以一道题目为例来刨分二分法;题目连接 给定一个n x n矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [ [ 1, 5,...
2019-10-20 20:41:44
267
原创 Elasticsearch原理---COOKIE
目录甚麽是elastic Search ? 特点:搜索引擎的大体上的实现方式:ElasticSearch 是如何 分散读写压力 和 实现高可用的?注意: cluter:ElasticSearch 的三种节点以及特点:主节点 (分发管理分片 ;索引以及类型的创建):从节点: (执行搜...
2019-09-30 16:02:40
308
原创 计算机网络之运输层 ---COOKIE
运输层:网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。UDP:在IP层的基础上增加了 分用和复用的功能( 利用端口号的不同来进行复用) 以及差错检验的功能;特点: 不可靠1. 不建立连接2.不用回复确认3.最大的优点,就是时延小速度快UDP报文结构:UDP数据校验: 二进制反码求和运算:...
2019-09-28 21:56:02
299
原创 计算机网络之 IP层------COOKIE
目录数据交换方式:数据报传输方式(应用主流)和虚电路传输方式:IP数据报 的数据格式:IP地址的分类: 无类型域间选路CIDR:公有IP地址和私有IP地址的区别:一个容易“犯错”的CIDRMAC地址:IP层几个重要的协议: ARP协议:DCHP(动态主机设置协议,传输层协议)ICMP(网际控制报文协议) ...
2019-09-28 17:30:27
827
原创 设计模式详解 ---COOKIE
单例设计模式:1. 利用类的静态属性生成对象: ( 缺点: 不能进行Lazy Load )public class SingletonObject1 { /** * can't lazy load */ private final static SingletonObject1 instance=new SingletonObject1(); ...
2019-09-27 19:45:40
336
原创 Mysql常用的sql语句以及sql优化,索引的优化的注意事项----COOKIE
常用的sql应用场景: 两个工具表: user: subject: 可以看到两个表 user 表 和 专业表 user中的 subject 关联到 subject...
2019-09-25 16:04:39
539
原创 CAS实现AQS实现ReentrantLock(独占锁)详细解析 ---COOKIE
目录CAS: 如何实现的? volatile 关键字: 功能一: 实现内存的可见性: 可用作多线程中的标志位: 功能二: 保证程序执行的有序性;不会进行指令重排; 有序性的应用场景 : ...
2019-09-24 11:30:09
851
原创 SSM框架的基本原理及特点讲解---COOKIE
这里借用之前写的脑图来讲解下Spring 和 Mybatis :Mybatis:SpringMVC :DispatcherServlet : 前端控制器,控制着整个SpringMvc的流程行进,主要负责: 接受请求,分发请求,响应结果 ; 会加载配置文件,根据配置文件会对请求做出访问控制;---》接受请求后,下一步分发给处...
2019-09-22 22:10:52
1443
原创 算法-以单词拼接为例题讲解 欧拉路 and DFS ----COOKIE
目录单词拼接欧拉路和欧拉回路: 欧拉路与欧拉回路的定义DFS: 应用场景: DFS的编程手法:既然讲到了DFS,那麽顺便讲解一下BFS: 应用场景: BFS的编程手法:题意的理解以及编程:单词拼接描述给你一些单词,请你判断能否把它们首尾串起来串成一串。前一个单词的结尾应该与下一个单词的道字母...
2019-09-22 21:24:10
226
原创 分布式锁详解---COOKIE
目录分布式锁: 定义: 设计的分布式锁需要具备那些条件?实现分布式锁的三种方式:一种效率比较高数据表级别的加锁;基于数据库的实现:基于zookeeper的实现:获取锁的流程:zookeeper获取锁总结:redis实现分布式锁的实际操作: 获取锁; 解锁:三种实现方式的对比:分布...
2019-09-22 11:41:46
263
原创 Redis ( 2 ) 集群设计分压以及高可用哨兵机制 -- COOKIE
目录集群的设计: 1.节点分离,主从分离,从而读写分离: master: 写 , slave: 读 2. 哈希slot: 减缓写的压力:哨兵机制 故障转移: 哨兵模式工作流程的内部实现:集群的设计: 1.节点分离,主从分离,从而读写分离: master: 写 , slave: 读 1.只有1个Mast...
2019-09-22 10:53:14
169
原创 Redis ( 1 ) 详细讲解以及应用 -- COOKIE
目录Redis: 定义: 特点: 内置的功能组件 内存存储与持久化: 两种Nosql的性能对比: redis中key的过期清除策略: Redis的内存淘汰策略: Redis 五种数据类型的应用场景:Redis: 定义: 开源的,内存中的数据结构存储管理...
2019-09-22 10:09:36
254
原创 算法之 通配符匹配 多解法 双指针 and 动态规划 --COOKIE
题目:给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。示例1:输入:s = "aa"...
2019-09-21 15:54:07
167
原创 斐波那契算法 之 矩阵快速运算 -------COOKIE
目录矩阵相关的算法:1.定义: m行n列的矩阵:m X n 的矩阵;2.矩阵的加减 : 只有同型矩阵才可以进行加减;3. 常数乘以矩阵5.矩阵的转置 ,坐标 x y 互换位置;6.矩阵乘法 以上为矩阵相乘基础知识的铺垫:例题例题1:斐波那契数列problem先来分析一下这道题: 解决方式: 这里先说一下 利用矩...
2019-09-18 17:20:56
687
原创 如何解决TCP协议中serverSocket.accept()阻塞和读取类inputstream.read(byte[] byte0)函数的阻塞问题?
在写一个简单的后台服务项目的时候,遇到底层客户端端WiFi模块断线,而导致1.服务程序跑飞,2.线程内存不能合理释放;标题1.解决inputstream.read(byte[] byte0)函数的阻塞,下面是才开始时的代码. ``` ss = new ServerSocket(10086); System.out.println("=============S...
2019-03-29 20:16:32
4864
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人