end's coding life

赤子之心

线上性能问题初步排查方法

有时候有很多问题只有在线上或者预发环境才能发现,而线上又不能Debug,所以线上问题定位就只能看日志,系统状态和Dump线程,本文只是简单的介绍一些常用的工具,帮助定位线上问题。 问题定位 1: 首先使用TOP命令查看每个进程的情况,显示如下: top - 22:27:25 ...

2016-04-29 11:42:57

阅读数:1415

评论数:0

四种IO模型的解释

同步阻塞 IO : 在此种方式下,用户进程在发起一个 IO 操作以后,必须等待 IO 操作的完成,只有当真正完成了 IO 操作以后,用户进程才能运行。 JAVA传统的 IO 模型属于此种方式! 同步非阻塞 IO: 在此种方式下,用户进程发起一个 IO 操作以后 边可 返回做其它事情,但是...

2016-04-28 18:57:28

阅读数:1065

评论数:0

Java锁----Synchronized实现原理

数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊的CPU指令,大家可能会进一步追问:JVM底层又是如何实现synchronized的?    本文所指说的JVM是指Hotspot的6u23版本,下面首先介绍...

2016-04-26 12:03:04

阅读数:2467

评论数:1

Java锁----Lock实现原理

Lock完全用Java写成,在java这个层面是无关JVM实现的。 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantReadWriteLock),其实现都依赖java.uti...

2016-04-26 11:35:06

阅读数:14231

评论数:0

正确使用Volatile关键字

Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍了几种有效使用 vo...

2016-04-18 15:38:24

阅读数:5637

评论数:1

Java并发编程(一)----深入分析Volatile的实现原理

引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchroniz...

2016-04-18 11:47:45

阅读数:544

评论数:0

Java序列化的几种方式

本文着重讲解一下Java序列化的相关内容。 如果对Java序列化感兴趣的同学可以研究一下。 一.Java序列化的作用    有的时候我们想要把一个Java对象变成字节流的形式传出去,有的时候我们想要从一个字节流中恢复一个Java对象。例如,有的时候我们想要 把一个Java对...

2016-04-18 11:13:55

阅读数:17550

评论数:0

基于storm的实时数据处理方案

1 文档说明 该文档描述的是以storm为主体的实时处理架构,该架构包括了数据收集部分,实时处理部分,及数据落地部分。 关于不同部分的技术选型与业务需求及个人对相关技术的熟悉度有关,会一一进行分析。 该架构是本人所掌握的一种架构,可能会与其他架构有相似的部分,个人会一一解释对其的...

2016-04-16 18:15:20

阅读数:5383

评论数:0

Kafka特性介绍

==是什么 ==   简单的说,Kafka是由Linkedin开发的一个分布式的消息队列系统(Message Queue)   目标Scope(解决什么问题)   kafka开发的主要初衷目标是构建一个用来处理海量日志,用户行为和网站运营统计等的数据处理框架...

2016-04-16 16:03:25

阅读数:873

评论数:0

Kafka工作原理

消息队列 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境...

2016-04-16 15:51:50

阅读数:7282

评论数:0

Mina工作原理分析

Mina是Apache社区维护的一个开源的高性能IO框架,在业界内久经考验,广为使用。Mina与后来兴起的高性能IO新贵Netty一样,都是韩国人Trustin Lee的大作,二者的设计理念是极为相似的。在作为一个强大的开发工具的同时,这两个框架的优雅设计和不俗的表现,有很多地方是值得学习和借鉴的...

2016-04-14 10:25:22

阅读数:1665

评论数:0

Redis实现秒杀系统

导论 曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。 秒杀系统的架构设计 秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路: 写入内存而不是写入硬盘、异步...

2016-04-13 17:56:42

阅读数:4780

评论数:0

一个故事讲清楚 NIO

假设某银行只有10个职员。该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。 1 BIO方式...

2016-04-13 17:40:43

阅读数:672

评论数:0

RPC原理

在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示。这些程序的特点是服务消费方和服务提供方是本地调用关系。 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。这时就会遇到两个问...

2016-04-13 17:38:30

阅读数:4768

评论数:0

JVM频繁Full GC的情况及应对策略

堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带...

2016-04-13 16:58:41

阅读数:7517

评论数:1

full gc频繁的分析及解决案例

现象 系统报警full gc次数过多,每2分钟达到了5~6次,这是不正常的现象 在full gc报警时的gc.log如下: 在full gc报警时的jstat如下: sudo -u admin -H /opt/taobao/java/bin/jstat -gcutil `pgrep j...

2016-04-13 16:44:39

阅读数:6507

评论数:1

TCP/IP(十二)TCP的超时与重传

超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。 1.超时 超时时间的计算是超时的核心部分,TCP要求这个算法能大致估计出当前的网络状况,虽然这确实...

2016-04-13 13:44:02

阅读数:1518

评论数:0

TCP/IP(十一)TCP滑动窗口和拥塞控制

目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。(2)数据成块类型,例如ft...

2016-04-13 10:47:38

阅读数:18175

评论数:0

TCP/IP(十)TCP三次握手 与四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 先来看看如何建立连接的。 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这...

2016-04-13 09:16:59

阅读数:5040

评论数:0

TCP/IP(九)TCP协议概述

终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读。前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西。 TCP和UDP处在同一层---运输层,但是TCP和UDP最不同的地方是,TCP提供了一种可靠的数据传输服务,TCP是面向连接的...

2016-04-13 09:12:20

阅读数:545

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭