其他技术
文章平均质量分 64
coreyhsu2020
公众号:锦秋聊学习
展开
-
什么叫“线程安全”
不是线程的安全面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。切记望文生义。同理,“线程安全”也不是指线程的安全,而是指内存的安全。为什么如此说呢?这和操作系统有关。目前主流操作系统都是多任务的,即多个进程同时运行。为了保证安全,每个进程只能访问分配给自己的内存空间,而不能访问别的进程的,这是由操作系统保障的。在每个进程的内存空间中都会有一块特殊的公共区域,通常称为堆(内存)。进程..转载 2021-07-26 00:33:32 · 262 阅读 · 0 评论 -
负载均衡中的LVS与Ngnix的区别
最近看到这样的一个问题,同时又经常被人问到,一直没有好好梳理,今天看了一些文章,大概理明白了这俩的差异。首先说一下,lvs属于四层负载均衡的实现之一,而Nginx则属于七层负载均衡的实现之一。所以,问题就落到了四层与七层的具体差异上。一、四层负载均衡(基于IP+端口的负载均衡)所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。layer4在三层负载均衡(IP层,即网络层)的基础上,通过发布三层的 IP 地址.原创 2021-03-22 00:38:11 · 1567 阅读 · 1 评论 -
TCP优化相关
先上图,本文重点:具体的优化可参考文章:https://xie.infoq.cn/article/681d093ffc06d594de54992b9原创 2021-03-17 20:50:11 · 93 阅读 · 0 评论 -
关于支付系统的设计与学习
本文主要是针对大愚talk所讲解的支付系统进行收集。其博文讲解的都浅显易懂,感觉能从整体有一个好的理解,不错的学习文章1.第三方支付的流程分析与总结2.coder,你会设计交易系统吗(概念篇)?3.coder,你会设计交易系统吗(实干篇)?...转载 2021-02-17 18:18:57 · 167 阅读 · 0 评论 -
高并发架构的TCP知识介绍
做为一个有追求的程序员,不能只满足增删改查,我们要对系统全方面无死角掌控。掌握了这些基本的网络知识后,相信一方面日常排错中会事半功倍,另一方面日常架构中不得不考虑的高并发问题,理解了这些底层协议也是会如虎添翼。本文不会单纯给大家讲讲TCP三次握手、四次挥手就完事了。如果只是哪样的话,我直接贴几个连接就完事了。我希望把实际工作中的很多点能够串起来讲给大家。当然为了文章完整,我依然会从 三次握手 起头。再说TCP状态变更过程不管是三次握手、还是四次挥手,他们都是完成了TCP不同状态的切换。进而影响各转载 2021-02-15 11:36:38 · 314 阅读 · 0 评论 -
线上大量CLOSE_WAIT的原因深入分析
这一次重启真的无法解决问题了:一次 MySQL 主动关闭,导致服务出现大量 CLOSE_WAIT 的全流程排查过程。近日遇到一个线上服务 socket 资源被不断打满的情况。通过各种工具分析线上问题,定位到问题代码。这里对该问题发现、修复过程进行一下复盘总结。先看两张图。一张图是服务正常时监控到的 socket 状态,另一张当然就是异常啦!图一:正常时监控图二:异常时监控从图中的表现情况来看,就是从 04:00 开始,socket 资源不断上涨...转载 2021-02-15 11:32:58 · 1766 阅读 · 2 评论 -
RPC与HTTP的区别与联系
直接入正题吧,经过收罗文章,个人理解大概有以下几点:1.本质区别 http是协议,rpc是方法,rpc的实现可能也会用到http http在应用层,rpc在传输层(长连接,少了三次握手,不过http2.0也可以链接复用了) http中所使用的报文中有效字节数仅仅占约 30%,也就是70%的时间用于传输元数据废编码。当然实际情况下报文内容可能会比这个长,但是报头所占的比例也是非常可观的。而rpc仅通过序列化发送有效数据,省去了很多无效的数据,提高传输效率。 h...原创 2021-01-17 21:20:42 · 15816 阅读 · 1 评论 -
彻底讲清楚ZooKeeper分布式锁的实现原理【石杉的架构笔记】
转载,如侵权,请及时联系我删除一、写在前面之前写过一篇文章(《拜托,面试请不要再问我Redis分布式锁的实现原理》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKeeper实现分布式锁的原理。同理,我是直接基于比较常用的Curator这个开源框架,聊一下这个框架对ZooKeeper(以下简称zk)分布式锁的实现。一般除了大公司是自行封装分布式锁框架之外,建议大家用这些开源框架封装好的分布式锁实现,这是一个比较快...转载 2020-08-22 21:52:23 · 447 阅读 · 0 评论 -
php与go的相关区别
[2020年面试题-PHP 与 golang] .Go 和 PHP 在运行的时候有什么区别和优势八个PHP 高级工程经典面试题Go面试复盘备忘录原创 2020-06-20 19:29:46 · 739 阅读 · 0 评论 -
Nginx的负载均衡算法之ip_hash(保持会话)
1.算法介绍ip_hash算法的原理很简单,根据请求所属的客户端IP计算得到一个数值,然后把请求发往该数值对应的后端。所以同一个客户端的请求,都会发往同一台后端,除非该后端不可用了。ip_hash能够达到保持会话的效果。ip_hash是基于round robin的,判断后端是否可用的方法是一样的。2.算法核心部分 2.1. 第一步,根据客户端IP计算得到一个数值。f...原创 2019-03-17 10:40:42 · 9156 阅读 · 0 评论 -
关于获取每一条查询语句的记录数的方法总结
最近做一个系统,碰到这个问题,就是要修改用户的密码,先要把用户的密码调出来,碰到判断用户输入的当前用户的密码是否正确的问题,就要判断返回的记录数是否大于0,下面说下我找到的一些方法(方法说明都在代码中) //开始前奏部分,连接数据库 string connstr = WebConfigurationManager.ConnectionStri...原创 2011-05-18 23:15:00 · 1646 阅读 · 0 评论 -
关于python字典排序问题(直接对字典不能排序)
没有办法返回一个已经排好序的字典(返回值也要是字典),因为字典是按偏移来存储,并不是按键值什么顺序存储的。不过我们要对字典中的元素进行顺序处理可以直接在上图中的for循环里面进行即可。原创 2015-04-20 09:31:24 · 4447 阅读 · 0 评论 -
毕业设计学习笔记
sublime text3的插件配置:http://www.dbpoo.com/sublime-text3-install/http://blog.sina.com.cn/s/blog_8cf0ba6c01017fpl.htmlpython学习笔记:关于python中带下划线的变量的理解:http://blog.csdn.net/hudiedd/article/details/原创 2015-03-05 19:49:16 · 982 阅读 · 0 评论 -
python学习基础系列
中文版本:http://www.cnblogs.com/captain_jack/archive/2011/01/11/1933366.html原创 2014-11-06 20:35:38 · 835 阅读 · 2 评论 -
一个Java程序员应该掌握的10项技能
一个Java程序员应该掌握的10项技能1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。 2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、 java、javac、javadoc、javap、javaw、native2ascii、s转载 2009-06-18 19:58:00 · 508 阅读 · 0 评论 -
Fckeditor使用技巧
Fckeditor使用技巧转载 2010-08-21 15:32:00 · 697 阅读 · 0 评论 -
IP 地址比较和查找
通常在网站开发时会根据访问者的 IP 地址提示访问者来自于哪个地区,这就需要将访问者的IP地址与IP 地址库中的数据进行比较。原创 2010-10-15 19:14:00 · 630 阅读 · 0 评论 -
js跳转页面方法
js跳转页面方法转载 2010-10-24 16:49:00 · 1289 阅读 · 0 评论 -
XML 解析中,如何排除控制字符
今天在解析一个中文的 XML时,始终报错 PCDATA invalid Char value 21 in Entity ,查询了一下这个 21 的ascii 值,发现是:0001 0101 21 15 NAK ␕ 确认失败回应......转载 2010-11-05 16:41:00 · 5482 阅读 · 0 评论 -
js输入验证
js输入验证转载 2010-11-05 13:36:00 · 1383 阅读 · 0 评论 -
判断区域B是否在区域A内部的快速算法
在图像分析中,经常需要判断图像分割所得到的区域之间的关系。通常情况,我们通过八邻接外轮廓(准确说法是扩展边缘,但这样又得费半天口舌解释什么是扩展边缘)来描述一个区域并对区域进行标注转载 2010-11-08 07:53:00 · 967 阅读 · 0 评论 -
腾讯陈军:腾讯云平台与技术实践分享
腾讯的陈军讲的一些关于数据处理方面的东西,让我有一些感触。原创 2011-05-24 23:20:00 · 3350 阅读 · 0 评论 -
彩色动态3D标签云-javascript版
最近突然想起搞3D标签云这个东西了 在网上搜了下很多都是WP的插件 进去有个PHP文件N多函数不太明白 找了个JS版本的比较简单,下面把我测试好的发上来,具体我参考了这位兄弟的:http://www.matao.me/blog/display.php?bid=233效果:代码:http://115.com/file/e7betw1a (不知道怎么的 CSDN没有上传附件的功能原创 2012-03-20 13:40:52 · 3836 阅读 · 0 评论 -
教你如何制作exe电子书
这也是源于小老师的需求,于是乎到网上查了下,发现做这个东西还比较麻烦,不过后来还是让我找到了一些端倪,下面来说一下制作方法。首先要明白做这个东西的大致思路先做一个TXT文本文档,这个TXT文档是我们按别人的格式做好的 然后利用“软景HTML制造机”把这个TXT文件转换成HTML格式的文件,然后再把HTML格式的文件利用“eBookWorkshop”软件转换成EXE格式的文件。具体步原创 2012-06-15 22:53:48 · 6435 阅读 · 0 评论 -
计算机是如何启动的?
来源:阮一峰的日志从打开电源到开始操作,计算机的启动是一个非常复杂的过程。我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示…… 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。零、boot的含义先问一个问题,”启动”用英语怎么说?回答是boot。可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的bo转载 2013-08-19 10:14:54 · 624 阅读 · 0 评论 -
Linux 的启动流程
半年前,我写了《计算机是如何启动的?》,探讨BIOS和主引导记录的作用。那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关转载 2013-08-19 10:15:35 · 1100 阅读 · 0 评论 -
关于在助教中帮助老师整理平均成绩时的一点应用excel表格的经验分享
由于在学校担任了一份助理工作,需要帮老师批改作业并将作业分数登记到EXCEL表格里面,但是作业是按A+,A,A-,B+这种打分的模式进行批改的,登记到EXCEL表格里面就是这样:要求就是要在“平均成绩”一栏得到一个百分制的成绩,大致类似下面这样:怎么办呢,平时又没玩过EXCEL,想了下,我自己做了一个百分制与A这种评分模式的对应关系:分数百分制的换算关系:A+(100)原创 2014-01-19 10:54:21 · 1381 阅读 · 0 评论 -
OAuth 2.0系列教程
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这转载 2014-06-14 19:38:09 · 2490 阅读 · 0 评论 -
汇编学习笔记
汇编学习笔记 本书不对硬件系统进行全面和深入的研究:关于PC机及CPU物理结构和编程结构的全面研究,在《微机原理与接口》中进行;对于计算机一般的结构、功能、性能的研究在一门称为《组成原理》的理论层次更高的课程中进行。汇编将研究重点放在如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作。计算机的机器指令是一列二进制数字,计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动转载 2009-06-11 12:22:00 · 1445 阅读 · 0 评论