- 博客(51)
- 资源 (4)
- 收藏
- 关注
原创 nginx+tomcat的keepalive验证、bio/nio连接比较
最近刚好有时间找了台机器压测了一下,验证一下自己的一些想法。很多时候我们会发现实际情况并不如我们所了解,一方面是实际情况并非完美,会受到许多环境的影响,所以结果有时与我们所学理论会相悖,更有甚者,有时在网上了解的理论本身或过时,或并不正确,所以在有机会、抑或有条件的情况,可是实验一下自己所学,这也可加深理解。1. nginx+tomcat keepalive验证
2015-12-27 12:16:44 3089
原创 Tomcat扩展——监控
(转过来,源地址:http://www.jmatrix.org/notes/1067.html)最近心血来潮,想是否可以通过增加一个tomcat的扩展,来持续收集tomcat服务器本身的性能信息,如线程池的各项数据,请求数等等,这样可以配合业务方面的监控,可以更方便的分析调整tomcat配置,以提供更好的服务。 这样也不需要每次通过连接jmx去观察数据,而且id
2015-07-04 13:29:34 3180
翻译 深入理解JVM内部结构(续)
如果你编译下面这个简单的类:package org.jvminternals;public class SimpleClass { public void sayHello() { System.out.println("Hello"); }}之后你可以通过运行如下的javap命令,获得字节码信息,如:javap -v -p -s
2013-05-15 08:24:13 1460 2
翻译 深入理解JVM内部结构
这篇文章主要是解释java虚拟机(JVM)的内部结构。下图显示了符合Java SE 7 版本的Java虚拟机规范的一个典型JVM中的关键内部组件。 图中显示的组件将会在下面两部分中进行逐一的解释。第一部分涉及JVM为每一个线程都会创建的组件;第二部分则是独立于线程进行创建的组件。1. Thread Thread是一个程序中的一个执行线程。JV
2013-05-13 16:40:59 1479
转载 Linux定时任务的设置
为当前用户创建cron服务1. 键入 crontab -e 编辑crontab服务文件例如 文件内容如下:*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh保存文件并并退出*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh*/2 * * * * 通
2013-03-28 19:41:03 964
转载 Linux rsyslog详细介绍
转自:http://llei623.blog.163.com/blog/static/852075042010111482731766/ 作者:lleiWEB服务器多的时候检查日志是一件痛苦的事情,用 perl 脚本登录到服务器上grep一些错误信息两次之后就觉得是纯体力活,想办法偷懒。 准备弄一台统一的日志服务器,将登录认证,系统日志等全部发送到这台日志服务器上,可以做监控
2013-03-01 16:02:34 40383
原创 Spring MVC源码分析(续)——视图解析过程
在“Spring MVC源码分析(续)——请求处理 ” 中已大概的描述了Spring MVC中如何为不同的请求找到其对应的处理器。经过这个过程,其获得了一个“视图对象”,也即ModelAndView。后续则是进行视图的渲染(输出)。 接上文,视图的解析在”processDispatchResult(processedRequest, response, mappedHandl
2013-02-17 23:25:51 5986 1
转载 Java网络编程——远程通讯可选技术及原理
(此文系转载,具体出处已找不到~~未能标注) 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解
2013-02-15 22:41:24 1658
原创 放假第一天——给博客挂了个广告
31号从广州回来,本来订的是下午三点多的飞机,结果搞到了差不多10点才飞,坑爹的南航!!! 今早起来没啥活动,本来打算学点啥。 在网上逛了一圈,突发奇想,我可不可以也学人家在博客上挂个广告赚钱呐! 说干就干!开始在网上搜索各种资料,神马“广告联盟”、“淘宝客”、“啥啥推广”全都出来了,⊙﹏⊙b汗。 好吧!自己都不符合条件。 真打击,总不能半途而废吧! 难得花了
2013-02-02 14:00:59 896
转载 Java 性能优化之 String 篇
“Java中那些你不知道的事”系列转载自:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/index.html,IBM developerWorksString在JVM的存储结构一般而言,Java 对象在虚拟机的结构如下:对象头(object header):8 个字节 Java 原始类型数据:如
2013-01-24 15:07:56 915
原创 Java那点事——类加载器结构
在Java语言中,类型的加载和连接过程都是在程序运行期间完成的,尽管这样会带来一定的开销,但是却能为Java应用程序提供高度的灵活性,Java的动态扩展属性正是依赖运行期动态加载和动态连接这个特点实现的。 Java中类的整个生命周期为:加载->验证->准备->解析->初始化->使用->卸载。类加载器便是作用于"加载"阶段,它完成的功能为:通过一个类的全限定名来获取描述此类的二进制
2012-12-17 21:37:48 1137
原创 百度2013笔试题——软件研发类
今年百度校园招聘的笔试题类型有了一些小小的变化,也就是增加了简答题,其它的还是和原来一样,算法题加系统设计题。 (回忆版)一.简答题1. 列出几种常见的哈希函数,并简述哈希函数的作用。2. 描述OSI七层模型,说明HTTP协议运行于那一层。3. 有一段C语言程序代码,简述代码能成功运行的条件及程序的运行过程。二、算法与程序设计题1. 大概是,现有一车的苹果,
2012-10-20 21:07:41 1935
原创 java那点事——StringBuffer与StringBuilder原理与区别
今天去多玩YY笔试Java开发类职位,这个还是要看看能不能在广州找个好的工作!!Java类的笔试题中有个简单题是“StringBuffer与StringBuilder的区别,它们的应用场景是什么?”其实只要找下Google大神就有答案了:StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是StringBuffer 中的方法大都采用了 s
2012-10-09 19:49:53 17167 5
原创 Java指令集
有时候为了能理解JVM对程序所做的优化等,需要查看程序的字节码,因此知道了解一些常见的指令集很重要!指令码助记符说明0x00nop什么都不做0x01aconst_null将null推送至栈顶0x0
2012-10-09 19:19:40 6393 1
转载 Spring AOP 实现原理与 CGLIB 应用
AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编译时增强
2012-10-07 16:47:28 1957
原创 Spring MVC源码分析(续)——请求处理
在之前的“Spring MVC实现分析——初始化”中分析了spring mvc的初始化过程,接下来将分析其请求处理过程。 在找请求处理的入口时,我们需要先知道Servlet的编程规范,对应不同的请求(如POST、GET等)的实现方法在FrameworkServlet中,分别是doPost、doGet等,看这一系列方法的具体实现可以知道,请求的处理跳转到了processReques
2012-10-05 11:03:22 12981 1
转载 堆和栈的区别——堆栈详细介绍
堆和栈的区别 (转贴, 原作者不详,此文转自:http://www.cppblog.com/oosky/archive/2006/01/21/2958.html)堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
2012-09-27 10:38:50 1828
原创 现在的状态
现在的我身处研究生的最后一年,结束了两个月的实习后,也投身到了找工作的洪流,尽管此时的自己已经淡定了许多,也许是多少有点明白了自己想要的东西,但也只是有点,,一直以来我就有一个困惑,我的职业方向该选择c++,还是java,记得本科时我的想法是想c作为基础来理解一些底层机制,java作为技术方向。但后来"江湖中传说"在一些"一线"的大公司,java并没有受到太大的重视。 此处省
2012-09-17 23:37:57 863
原创 Java性能监控系列——java.lang.instrument
Instrumentation是Java5提供的新特性。使用Instrumentation,开发者可以构建一个代理,用来监测运行在JVM上的程序。监测一般是通过在执行某个类文件之前,对该类文件的字节码进行适当的修改进行的。 java.lang.instrument中需要关注的是ClassFileTransformer和Instrumentation接口。每个代理类必须实现 Clas
2012-09-15 00:31:59 3682
原创 Spring MVC源码分析——初始化过程
1. 概述对于Web开发者,MVC模型是大家再熟悉不过的了,SpringMVC中,满足条件的请求进入到负责请求分发的DispatcherServlet,DispatcherServlet根据请求url到控制器的映射(HandlerMapping中保存),HandlerMapping最终返回HandlerExecutionChain,其中包含了具体的处理对象handler(也即我们编程
2012-09-09 21:32:55 37634 3
翻译 JMX系列——概述
JMX(Java Management Extensions) API是JCP开发的一个标准,提供了管理和监控应用程序和服务的功能。它定义了一整套的管理构架、设计模式、API及服务供我们建立基于web的、分布式、动态和模块化的解决方案来管理基于Java的资源。1.概述 JMX技术是Java编程语言特有的。因此,它对基于java的功能提供了自然、高效和轻量级的管理扩展。它包
2012-09-07 13:53:11 2208
原创 读书计划(共勉)
最近实习在经过老大的一次培训后,发现自己懂得东西还是不太多!经过此次,发现老大特牛逼呀!! 相比自己,哎!!!! 好吧!要开始充电了,最近工作之余的学习计划是: (1)了解JVM的原理及性能监控相关的东西。 (2)重读Spring的源码。 (3)看“spring高级程序设计”。
2012-08-11 08:56:57 1292 6
转载 CGI编程规范
(注:转载的笔记)CGI是: “公共网关接口”(Common Gateway Interface)的简称,是HTTP服务器与其它程序进行“交谈”的一种工具,其程序须运行在网络服务器上。CGI是一段程序,它运行在Server上,提供同客户端 Html页面的接口。CGI的功能:通常情况下CGI程序被用来解释处理来自表单的输入信息,在服务器产生相应的处理,并将相应的信息反馈给浏览器。CG
2012-07-07 22:46:17 4730
转载 Vim下的代码自动补全和代码跳转阅读
Linux之所以今天仍然只被少数人使用,不能像windows一样进入寻常百姓家,其配置之难之烦,还是很让人不爽。号称Linux编辑器哼哈二将之一的Vim也是难逃此列。虽然很多高手用的得心应手,但是作为初学者往往不知道如何下手。。。我希望把同为初学者的我的配置经历,以尽量简洁的语言叙述,试图使这个过程看上去不再那么恐怖。【概念】 代码自动补全和代码跳转阅读,应该是作
2012-06-28 11:01:08 4280
转载 Linux下C++开发工具介绍
就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工
2012-06-28 08:59:56 1054
原创 hadoop+zookeeper+hbase安装、配置及应用实例
(注:本内容已迁移到最新博客,地址:http://www.jmatrix.org/bigdata/80.html)出于种种原因,想要搭建一个小集群,来搞搞数据处理。实践环境:ubuntu10.04+jdk1.6.20+hadoop-0.20.2+zookeeper3.3.4+hbase0.90.6本来是准备好了三台机器,结果后面一台挂了,所以只有两台了=。=
2012-06-19 14:26:43 17031 6
原创 Python Challenge(有趣的Python问题,没事可做做)
Python Challenge,网址:http://www.pythonchallenge.com/问题的入口在:当前有33关,类似于是python+解密,解开了前面的题才能往下走(前面的难题是下一个难题的地址),没事的时候做做还蛮好玩。思考受阻时,可以去网站的forum看看hint。 hints:level0: just look a
2012-06-12 09:21:41 1855
原创 boost python的使用
之前的文章 Python扩展模块实现中,介绍了如何使用c++编写python的扩展模块,现在我们有了新的选择,因为Boost提供了Python库,我们可以很容易的使用它来在C++应用程序中嵌入Python(目前有些功能可能还需要调用Python API);也可以使用它来扩展Python,在这方面的功能更强大。1. Boost Python库的编译boost中的组件,大部分都不需
2012-06-08 13:58:13 4644 2
原创 Android4.0源码下载与编译
(原写于某blog,别人的空间弄着真麻烦,怕过期拷贝过来,你懂的⊙﹏⊙b)1.1 编译环境操作系统:64位ubuntu11.10,由于条件的限制我是在虚拟机中安装64位linux操作系统的,之前使用32位的编译遇到的问题较多。1.2 建立编译环境1.2.1 安装JDK6.0$ sudo add-apt-repository "deb http://archive.c
2012-06-03 19:01:05 997
转载 Boost 库中的实用工具类使用入门
写简历时总写“精通C++”,可慢慢的发现自己懂得真的只是皮毛……=。=(包罗万象的boost也是到今年才开始了解,随python的深入也开始看看boost)。本文转载自IBM DeveloperWorks,这里经常有比较好的技术介绍文章。http://www.ibm.com/developerworks/cn/aix/library/au-util_boost_lib/(原文出处)
2012-05-30 21:14:08 745
原创 用C扩展Python的功能
1.模块封装可以利用Python解释器提供的接口来编写Python的C语言扩展,假设有一个C语言函数,int fact(int n){ if (n <= 1) return 1; else return n * fact(n - 1);}该函数的功能是计算某个给定自然数的阶乘,如果想在Python解释器中调用该函数,则应该首先将其实现为Pytho
2012-05-29 10:23:29 1181
原创 Spring功能扩展的一些思考——Spring自定义属性编辑器为例
(注:这个曾发表在某Blog上,那个马上要没了,你懂的=。=)SSH相信很多整过J2EE的人都很熟悉,但可能很多人没有深入研究过其底层架构,我觉得其中spring的源码是记得详细研究的,如果能对其IOC,AOP的整个流程有清晰的了解,就能对其进行扩展来满足自己项目的需求,在遇到bug也能更好的解决问题。下面分析两个spring中比较优雅的功能的底层实现来看看spring的扩展思路。1.
2012-05-28 08:20:06 4506
原创 python学习(一)
很久以前就开始有了学习python的打算,在看了黑客与画家又搞定了实习以后,还是决定静下心来琢磨琢磨它了,看了“python学习手册”整了点基础知识,还是打算从python的底层实现学习,同时也可复习复习编译原理和C,,在官网python.org下载份源码,下了2.7的,因为看介绍说3.0和2.0的功能上有一些比较明显的差别,比如说类继承树的查找方式,一些运算的处理,还是决定整2.7的版本,在下载
2012-05-17 09:12:07 1051
原创 腾讯、微软、网易游戏实习生面试之旅
找实习的苦逼之旅就在悄然之间开始了,本来并没打算投tx广研,可当见舍友去面试后,心里一盘算,如果去广研的话的能留在广州,不错!! ^_^。于是乎让主席帮忙问没投简历能不能去面试。得到回复是可以去参加下午的一个笔试,好吧!那就去笔试吧!! 2B的事情发生了,笔试完了没接到面试通知。好吧!!! 好惨!! 回去了。过了两天通知去面试,好吧!笔试还没投简历来的有效……无语……还是小高兴!
2012-04-22 17:03:03 13331 3
原创 Effective C++读书笔记——小话设计模式
“Effective C++”中第六部分“继承与面向对象设计中”,Scott Meyers谈论了许多c++面向对象设计中的技巧,其对is-a与has-a、继承还是符合的论述都颇为精彩,值得一看。在条款35:“考虑virtual以外的其它选择”中,Scott Meyers提到两种考虑的技巧——NVI手法与Strategy模式。这里,NVI手法就是模板方法设计模式,这个模式貌似不在那经典的gof设计模
2012-03-02 14:14:59 1551
原创 linux中list的使用
(注:最近在研究系统源码,发现有些时候,要自己写才能知道自己是否真的已完全理解。也可借此加深记忆,锻炼自己的表达,所以会经常在博客中乱写,如果有错,千万表拍砖……) linux内核实现中,涉及到很多的队列,比如运行队列runqueue,其中保存了所有的处于就绪状态等待运行的进程的task_struct结构体对象,它们是怎么链接起来的?当然是通过list了。如果看过task_str
2012-02-02 21:11:55 7632
原创 Spring IOC源码分析(3)
1.IOC容器的依赖注入 Spring中,依赖注入是在用户第一次向IOC容器索要Bean时触发的(通过getBean方法)。 在BeanFactory中我们看到getBean(String…)函数,它的具体实现在AbstractBeanFac
2011-09-04 21:54:50 4160 1
原创 spring IOC源码分析(2)
refresh这个方法包含了整个BeanFactory初始化的过程,定位资源由obtainFreshBeanFactory()来完成,protected ConfigurableListableBeanFactory obtainFreshBeanFactory() { r
2011-09-03 21:03:19 6539
原创 spring IOC源码分析(1)
1.何谓Spring IOC 何谓Spring IOC?书上谓之“依赖注入”,那何谓“依赖注入”? 作为一个Java程序猿,应该遇到过这样的问题,当你在代码中需要使用某个类提供的功能时,你首先需要new一个对象,给它传递必要的参数,然后才能使用它提供的功能,最后释放对象占用的内存,当然了这个在Java不需要你自己去干了。这也就是说你需要自己去管理变量的整个生命周
2011-09-02 14:22:17 23317 9
search big data with solr and hadoop
2012-06-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人