`

备注标签博文篇

阅读更多

备注标签博文篇,记录随手比较重要一点的事情,URL备注,重要的信息备注,评论页.

自己看的,本篇博文谢绝评论,谢谢合作!

 

HTTP2, SPDY 是什么?如何部署 SPDY?

http://www.geekpark.net/news/158198

 

HTTP/2 及 HTTP/3特性

https://github.com/ljianshu/Blog/issues/57

 

Keep-Alive

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Keep-Alive

 

HTTP Keep-Alive是什么?如何工作?

http://www.nowamagic.net/academy/detail/23350305

 

TCP/IP TIME_WAIT状态原理

https://elf8848.iteye.com/blog/1739571

 

HTTP/1.x 的连接管理

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Connection_management_in_HTTP_1.x#%E5%9F%9F%E5%90%8D%E5%88%86%E7%89%87

 

关于HTTP/1.1管道化的问答(翻译)

https://jiaolonghuang.github.io/2015/08/16/http-pipelining/

 

CSS Sprite (雪碧图)

https://www.jianshu.com/p/2cac8fbe341b

 

What is "inlining" in HTTP?

https://www.quora.com/What-is-inlining-in-HTTP

 

SPDY 是什么?如何部署 SPDY?

http://www.geekpark.net/news/158198

 

spdy-whitepaper

http://dev.chromium.org/spdy/spdy-whitepaper

 

TCP-IP详解:超时重传机制

https://blog.csdn.net/wdscq1234/article/details/52476231

 

TCP 的那些事儿

https://coolshell.cn/articles/11564.html

 

TCP 的那些事儿

https://coolshell.cn/articles/11609.html

 

Google QUIC 协议:从 TCP 到 UDP 的 Web 平台

https://infoq.cn/article/quic-google-protocol-web-platform-from-tcp-to-udp

 

领域驱动设计学习之路—DDD的原则与实践

https://www.cnblogs.com/edisonchou/p/edc_ddd_foundation_study_part1.html

 

Docker技术笔记:Ubuntu安装Docker CE

https://yq.aliyun.com/articles/632359

 

反爬虫: Redis通过LUA脚本, 记录IP在一段时间内频繁访问页面检测

https://www.cnblogs.com/yanghuahui/p/3697996.html

分享到:
评论
61 楼 greatwqs 2019-04-15  
HTTP/1.x & HTTP/2 及 HTTP/3

HTTP/1.x的缺陷
1. HTTP/1.0传输数据时,每次都需要重新建立连接, 服务器开销大
2. HTTP/1.1虽然加入keep-alive可以复用一部分连接,但域名分片等情况下仍然需要建立多个connection
HTTP/1.x的问题,引入雪碧图、将小图内联、使用多个域名等等的方式来提高性能。不过这些优化都绕开了协议,人为优化。HOLB(队头阻塞)问题

SPDY & HTTP/2
目标是在用户和网站间只用一个连接(TCP connection)。
1.二进制传输
流 & 消息 & 帧
2.多路复用, 一个connection 多流并行 帧乱序 帧首部流标识重新组装 31bit的优先值
3. Header 压缩, 改变传输
4. ServerPush
缺陷
TCP丢包问题, 在出现丢包的情况下,整个 TCP 都要开始等待重传

HTTP/3
UDP协议 & QUIC协议

https://github.com/ljianshu/Blog/issues/57
60 楼 greatwqs 2019-04-04  
深入浅出RxJava(一:基础篇)
https://blog.csdn.net/lzyzsd/article/details/41833541

深入浅出RxJava(二:操作符)
https://blog.csdn.net/lzyzsd/article/details/44094895

深入浅出RxJava三--响应式的好处
https://blog.csdn.net/lzyzsd/article/details/44891933

深入浅出RxJava四-在Android中使用响应式编程
https://blog.csdn.net/lzyzsd/article/details/45033611
58 楼 greatwqs 2019-03-08  
GSLB概要和实现原理
https://chongit.github.io/2015/04/15/GSLB%E6%A6%82%E8%A6%81%E5%92%8C%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86/
57 楼 greatwqs 2018-08-31  
四种Reference
WeakReference, 当所引用的对象在 JVM 内不再有强引用时, GC 后 weak reference 将会被自动回收
WeakHashMap 使用 WeakReference 作为 key, 一旦没有指向 key 的强引用, WeakHashMap 在 GC 后将自动删除相关的 entry
SoftReference 会尽可能长的保留引用直到 JVM 内存不足时才会被回收(虚拟机保证), 这一特性使得 SoftReference 非常适合缓存应用
PhantomReference 时的第二个参数 ReferenceQueue(事实上 WeakReference & SoftReference 也可以有这个参数),唯一的用处就是跟踪 referent  何时被 enqueue 到 ReferenceQueue 中.

http://www.iteye.com/topic/401478
56 楼 greatwqs 2018-08-31  
ThreadLocal 原理
1. 每个Thread实例内部,有二个ThreadLocalMap的K-V容器实例(分别对应threadLocals及inheritableThreadLocals), 容器的元素数量,即为Thread实例里的ThreadLocal实例个数
2. ThreadLocalMap里的每个Entry的Key与ThreadLocal实例的HashCode相关(这样,多个ThreadLocal实例就不会搞混)
3. 每个ThreadLocal实例使用set赋值时,实际上是在ThreadLocalMap容器里,添加(或更新)一条Entry信息
4. 每个ThreadLocal实例使用get取值时,从ThreadLocalMap里根据key取出value
https://www.cnblogs.com/yjmyzz/p/threadlocal-demo.html

ThreadLocal.ThreadLocalMap 中 Entry 对应的Key是WeakReference<ThreadLocal<?>>
的一些问题, 内存泄露问题
https://juejin.im/entry/5af3028e6fb9a07ac85a6a24
http://blog.xiaohansong.com/2016/08/06/ThreadLocal-memory-leak/
http://redhat.iteye.com/blog/1057974
55 楼 greatwqs 2018-08-22  
ThreadPoolExecutor 工作线程回收需要满足三个条件:
1)  参数allowCoreThreadTimeOut为true
2)  该线程在keepAliveTime时间内获取不到任务,即空闲这么长时间
3)  当前线程池大小 > 核心线程池大小corePoolSize。

ThreadPoolExecutor 线程回收策略:
1. executor.allowCoreThreadTimeOut(true);
2. executor.shutdown();

https://www.cnblogs.com/pengineer/p/5011965.html
54 楼 greatwqs 2018-08-14  
Redis Cluster集群 动态扩容
已经是三主三从, 添加为7006主, 7007从

1. 配置 新增的2台Redis服务器, 并启动;
redis-server ../redis-cluster/7006/redis.conf

2. 将7006主节点加入到Cluster集群
ruby redis-trib.rb add-node 192.168.127.130:7006 192.168.127.130:7000
查看
cluster nodes

3. 为7006Master主节点分配数据Slots
ruby redis-trib.rb reshard 192.168.127.130:7000
为了平均Slot, 可以移动 16384 / 4 个Slot, 所有节点一起来移动;

4. 查看 & 动态增加Slave从服务器节点
cluster nodes
ruby redis-trib.rb add-node 192.168.127.130:7007 192.168.127.130:7000
[root@linux redis]# redis-cli -c -h 192.168.127.130 -p 7007  //登陆7007
192.168.127.130::7007>cluster replicate 71ecd970838e9b400a2a6a15cd30a94ab96203bf(主节点的ID,这里是7006)
OK

删除文中包含.
https://www.cnblogs.com/PatrickLiu/p/8473135.html
53 楼 greatwqs 2018-05-15  
常用限流方案的设计和实现:

通过限制单位时间段内调用量来限流
通过限制系统的并发调用程度来限流
使用漏桶(Leaky Bucket)算法来进行限流
使用令牌桶(Token Bucket)算法来进行限流
https://blog.csdn.net/manzhizhen/article/details/52606732
52 楼 greatwqs 2018-05-01  
redis 分布式锁
public class RedisTool {

    private static final String LOCK_SUCCESS = "OK";
    private static final String SET_IF_NOT_EXIST = "NX";
    private static final String SET_WITH_EXPIRE_TIME = "PX";

    /**
     * 尝试获取分布式锁
     * @param jedis Redis客户端
     * @param lockKey 锁
     * @param requestId 请求标识
     * @param expireTime 超期时间
     * @return 是否获取成功
     */
    public static boolean tryGetDistributedLock(Jedis jedis, String lockKey, String requestId, int expireTime) {

        String result = jedis.set(lockKey, requestId, SET_IF_NOT_EXIST, SET_WITH_EXPIRE_TIME, expireTime);

        if (LOCK_SUCCESS.equals(result)) {
            return true;
        }
        return false;

    }

    private static final Long RELEASE_SUCCESS = 1L;

    /**
     * 释放分布式锁
     * @param jedis Redis客户端
     * @param lockKey 锁
     * @param requestId 请求标识
     * @return 是否释放成功
     */
    public static boolean releaseDistributedLock(Jedis jedis, String lockKey, String requestId) {

        String script = "if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end";
        Object result = jedis.eval(script, Collections.singletonList(lockKey), Collections.singletonList(requestId));

        if (RELEASE_SUCCESS.equals(result)) {
            return true;
        }
        return false;

    }
}


https://www.cnblogs.com/linjiqin/p/8003838.html
http://redisdoc.com/string/set.html
51 楼 greatwqs 2018-04-12  
查看端口号占用的进程ID

1、lsof -i:端口号
lsof -i 用以显示符合条件的进程情况
2、netstat -tunlp|grep 端口号
netstat -tunlp用于显示tcp,udp的端口和进程等相关情况
49 楼 greatwqs 2017-09-20  


脏读(Drity Read)
某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。
不可重复读(Non-repeatable read):
一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。
幻读(Phantom Read):
一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

MySQL事务隔离级别为Repeatable Read(可重读)http://xm-king.iteye.com/blog/770721
48 楼 greatwqs 2017-08-30  
NGINX域名访问转移,所有访问www.bbb.com的页面全部跳转到h5.aaa.com页面
# h5.aaa.com | www.bbb.com
server {
    listen       80;
    server_name  h5.aaa.com www.bbb.com ;
    #www.bbb.com redirect to h5.aaa.com(destination) on 20170830
    #access_log  logs/h5/host.access.log  main;
    if ($host = "www.bbb.com"){
        rewrite ^/(.*)$ http://h5.aaa.com/$1 permanent;
    }
    location / {
        root /home/nginx/wwwroot/h5_aaa_com;
        index index.html;
    }
}
47 楼 greatwqs 2017-02-13  
linux 查看磁盘分区类型:
parted /dev/sda
再输入print list

http://freearth.blog.chinaunix.net/uid-20769015-id-3478861.html
46 楼 greatwqs 2016-10-19  
select id,user,host,db,command,time,state,info 
from   information_schema.PROCESSLIST 
order  by time desc 
limit  1000


查看MySQL的进程, 耗时较长, kill processid( id )
45 楼 greatwqs 2016-09-30  
tomcat 启动很慢: http://wiki.apache.org/tomcat/HowTo/FasterStartUp

针对SecureRandom变慢, tomcat会输出耗时log如下:
org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [350, 172] milliseconds.

bin/catalina.sh 第一行加上
export CATALINA_OPTS="-Djava.security.egd=file:/dev/./urandom"

ps -ef | grep java
如果成功, 可以在参数中看到 -Djava.security.egd=file:/dev/./urandom
44 楼 greatwqs 2016-09-23  
linux挂载磁盘:

fdisk -l   #列出磁盘
mkfs.ext3 /dev/xvdb   #磁盘ext3格式化, 注意数据保存!
mkdir /data   #创建磁盘挂载目录
mount /dev/xvdb /data #挂载
# 写入磁盘配置,重启系统时自动挂载磁盘
echo '/dev/xvdb   /data   ext3   defaults   0   0' >> /etc/fstab 
chmod 777 /data
df -h     #查看磁盘使用情况
https://bbs.aliyun.com/read/151152.html?spm=5176.bbsr164395.0.0.WugvTF
43 楼 greatwqs 2016-07-02  
一个JAVA对象占用了多少内存?
http://wwwiteye.iteye.com/blog/1985980
42 楼 greatwqs 2014-10-06  
杨卫华:新浪微博技术架构分析

http://tech.sina.com.cn/i/2010-11-16/14434871585.shtml

相关推荐

    点击博文视点

    点击博文视点 HTTP协议 测试,http协议测试,不要下载,谢谢 点击博文视点 HTTP协议 测试,http协议测试,不要下载,谢谢 点击博文视点 HTTP协议 测试,http协议测试,不要下载,谢谢 点击博文视点 HTTP协议 测试,...

    博文配套资源 (001)

    【标签】"配套资源"进一步确认了这些文件是为了解释、扩展或支持文章内容而提供的。它们可能包括源代码、数据文件、图片、视频教程等,旨在帮助读者更好地理解和应用文章中的知识。 【压缩包子文件的文件名称列表】...

    博文视点专业书目2006年第一期

    通过“博文视点”这一标签,我们可以了解到这些书籍是经过专业编辑精心筛选的结果,它们的质量得到保障,能够为读者提供系统的学习体验。书目中的“教程”标签意味着这些书籍注重教育性,它们不仅为初学者提供入门...

    博文网碟软件

    ### 博文网碟软件知识点解析 #### 一、博文网碟软件简介 **博文网碟**是一款专门用于处理光盘镜像文件的虚拟光驱工具。它支持常见的ISO格式文件,并能在线下载光盘镜像文件。通过该软件,用户能够轻松管理和使用...

    博文对应资料

    标题“博文对应资料”指的是与某篇博客文章相关的资源或代码文件。这篇博客文章的链接是,遗憾的是,由于这是一个实际的URL,我无法直接访问它来获取具体的内容。不过,我们可以根据常见的博客文章结构和标签“资料...

    jsp+javabean开发的博文系统

    JavaBean可以在JSP页面中通过`jsp:useBean`标签实例化,并通过EL表达式调用其方法,实现对博文的操作。 数据库是存储和管理数据的核心部分,这个系统可能使用了如MySQL、Oracle或SQL Server等关系型数据库管理系统...

    博文图书销售管理系统8.6

    博文图书销售管理系统

    博文网碟-虚拟光驱ISO

    博文网碟 虚拟光驱 ISO,用于打开ISO文件,非常好用

    【整站程序】海量英文博客系统(内置27000篇博文).zip

    【整站程序】海量英文博客系统(内置27000篇博文)

    Sina博文采集工具源码

    Sina博文采集工具源码 源码介绍: Sina博客采集器可以采集新浪博客指定目录页面的博客文章,软件也支持直接通过博客的地址来采集。 自动抓取sina博客的博文输出到txt文件 工具可能有一点小问题。但是值得学习的东西...

    一个简单的JSP自定义标签

    博文链接:https://clarancepeng.iteye.com/blog/112147

    多语言标签聚类及其应用研究.caj

    本文采用不同的标签自动抽取算法分别对博文正文信息进行标签抽取,在标签抽取 的基础上形成复合标签,并与用户给定的标签进行比较分析。实验结果表明自动抽取的 标签可以作为用户标注标签的有效补充,对用户标注的...

    博文51单片机汇编语言实验(一)-----数字量输入输出(附参考代码及注释)附件.zip

    这篇博客的标题是“博文51单片机汇编语言实验(一)-----数字量输入输出(附参考代码及注释)附件.zip”,这显然是一篇关于51单片机编程的教程,聚焦于使用汇编语言进行数字量输入输出的操作。51单片机是一种广泛...

    这篇博文《Flink消费Kafka主题消息的演示》需要的Kafka依赖包

    这篇博文《Flink消费Kafka主题消息的演示》需要的Kafka依赖包

Global site tag (gtag.js) - Google Analytics