技术分享 -- 171




200x200


概述上一篇日志中,我们介绍了 java 虚拟机是如何判断是否应该对对象进行垃圾回收的:java 对象存活判定算法这篇日志中我们就来看一下具体的算法实现 标记-清除算法&n

#读书笔记    #技术帖    #内存管理    #技术分享   

200x200


概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于 1960 年 MIT 的 Lisp&n

#读书笔记    #技术帖    #堆    #heap   

200x200


概述HotSpot 是在 JIT 之后的一款 java 虚拟机的开源实现,sun 从 JDK 1.3.1 开始

#读书笔记    #技术帖    #堆    #龙潭书斋   

200x200


概述java 虚拟机在 java 程序执行过程中会将内存划分为若干个不同的数据区域,如下图所示:  程序计数器程序计数器是一块较小的内存空间,他存储了

#读书笔记    #技术帖    #龙潭书斋    #内存   
事件还原经反馈,本应在点击“下单”按钮后提示错误信息“只限手机端购买”,可是页面只是一刷新,并没有弹出提示信息用户点击下单按钮发现页面刷新,没有提示,也没有进入下单页面,所以觉得很奇怪,也并不知道要到手机端购买,所以问题还是比较严重的 提示信息展示逻辑测试环境中测试,问题没有复现,错误信息提示正常,可是到线上环境,提示信息无论如何都显示不出来这是什么原因呢?首先需要了解提示信息的展示逻辑Action 中判断如果是限制手机购买的项目,则会向 cookie 中存入错误提示信息,并主动进行 302 跳转,回到当前页面当前页面展示时,读取 cookie,取出提示信息,然后将提示信息展示到页面上 问题分析反复排查,发现 Action 中使用的 302 跳转目标地址是 http://www.xxx.com/xxx/{id},在线上环境中,实际跳转结果是 http://www.xxx.com/xxx/{id}.html,事实上,从 http://www.xxx.com/xxx/{id} 到 http://www.xxx.com/xxx/{id}.html 进行了一次 301 跳转,这次跳转中,没有带
#技术帖    #html    #技术分享    #前端   
概述上一篇日志,我们介绍了 nginx upstream 做负载均衡和反向代理的基本配置:nginx upstream 配置 事实上,作为反向代理服务器,缓存是非常有必要的,nginx 实现 upstream 的 ngx_http_proxy_module 实现了非常实用的缓存功能,可以通过配置将上游服务器的资源以一定的规则缓存到本地文件夹下本篇日志我们就结合官方文档说明一下 nginx upstream 缓存的配置和使用 缓存的配置下面是一个典型的配置:proxy_temp_path /usr/local/nginx/proxy_temp_dir 1 2; proxy_cache_path /usr/local/nginx/proxy_cache_dir/cache1 levels=1:2 keys_zone=cache1:100m inactive=1d max_size=10g; #keys_zone=cache1:100m 表示这个zone名称为cache1,分配的内存大小为100MB #/usr/local/nginx/proxy_cache_dir/cache1 表示cache1这个zone的文件要存放的目录 #levels=1:2
#技术帖    #服务器    #技术分享    #nginx   
概述nginx 的负载均衡、反向代理、subrequest 等等功能都依赖于 upstream 机制nginx 的 upstream 模块根据配置的规则实现将请求与返回包体在若干服务器之间转发、拼接的功能 基本配置在 kibana4 的安装、配置和使用的日志中,我们初步介绍了最基本的 upstream 配置kibana4 的安装、配置和使用 我们看到,在 http 配置的 server 下的 location 中,配置了:proxy_pass http://kibana4;  并在 server 外配置了 kibana4 的这个 upstream 规则:upstream kibana4 { server 127.0.0.1:5601 fail_timeout=0; }  事实上,这里我们其实只是希望利用 nginx 提供的权限验证功能,所以仅仅实现了到本地一个端口的反向代理,而不是使用其负载均衡本篇博客中,我们着重介绍如何利用 nginx ups
#技术帖    #服务器    #技术分享    #nginx   
美团存储架构PHP -> mgw(美团基础架构组对 lvs 的封装)-> atlas(数据库中间件) -> DB 事故描述mgw 机器 2月1日 11:30 突然宕机,导致 PHP 端大量读超时(10 秒),加锁的语句没有解锁,导致其他语句无法获取锁造成死锁 然而,由于 rabbitmq 1.6.1 心跳设置的是 2 秒,两次(4 秒)检测不到心跳就会将消息重新发送给另一个 worker,所以在 PHP 读超时前,相同消息被 rabbitmq 转发到了另一个 worker,造成了雪崩效应 大量重复 SQL 被提交 DB 执行,select for update 语句造成死锁,因此要求 DBA kill 掉死锁连接,结果 DBA kill 掉了所有连接,造成订单丢失,mysql insert  操作即使没有显式开启事务,执行
#技术帖    #php    #mysql    #技术分享   

200x200


概述虽然计算机的型号、种类、操作系统各不相同,但是他们可以依据一套相同的协议进行通信,这套协议就是起源于上世纪 60 年代的 TCP/IP 协议,通过这套协议组

#技术帖    #ip    #tcp    #udp   



京ICP备15018585号