蜗牛的专栏

随便写写

深入分析JDBC超时机制

前言上周在线上出现出现报警,ID号码一直无法获取,但是只有这一台机器报警,所以第一时间先在服务治理平台上禁用掉这台机器保证服务正常。停掉机器后要排查问题,思考分析步骤如下: 通过监控发现只有一个key的ID调用发生下降(第一张),这台机器上的其他key没有任何问题,从数据库更新号段正常。是不是数据...

2017-07-22 18:28:45

阅读数 1575

评论数 0

一次堆外OOM问题排查

线上服务有一台机器访问不通(一个管理平台),在公司的服务治理平台上查看服务的状况是正常的,说明进程还在。进程并没有完全crash掉。去线上查看机器日志,发现了大量

2017-07-22 17:35:32

阅读数 2599

评论数 0

Java JDK代理、CGLIB、AspectJ代理分析比较

前言 什么是代理,在Design patterns In java这个本书中是这样描述的,简单的说就是为某个对象提供一个代理,以控制对这个对象的访问。在不修改源代码的基础上做方法增强,代理是一种设计模式,又简单的分为两种。 静态代理:代理类和委托类在代码运行前关系就确定了,也就是说在代理类的代...

2017-03-31 20:19:36

阅读数 6149

评论数 9

线程的中断(interrupt)机制

前言 在本博文的一篇如何正确的关闭一个线程一文中讲解了如何利用interrupt机制来中断一个线程,这篇文章当时确实花了一些精力的总结,不过都是15年末的事情了,现在是2017年2月份,经过一年的时间,决定重新写一篇完善的关于线程中断的文章。 什么时候需要关闭一个线程? 下面简单...

2017-02-19 23:50:23

阅读数 1259

评论数 1

MySQL事务隔离级别和Spring事务关系介绍

事务隔离级别介绍 隔离级别 脏读 不可重复读 幻读 未提交读(Read uncommitted) 可能 可能 可能 已提交读(Read committed) 不可能 可能 可能 ...

2017-01-15 17:55:49

阅读数 8406

评论数 0

ThreadLocal父子线程传递实现方案

前言 介绍InheritableThreadLocal之前,假设对 ThreadLocal 已经有了一定的理解,比如基本概念,原理,如果没有,可以参考:ThreadLocal源码分析解密.在讲解之前我们先列举有关ThreadLocal的几个关键点 每一个Thread线程都有属于自己...

2016-09-30 17:06:11

阅读数 14839

评论数 3

在SpingMVC的Interceptor中如何得到被调用方法名

背景 为什么要在interceptor层获得方法名称呢?在分布式链路系统中我们需要在MVC框架层埋点,统计方法调用的耗时、trace信息等,目前公司内部没有统一的MVC框架,但是大多数都是使用的SpringMVC.所以我们在Interceptor这一层埋点就ok。在这里可以统计到方法调用完的...

2016-09-01 00:57:11

阅读数 4697

评论数 2

ThreadLocal源码分析解密

什么是ThreadLocal我们来看看作者Doug Lea是怎么说的,下面是jdk7.x里面ThreadLocal注释 This class provides thread-local variables. These variables differ from their normal co...

2016-03-05 02:07:05

阅读数 3489

评论数 2

ThreadPoolExecutor线程池解析与BlockingQueue的三种实现

目的主要介绍ThreadPoolExecutor的用法,和较浅显的认识,场景的使用方案等等,比较忙碌,如果有错误还请大家指出ThreadPoolExecutor介绍ThreadPoolExecutor的完整构造方法的签名如下ThreadPoolExecutor (int corePoolSize,...

2016-02-01 16:31:13

阅读数 15515

评论数 5

关于序列化协议的思考

思考最近在设计一个RPC框架,需要处理序列化的问题。有很多种序列化协议可以选择,比如Java原生的序列化协议,Protobuf, Thrift, Hessian, Kryo等等,这里说的序列化协议专指Java的基于二进制的协议,不是基于XML, JSON这种格式的协议。在实际开发中考虑了很多点,也...

2016-01-30 15:20:56

阅读数 3799

评论数 3

浅析Google Guava中concurrent下的Monitor和Future特性

关于Monitor A synchronization abstraction supporting waiting on arbitrary boolean conditions Monitor类是作为ReentrantLock的一个替代,代码中使用 Monitor比使用ReentrantL...

2016-01-30 01:57:24

阅读数 2146

评论数 0

高性能 IO 模型浅析

原文出处 http://zhangsr.cn/i/1281 (对作者表示感谢) 服务器端编程经常需要构造高性能的 IO 模型,常见的 IO 模型有四种: (1) 同步阻塞 IO(Blocking IO):即传统的 IO 模型。 (2) 同步非阻塞 IO(Non-blocking IO):默认创建的...

2015-05-24 19:27:06

阅读数 2169

评论数 0

Netty系列之Netty线程模型

1. 背景 1.1. Java线程模型的演进 1.1.1. 单线程 时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。 在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片...

2015-05-23 01:58:00

阅读数 781

评论数 4

大学一路走来总结(技术)

关于我的学习方法和面试经验的分享 下面是我写给我现在带的学弟在学习路线上的一些建议,大家可以参考一下!希望能够帮助到大家,有写得不太合适的地方,还请大家指正! 一、基础 主要看《java核心技术:卷一》的重点章节 掌握java常用技术,io、多线程、反射、常用集合框架 数据结构看一遍,作用至少...

2015-04-26 12:45:08

阅读数 9299

评论数 19

去哪儿实习面经(拿到offer)

去哪儿面试经验,分享给大家同上一篇,分享给大家咯 ————去哪儿面试—————— 一面: LRU缓存算法(讲了一下LRU的淘汰机制,还有一个最近最少使用次数算法) 分库分表 concurrentHashMap原理(结合这个源码的3个特点:1、分离锁 2、volatile可见性3、fina...

2015-04-13 14:25:57

阅读数 3943

评论数 2

alibaba实习面试总结(拿到offer)

3月份的时候拿到阿里的offer,今天才想起来应该把分享给网上的兄弟们,在网络上学习到很多东西!也应该做出一点贡献了 ----------------阿里面试------------------------- 一面: IO模型有哪些?(linux下的io模型,当时没答上,后来下去...

2015-04-13 14:13:54

阅读数 2670

评论数 4

博弈论-美女的硬币

一位陌生美女主动过来和你搭讪,并要求和你一起玩个游戏。美女提议:“让我们各自亮出硬币的一面,或正或反。如果我们都是正面,那么我给你3元,如果我们都是反面,我给你1元,剩下的情况你给我2元就可以了。”听起来不错的提议,也很公平。如果我是男性,无论如何我是要玩的,不过经济学考虑就是另外一回事了,这个游...

2015-04-12 13:39:40

阅读数 5008

评论数 2

青蛙跳台阶问题

题目:一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。 我的思路:最开始我的思路是把这个看成是一个数学问题,n=i*1+k*2先把所有可能满足这个公式的i和k求出来。然后在对i和k做排列组合。很明显i的范围应该是0 public int Jum...

2015-04-07 21:59:11

阅读数 2045

评论数 0

探索 ConcurrentHashMap 高并发性的实现机制

简介 ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。 由于 ConcurrentHashMap 的源代码实现依赖于 Java 内...

2015-02-25 14:14:25

阅读数 1890

评论数 0

分析LinkedHashMap源码的LRU实现

一、前言 前段时间研究了memcached,而且操作系统的课程也刚刚完成,在两个里面多次出现LRU(last recently used最近最少使用)算法,虽然思想很简单。但是还是值得我们研究,无意间在看LinkedHashMap的源码的时候看见貌似这个类里面有默认的LRU实现。我们现在就来分析...

2015-02-04 17:05:27

阅读数 983

评论数 0

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