关闭

[置顶] JVM如何设置DNS缓存失效时间

JVM为了提高效率,会将第一次的DNS结果缓存起来。...
阅读(52) 评论(0)

[置顶] Server性能提升趣谈 - 思考篇

问题一,你有一个service, 对外提供两个接口,operationA需要执行20ms, operationB需要执行200ms, 然后可以将operationA的性能从20ms提升到18ms, 将operationB的性能从200ms提升到180ms. 如果我们只能提升一个,我们提升哪个呢? 从现在的信息来看,我们需要将operationB提升到180ms,因为我们节省的时间是20m...
阅读(78) 评论(0)

[置顶] Java Remote Debug出现connection refused

现象是无法remote debug,但是在本地可以debug。 如果服务器的debug端口号是8000,那么我们首先看一下在本地上8000能不能建立TCP连接: telnet localhost 8000 如果可以,那么我们在另外一个机子上使用IP或者DNS看看是否可以连接上: telnet zhc-2.zhclab.com 8000 如果连接不上,那么我们就锁定是因为外部机...
阅读(63) 评论(0)

[置顶] JWT是什么

JWT(JSON Web Token), 顾名思义就是可以在Web上传输的token,这种token是用JSON格式进行format的。它是一个开源标准(RFC 7519),定义了一个紧凑的自包含的方式在不同实体之间安全的用JSON格式传输信息。 紧凑:意味着size小,所以可以在URL中,Header中,Post parameter中进行传输。 自包含:里边的信息包含了所有需要的信息...
阅读(64) 评论(0)

[置顶] 状态模式,命令模式和策略模式的区别

设计模式中有三个模式State, Command, Strategy,这三种设计模式都是行为型设计模式,在结构上又都很像,所以很多时候分不清楚。 区分这三种模式不要focus在结构上,这三种模式最主要是在使用意图上有区别: 状态模式:内部维护一个状态,会随着public api的调用进行相应的状态转移。外界不需要知道状态及其变化情况。 命令模式:根据客户的请求封装相应的命令,处理者就...
阅读(38) 评论(0)

[置顶] 三分钟教你学System Design

系统设计问题有很多,比如: 1 设计一个短域名系统 2 设计一个搜索引擎 3 设计一个在线象棋游戏 4 设计一个社交平台,实现follow notification。 在面对这些系统设计问题时,不要怕,让我们一步一步的搞定它。 第一步:澄清问题,Clarify and  Scope it. 我们首先要做的就是弄清楚问题,包括限制条件,各个接口的TPS有多大,数据量有多...
阅读(71) 评论(0)

[置顶] 系统设计 - 关于用户体验与安全性之间的折衷

有时候想安全,就得牺牲掉一些用户体验,而一些更好的用户体验会牺牲掉一定的安全性,所以安全性与用户体验有时候是一对矛盾体,得想办法做tradeoff。 比如说验证码,CAPTCHA,现在很多网站在登陆或者提供的其它服务会让用户输入验证码来验证操作是由人发出的,而不是robot发出的,前提是robot无法破解你所采用的验证码。而这样所有的登陆操作,不管是人还是robot都会面临验证码,也就是...
阅读(63) 评论(0)

[置顶] 一分钟教你知道乐观锁和悲观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。...
阅读(176961) 评论(31)

[置顶] awk按照多个分隔符进行分割

我们知道awk可以进行类似于cut之类的操作,ru...
阅读(42882) 评论(0)

[置顶] 程序员必知(六):信息论问题

具体问题:有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒。 这道题的本质是,至少用多少个老鼠可以表达1000种方式。即用多少位可以表达1000,为n=10,因为2的10次方等于1024,大于1000,所以此题的答案是10. 我们看具体解法: 给1000个瓶分别标上如下标签(10位长度):  0000...
阅读(1756) 评论(4)

[置顶] 三分钟教你学Git(二)之命令索引

工作区(Working Area),暂存区(Stage),版本库(head->master or branch) 保存进度恢复工作进度 #把工作区和暂存区的内容保存到进度列表里 git stash save “description” #列出stash里的所有项 git stash list #把进度恢复出来并删除进度列表中的项 git stash pop #只把进度恢复出...
阅读(2974) 评论(0)

[置顶] Linux命令惯用法

1 硬连接与软连接  ln a b 这是硬连接,a文件和b文件是同一个inode,连接数为2 ln -s a c 这是符号连接,c文件是一种特殊的文件,即连接文件,指向a,c文件的inode和a文件的inode不同。 可用ls -li来查看inode号。   2想要动态的查看一个文件内容的变化,可以用tail命令 如:tail -f /var/log/messages #将文件最...
阅读(2025) 评论(0)

三分钟教你学Git(二十五) 分拣文件

有时候我们需要将某一个commit中的部分改动提取出来,然后放入一个新的commit中,可以怎么做呢? 我们举一个简单的例子: 假设说commit_1中有5个文件修改分别叫做A, B, C, D, E. 情况1: 然后想将A文件作为一个单独的commit,剩下的四个文件作为另一个单独的commit,可以这样做: 首先将commit_1的改动重新还原到工作区。 git reset --m...
阅读(182) 评论(0)

Linux不能删除文件的问题

今天在remove一个文件的时候发现不能remove,出现: rm cannot remove "..." read-only file system 但是查看了文件夹的权限,都有执行权限,在目录下touch一个文件也不可以。 一般这种情况可能是文件系统数据损坏造成的,操作系统为了保护数据不丢,就将此文件系统设置成Read Only,所以就不能执行任何的写或者删除的操作了。 可以使用m...
阅读(253) 评论(0)

redis安全防护策略

对应的安全处理: 1、限制Redis的访问IP,如指定本地IP获指定特定IP可以访问。 2、如果是本地访问和使用,打开防火墙(阿里云等操作系统,默认把防火墙关了),不开放Redis端口,最好修改掉Redis的默认端口; 3、如果要远程访问,给Redis配置上授权访问密码;...
阅读(493) 评论(0)
270条 共27页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1415117次
    • 积分:12231
    • 等级:
    • 排名:第1210名
    • 原创:266篇
    • 转载:1篇
    • 译文:3篇
    • 评论:136条
    博客专栏