- 博客(203)
- 资源 (23)
- 问答 (6)
- 收藏
- 关注

原创 继续深入理解HTTP keepalive
1. keepalive 是否开启服务端控制还是客户端控制?2. keepalive的时间是由服务端控制还是客户端控制?3. keepalive时间一到,是由客户端主动关闭还是服务端主动关闭?4. 如果客户端不是httpclient,使用telnet连接服务端?
2018-04-27 00:19:00
3874
1

原创 wireshark抓包简单查看HTTP keep-alive原理
HTTP keep-alive要利用HTTP的keep-alive机制,需要服务器端和客户端同时支持,以下使用tomcat服务器(支持keep-alive),使用wireshark抓包测试几种客户端是否支持keep-alive使用chrome浏览器作为客户端往浏览器地址栏敲入http://localhost:8080/user/object?name=ds&id=2&,并刷新一次抓包结果如下:
2017-05-18 23:55:31
11904
原创 Now Or Never
成功三要素,选择,努力,运气。选择取决于你的性格,判断力,甚至天赋,以及人脉。努力取决于你的执行力,自制力,意志力。而运气这种东西只能听天由命。三种因素,运气最重要。前两种则是最后一种的前提。努力占的时间最长,是最累的。而选择是最难的。选择的方向对,努力才有意义。运气才会越好。前三年,总想赚钱,升工资,技术成长,而忽略生活。转眼间感觉自己也快奔三了。可这有什么意思?每个阶段都应该有该经历的
2017-10-04 10:57:23
496
原创 关于系统间数据一致性(跨进程事务)的解决方案
问题背景前台(浏览器或app等)提交一个请求到A系统,A系统调B系统创建订单,同时A系统需要扣除金币(数据库操作)。这是一个跨进程事务,需要保持两个系统的数据一致性。如果数据都保存在B系统,则没有系统一致性问题,但通常业务需要,尤其是系统拆分之后,经常需要处理分布式一致事务问题。调B系统可能出现以下三种结果:1. 成功2. 失败3. 超时(未响应)方案一:A系统把调B系统创建订单(调用成功)和
2017-04-17 22:56:10
8063
转载 JVM源码分析之javaagent原理完全解读
原文:http://www.infoq.com/cn/articles/javaagent-illustrated概述本文重点讲述javaagent的具体实现,因为它面向的是我们Java程序员,而且agent都是用Java编写的,不需要太多的C/C++编程基础,不过这篇文章里也会讲到JVMTIAgent(C实现的),因为javaagent的运行还是依赖于一个特殊的J
2016-08-18 20:33:04
756
转载 JVM Attach机制实现
原文:http://lovestblog.cn/blog/2014/06/18/jvm-attach/Attach是什么 在讲这个之前,我们先来点大家都知道的东西,当我们感觉线程一直卡在某个地方,想知道卡在哪里,首先想到的是进行线程dump,而常用的命令是jstack ,我们就可以看到如下线程栈了2014-06-18 12:56:14Full thread
2016-08-18 19:59:36
2717
原创 关于Java权限控制SecurityManager的理解
经常会在看一些框架源码的时候看到AccessController.doPrivileged() 这样的权限控制检查的代码,实际上在我们平常的开发中基本不会用到。那为什么我们平常没有用到,而框架代码中经常会用到呢?AccessController.doPrivileged() 这种代码使用来赋予本来没有权限的代码,给予权限去对文件做一些读或写操作。按照1 的说明,在我们平常的业务开发中,遇到文件的
2016-07-19 10:56:50
992
转载 Play1.2.x源代码阅读之 classloading
原文:http://freewind.in/posts/2088-source-reading-play1-classloading/play.classloading.ApplicationClasses这是一个重要的容器,它内部有一个cache,保存项目中java源文件及字节码相关的内容。它在内部定义了一个类ApplicationClass,Play把从项目中扫
2016-07-19 10:43:25
691
转载 Play1.2.x源代码阅读之 enhancers
原文:http://ju.outofmemory.cn/entry/17848Play中的代码增强是play的魔力之源。Play自己控制java源代码的编译与载入,所以有机会在载入到jvm之前,调用各种enhancer对字节码进行增强,从而获得超强的功能。Play的代码增强都是基于javassist这个超级强大又易用的字节码工具库。play.classloading.e
2016-07-19 10:35:15
620
原创 舍弃
搬家了,这次终于下了决心扔了一大半的书。作为程序喵,技术日新月异,互联网各种官方文档博客教程一堆,真的没必要买辣么多书,反正基本看一两次以后基本不会经常翻,几乎都是放着而已。看别人翻译过的书还不如直接看官方文档,github资源。最重要的一点的,把笔记总结写在博客或者github等网上,自己翻看起来也方便,哪里有网络,哪里就能查到自己的笔记。书和纸质版的笔记还是太笨重了。舍弃一
2016-05-22 11:09:22
518
原创 Hessian跨语言调用实例
Hessian是跨语言基于HTTP的RPC框架,传输的数据格式是二机制。网上找了很多例子,基本上都是同语言之间的RPC调用例子,基本没有跨语言的,自己折腾一下,使用Java编写PRC服务端,使用Java和Python作为客户端调用RPC服务。Java版的Hessian例子可以参考这个http://www.voidcn.com/blog/qw765811529/article/p-4530324.ht
2016-05-14 21:10:19
3384
原创 Spring源码阅读之数据自动绑定
SpringMVC的调用过程: DispatcherServlet ——> 根据url找到相应的Controller,反射方式调用Controller相应的方法。研究下面两种调用方式: @RequestMapping("/baseType") public User baseType(int count, long id) { User user = new User
2016-04-17 21:42:35
952
通过 ulimit 改善系统性能
原文:http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/概述系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生...
2016-03-21 22:37:00
141
转载 linux下安装使用jprofiler8(tomcat)
原文:http://blog.youkuaiyun.com/ai6740165/article/details/19162969介绍JProfiler是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。java环境变量配置vim /etc/profile[plain] view plain copy
2016-03-18 10:15:03
909
凭啥Java的运行环境称虚拟机,Python的只能称解释器
原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://cnn237111.blog.51cto.com/2359144/1616091看到Stackoverflow上有个问题在讨论Java和Python的对比,其中就有人问答为啥Java的运行环境被称之为JVM,而Python的只能叫做Interpreter。这个...
2016-03-16 19:43:00
235
转载 深入剖析动态代理--性能比较
原文:http://blog.youkuaiyun.com/liutengteng130/article/details/46565309动态代理是指在运行时,动态生成代理类。代理类的字节码将在运行时生成并载入当前的ClassLoader. 生成动态代理类的方法很多,如JDK自带的动态代理、CGLIB、Javassist或者ASM库。
2016-03-12 11:43:36
8533
转载 关于 tomcat nio connector, servlet 3.0 async, spring mvc async 的关系
http://www.cnblogs.com/zemliu/p/3975983.htmltomcat 的 org.apache.coyote.http11.Http11NioProtocol Connector 是一个使用 Java NIO 实现的异步 accept 请求的 connector它的作用是不需要为每个请求建立一个线程, 而是使用固定的accept线程 ac
2016-03-11 13:46:17
642
ClassLoader, JavaAgent, Aspectj Weaving一站式扫盲帖
原文:http://calvin1978.blogcn.com/articles/classloader-javaagent.html最近工作里复习的Class Loader基础知识集锦,写下来希望对别人有帮助,而且不止是为了撂倒面试官。为了尽量简单明了容易背,有些部分写得比较干。0. 参考资料:书:《深入了解Java虚拟机》、《实战Java虚拟机》规范...
2016-03-03 00:26:00
274
转载 谈一谈自己对依赖、关联、聚合和组合之间区别的理解
原文:http://www.open-open.com/lib/view/open1427621514639.html文出处: 卡奴达摩的专栏在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇
2016-03-03 00:23:58
413
转载 面向对象之继承和组合浅谈
原文:http://www.cnblogs.com/whitewolf/archive/2010/05/03/1726519.html 最近一个师弟问某实现是该用对象持有(其实就是组合)还是继承关系实现好。所以就在这里简单的浅谈一下,仅是个人观点,仅供参考。如果写的不对的地方请指出。 首先它们都是实现系统功能重用,代码复用的最常用的有效的设计技巧,都是在设计模式中的
2016-02-16 22:06:12
505
转载 (转)对Thread.interrupt()方法很详细的介绍
http://blog.sina.com.cn/s/blog_6ca570ed01016mti.html在JDK1.0中,可以用stop方法来终止,但是现在这种方法已经被禁用了,改用interrupt方法。Thread.interrupt()方法不会中断一个正在运行的线程。它的作用是,在线程受到阻塞时抛出一个中断信号,这样线程就得以退出阻塞的状态。更确切的说,如果线程被
2016-02-16 15:09:24
568
转载 java中什么是bridge method(桥接方法)
http://blog.youkuaiyun.com/mhmyqn/article/details/47342577在看spring-mvc的源码的时候,看到在解析handler方法时,有关于获取桥接方法代码,不明白什么是桥接方法,经过查找资料,终于理解了什么是桥接方法。什么是桥接方法桥接方法是 JDK 1.5 引入泛型后,为了使Java的泛型方法生成的字节码和 1.5 版本前的字
2016-02-16 11:25:40
889
转载 web应用性能测试-Tomcat 7 连接数和线程数配置
原文:http://www.jianshu.com/p/8445645b3aff引言这段时间折腾了哈java web应用的压力测试,部署容器是tomcat 7。期间学到了蛮多散碎的知识点,及时梳理总结,构建良好且易理解的知识架构把它们组织起来,以备忘。对web应用开发者来说,我们很关心应用可同时处理的请求数,以及响应时间。应用本身和它运行在其中的web容器是两个
2016-02-06 20:59:04
2404
转载 中文编码杂谈
原文:http://www.searchtb.com/2012/04/chinese_encode.html编码问题的例子在windows自带的notepad(记事本)程序中输入“联通”两个字,保存后再次打开,会发现“联通”不见了,代之以“��ͨ”的乱码。这是windows平台上典型的中文编码问题。即文件保存的时候是按照ANSI编码(其实就是GB2312,后面会详细介绍)保
2016-02-06 13:28:12
1457
转载 java.nio.ByteBuffer中flip、rewind、clear方法的区别
原文:http://www.blogjava.net/sdjxsgb/archive/2013/06/18/400703.html对缓冲区的读写操作首先要知道缓冲区的下限、上限和当前位置。下面这些变量的值对Buffer类中的某些操作有着至关重要的作用:limit:所有对Buffer读写操作都会以limit变量的值作为上限。position:代表对缓冲区进行读写时,当前游标的位置
2016-01-16 19:14:58
1667
1
转载 Java泛型-类型擦除
原文: http://justjavac.iteye.com/blog/1741638 一、概述 Java泛型在使用过程有诸多的问题,如不存在List.class, List不能赋值给List(不可协变),奇怪的ClassCastException等。 正确的使用Java泛型需要深入的了解Java的一些概念,如协变,桥接方法,以及这篇笔记记录的类型擦除。Java泛型的处理
2016-01-09 15:09:36
625
原创 WordPress Notes
如何给WordPress添加网站图标http://jingyan.baidu.com/article/54b6b9c0d549622d583b4788.html 看到很多网站都带有ico图标或favicon图标,这个的话方便用户记住你网站,同时便于用户在收藏夹上快速找到你网站。今天我们谈谈如何给WordPress添加网站图标,方法很简单的,只需2步就可以实现。方法/步骤 1. 制作网站图标首先我
2016-01-07 22:48:14
709
转载 AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
原文:http://blog.youkuaiyun.com/mhmyqn/article/details/25561535HTTP请求中,如果是get请求,那么表单参数以name=value&name1=value1的形式附到url的后面,如果是post请求,那么表单参数是在请求体中,也是以name=value&name1=value1的形式在请求体中。通过chrome的开发者工具可以看到
2016-01-07 10:28:34
769
CPU之CPU一级\二级\三级缓存
原文:http://blog.163.com/tyw_andy/blog/static/1167902120099128381221/CPU缓存 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频 运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升...
2015-12-27 21:22:00
1849
原创 Unix C 常遇错误解决
Bind error: Address already in use: 生这种问题是由于端口被程序绑定而没有释放造成. 可以使用netstat -lp命令查询当前处于连接的程序以及对应的进程信息。 然后用ps pid 察看对应的进程,并使用kill pid 关闭该进程即可。 CTRL+C可以直接结束程序。 reference :http://blog.youkuaiyun.com/lopper/art
2015-12-25 23:56:59
536
使用Java Mission Control进行内存分配分析
jdk7u40自带了一个非常好用的工具,就是Java Mission Control。JRockit Misson Control用户应该会对mission control的很多功能十分熟悉,JRockit也是一款很棒的工具。本篇文章将着重关注如何使用Java Flight Recorder进行内存分配分析。jvm有着非常棒的小块内存虚拟化技术,这会让你产生一种拥有无限内存的错觉感...
2015-12-11 11:02:00
357
转载 深入探索 Java 热部署
来源:IBM/丁志君链接:http://www.hollischuang.com/archives/592在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。虽然
2015-11-23 22:34:38
435
转载 paxos算法如何容错的--讲述五虎将的实践
原文:http://blog.youkuaiyun.com/russell_tao/article/details/7238783(本文包括章节:1、由来,2、算法简单回顾,3、演习道具,4、演习,5、算法提出者Leslie的八卦。hoho)1、由来:刘备接受了诸葛亮的提议,决定将paxos算法的思想应用到蜀帝国的决策机制上。然而,玄德生性谨慎,决定先行试点,实践下可行性。
2015-11-23 18:09:05
461
转载 paxos分布式一致性算法--讲述诸葛亮的反穿越
原文:http://blog.youkuaiyun.com/russell_tao/article/details/72445300、引子一日,诸葛亮找到刘备,突然献上一曲《独角戏》,而后放声大哭。刘备正沉醉于新曲,暗叹孔明大才,竟作得如此不凡仙乐,看到孔明忽而大悲,慌问:“水,何事悲恸?” 诸葛亮止住抽泣:“亮自主公三顾茅庐出山以来,蒙主公厚爱,自比如鱼得水,敢不尽力?然
2015-11-23 18:05:17
478
转载 Tomcat类加载机制概述
原文:http://lengyun3566.iteye.com/blog/1683972声明:源码版本为Tomcat 6.0.35 在本系列的第二篇文章中,曾经介绍过在Tomcat启动时会初始化类加载器(ClassLoader),来处理整个Web工程中Class的加载问题。 类加载机制是Java平台中相当重要的核心技术,待笔者有所积累后会再次
2015-09-20 01:00:47
592
转载 应用Tomcat的WebappClassLoader加载指定目录的jar文件
原文:http://dncsoft.iteye.com/blog/336871要点用WebappClassLoader::addRepository就可以实现。不用扩展WebappClassLoader类。当ServletContextListener::contextInitialized时,调用addRepository。在各个context-param中指定jar所在路径
2015-09-20 00:27:47
2582
转载 tomcat源码分析 StandardServer初始化过程
原文:http://www.cnblogs.com/knockon/p/3330756.html----------------------------以下为initInternal方法----------------------------1、调用父类org.apache.catalina.util.LifecycleMBeanBase#initInternal方法,注册MB
2015-09-19 23:56:34
535
转载 设置Maven的JVM参数
http://blog.youkuaiyun.com/blueheart20/article/details/44219685引言: Maven工具提供了非常强大且简便的项目管理方式,包括编译、打包、发布和部署等诸多的功能;针对Java应用来说,时常在测试环境中,在Eclipse中进行部署时,出现各种内存溢出的JVM错误,一般来说需要进行JVM的设置,那怎么来设置呢?1. 问题的
2015-09-17 14:18:13
1919
转载 JVM访问控制器
java之jvm学习笔记四(安全管理器)http://blog.youkuaiyun.com/yfqnihao/article/details/8262858java之jvm学习笔记七(jar包的代码认证和签名)http://blog.youkuaiyun.com/yfqnihao/article/details/8267654java之jvm学习笔记十(策略和保护域)http://b
2015-09-16 23:53:25
560
为什么thrift,probuffer有中间描述文件*.thrift,*.proto
2016-05-08
war包提交到sae后请求失败(post请求本地测试是正确的,微信公众平台开发)
2014-07-10
关于插入数据到数据库等操作时的加密问题,请高人帮忙!
2014-02-18
Android用ksoap2调用WCF的问题,详细如代码。
2013-11-18
如何用Ajax传递一个对象集合到jsp页面。
2013-06-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人