自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 从字节码指令看重写在JVM中的实现

Java是解释执行的,包括动态链接的特性,都给解析或运行期间提供了很多灵活扩展的空间。面向对象语言的继承、封装和多态的特性,在JVM中是怎样进行编译、解析,以及通过字节码指令如何确定方法调用的版本是本文如下要探讨的主要内容,全文围绕一个多态的简单举例来看在JVM中是如何实现的。

2015-07-30 19:22:35 19543

原创 ASM(五) 利用TreeApi 解析生成及转换Class

篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。 在介绍前,先要知道一点, Tree工程的接口基本可以完成大部分我们之前介绍的Core中的功能。但是在实际使用中更加便利,当然也会更加消耗时间和性能。完成一个简单的生成编译后的Class字节码的任务,可能会花费多余Core的30%的时间,同时也会消耗更多内存。但是通过下面的介绍,相信在选择用哪种Api上,我们也会做出自己的取舍和判断。

2015-07-15 19:57:27 21278

原创 ASM(四) 利用Method 组件动态注入方法逻辑

这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以通过继承MethodVisitor,来编写一个MethodXXXAdapte

2015-07-02 20:17:39 20910 2

原创 ASM(三) 利用Method组件动态生成方法的字节码

一、概述      ASM的CoreApi 中还提供了对class 中方法的生成和解析的组件。前面两篇着重介绍了ClassVisitor 组件的应用场景。ClassVisitor Api 中的visitMethod(int access, String name, String desc, String signature, String[] exceptions)方法返回了一个MethodV

2015-07-01 21:48:30 20886

原创 JVM StackMapTable 属性的作用及理解

在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版本之后把栈图作为字节码文件中的强制部分。 本来程序员是不需要关心JV

2015-07-01 21:48:24 25478 10

原创 Java 并发包之线程池和原子计数

对于大数据量关联的业务处理逻辑,比较直接的想法就是用JDK提供的并发包去解决多线程情况下的业务数据处理。线程池可以提供很好的管理线程的方式,并且可以提高线程利用率,并发包中的原子计数在多线程的情况下可以让我们避免去写一些同步代码。    这里就先把jdk并发包中的线程池处理器ThreadPoolExecutor 以原子计数类AomicInteger 和倒数计时锁CountDownLatch的一

2015-07-01 21:48:19 14075

原创 Flex&iBatis&Hibernate&Spring—师徒奶茶系统V1总结

昨晚只睡了两个小时来改进这个属于我们“下午茶”师徒群的同学们。主要是用Flex做前端,Java做后台。其实整个系统搭建起来很容易,因为Flex&Java应该说是我最熟悉的吧。为了快速和友好的交互,当然还是用这个。不过这次比较傻的是,前几天实现的用户列表的增删查改是用iBatis,主要原因是想基于以前一个简单的测试项目,前面几篇博文中有详细的介绍。可是,昨晚抽风又想用Hibernate了。这

2015-07-01 21:48:07 822

原创 寒假的唠叨

年快过完了,寒假也快结束了。与以往不同的是,这次放假不是回学校而是直接去公司实习。现在寒假过了大半了,想唠叨唠叨……     刚放假的时候买了6本书,包括Maven,云计算,架构设计,经济管理,世界咖啡以及不可或缺的小说。每周会定时买CBNWeekly(第一财经周刊)翻翻看。书没有都看完,杂志倒是一页不差地阅读。毕竟是商学院的同学,还是要关注些专业相关的东西。而且想起来,大一的时候比较喜欢学金

2015-07-01 21:47:56 1659 5

原创 iBATIS&Spring合奏(五)--整合lucene搜索表字段内容

之所以加上lucene来建立搜索引擎,是因为其轻便简单以及快速。Lucene作为开源社区很好的建立搜索引擎的框架也给我们(Java程序员)提供了很友好的方式。这次介绍的也是简单的整合,对于Lucene的一些复杂特性还请大家仔细阅读文档以及书籍或求助Google以及源码。      其实这篇博客早就要写了,只是最近遇到了非常纠结的事情,那就是要考一门我完全不会的课——计量经济学。都是模型,公式,觉

2015-07-01 21:47:51 10000

原创 iBATIS&Spring合奏(四)--设计模式in iBATIS

现在总结一下iBATIS框架中用到的优美的设计模式。并不是强调设计模式有多强大或者iBATIS有多牛叉,只是在看源码的过程中的一些丝丝缕缕,觉得有很多值得学习的地方。按照不同层次的实现一点点分析和整理。以下的类图和序列图有画的不到位的地方请见谅,因为实在不很在行,用EA画图很痛苦……      一、SQL Map配置解析      关于配置文件的解析,iBATIS运用了DOM解析加动态代理的方

2015-07-01 21:47:45 10128

原创 iBATIS&Spring合奏(三)--事务&动态SQL

刚看了个恐怖片,总算有点灵感,继续总结Spring和iBATIS的东东。本来想今天梳理下iBATIS源码阅读时总结的经典设计模式。但是现在思绪比较凌乱,留到下一次吧。      先说事务处理。iBATIS对于事务的支持比较基本的是基于JDBC的,当然也有JPA,EXTERNAL。这里就说说JDBC。其实看源码就知道,源码也只是对JDBC事务管理进行了轻量封装。核心处理在TransactionMa

2015-07-01 21:47:40 10064 1

原创 iBATIS&Spring合奏(二)--Flex前端融合

iBatis和Spring的进度依然如昨。回馈社区的时间到了,今天是Flex的时间。以前用Java+Flex做一般用LCDS的dataservice组件,其实就是偷懒。因为最近研究了下Spring+iBATIS,也是出于项目需要,决定勤奋一回,用LCDS的RPC服务吧。RPC在FlexLCDS中支持三种服务——WebService,HttpService以及本文用的RemotingObject。L

2015-07-01 21:47:34 9934 1

原创 iBATIS&Spring合奏(一)--DAO

iBATIS,大家都用的比喻就是什么半自动步枪之类的,没错。一个框架是做神马的相信靠谱点的程序猿们都会先去Google,然后看看官方文档之类的,再在网上找点代码copy下然后运行看看。随后需要深入研究了,需要性能优化了,再去深入研究和体会,牛者自己写个差不多的框架用起来还爽些。这合奏系列文章就是提供给刚刚接受iBATIS框架,想和Spring放在一起用的猿类们的。也是觉得过几阵子不用它自己也会不记

2015-07-01 21:47:28 9947

原创 Spring AOP 织入初探--通过架构看实现

最近静下心来回归技术书籍,一方面准备SCJP,一方面想把一些框架好好研究一下,倒不是应用,只是觉得以前颇少关注这些东西的实现,而现在越来越觉得,好的框架的设计思想很值得学习,而且对于应用方面也会有质的提升。于是就先从Spring入手吧。       IOC在此就不谈了,懂得动态代理的童鞋都知道就是那么回事,再加点反射机制。AOP并不是Spring的专利,但是Spring提供的AOP实现却差不多

2015-07-01 21:47:19 944 1

原创 大学这几年

最近和一些学弟学妹做交流,总能感受到他们对于知识的渴望以及对于编程的好奇心。对于一个即将毕业的本科生来说,感到很欣慰的是,我们商学院的学生也有一腔热情,去开辟自己的兴趣,去挑战技术。      对于很多学弟学妹们会提及的问题,我就在此做个简单的总结。当然也只是简单的参考来提供。自己并没有做出什么很不得了的事情,但是我觉得我们要纵向比较,今天的我比昨天的我进步了就是一种成长和成功。一下分几点谈谈

2015-07-01 21:47:13 1647 8

原创 读《SaaS架构设计》一书有感

记得在淘宝的三面时面试官提到了SaaS,我当时是说不了解。回到长沙后整理了一些要去了解和学习的东西。还好在图书馆摸索到了《SaaS架构设计》一书。都是阿里巴巴架构师或专家所著,里面把SaaS的架构设计,发展变化以很形象生动的文字表现出来,而且还分析了业界几个知名的应用,给了我很多启发和思考。觉得书看过了基本也就留下些印象,不用就会难以真正消化,但是对于SaaS,应用暂时还是不可能,只能说是总结些东

2015-07-01 21:47:08 1911

原创 蛋糕求职记--小时候淘气,长大了淘宝

这篇蛋糕求职记记录了我应聘到淘宝软件公司的过程以及点滴收获。拿出来和大家分享。    到武汉应聘确实是件很突然的事情。虽然早就决定去武汉尝试下淘宝和支付宝(对阿里的偏好始于大三)。   10月10号到武汉,晚上再加上大雨,再加上迷糊的计程车司机把我和另外一名一起来应聘的同学带到了武大校园里面……武大真的很大,兜兜转转才找到一个可以住的旅馆。第二天就换到武大正门对着的街道里的旅馆。可以说,去

2015-07-01 21:47:02 1468 2

原创 简单FlexLCDS环境搭建以及示例

Flex的LCDS服务可以支持的主要三种服务有RPC,messaging,DataManagement。具体都是干嘛的,具体不作介绍了,简单说说FLEX和LCDS的环境搭建。      1>安装好插件在eclipse里面(具体可以google)     2>在新的工作平台中新建一个Flex web项目,在这里项目名称是Dove,这里注意服务器要选择lcds,接下来就如图了:    3>点击

2015-07-01 21:46:57 654

原创 Agile系统分析设计报告

这几日终于在项目开发完工之后把总结写了一下。用FlexLCDS的DataService-HibernateAssembler开发还是头一次吧。今天算是一个阶段过去了。接下来就是暑期的实习,株洲的实习和三一的实习,有时间也要把C的算法数据结构好好复习一下,感觉很久没有静下来看书的感觉了。整日开着电脑,接下来这实习前的最后一周打算看看书,什么书都好,让自己静一静。      我把AgileShop

2015-07-01 21:46:51 905

原创 Flex(RIA)也可以做到企业级开发

如果把Flex单纯地看做是做界面的那就真的只看到了佛山一角了。Flex做出的界面不仅是好看而是简洁。我认为用Flex做企业级开发的话要追求一种简洁,在企业里一般都是用内网,所以flex的速度不是问题。而且与C/S相比访问浏览器还是快些吧。     前几天一直为项目里报的错而烦恼,部署到服务器上刚开始还是可以访问,登录,美欧任何问题的,过了一会就会报错,看了下错误信息,google了好一阵子,想

2015-07-01 21:46:45 852

原创 Flex LCDS 公司主页收工总结

Agile的公司主页总算还是在近两天紧张的时间里做完了。   因为添加了Transition等特效所以实际的操作效果是比较有趣的。新闻查询是按照新闻的发布时间来进行查询的。      可以说这个项目让我收获了很多,很多模块,很多表之间的逻辑连接,很多操作的思考……进步也是不知不觉中进行的吧。由于Flex DataService的实时性所以不仅仅可以看到友好的客户端界面(还是觉得自己的界面做

2015-07-01 21:46:40 739

原创 Flex LCDS的一个简单应用--AgileShopping&Management项目小结

Flex 接触了四个月有余,前面的时间一直在做准备工作。五月初的时候决定开始动工,用felx尝试一下Web企业级应用开发。之前开始接触Flex技术也是处于一种巧合,后来不断看到网络上关于集中RIA技术优缺点的一些争议。其实没有必要比较,需要的时候学好、用好就可以了,很多东西都是在慢慢的积累,一点点进步吧。     项目驱动其实才是王道,之前看的书少说也有5,6本,只是其中基本只做工具书来参考查询,

2015-07-01 21:46:34 795

原创 TL之StringBuilder构建字符串

我们都知道怎样用String去构建字符串,但常常也会被一些细节困扰。由于Java语言给我们带来的很多方便,很多时候程序员也便渐渐不去考虑一些效率问题了。这远远不像曾经学C或C++的时候纠结算法,效率的抓狂年代。    最近开始下定决心仔细学习下Java基础知识部分,就把一些觉得比较容易被大家忽视,也同样是很重要的(只要你认为重要就好)知识点拿出来和大家资源共享一下。大多数是在《Core java

2015-07-01 21:46:28 772

蜂潮运动image

蜂潮运动image

2016-04-14

Vagrant中搭建Docker虚拟环境(上)-Mac

Vagrant提供了可配置、可复用的虚拟开发和部署环境,对于开发人员来说,Vagrant可以帮你统一团队成员的开发环境。也可以提供一套一致的线上线下环境。vagrant 在mac上通过命令行工具可以管理统一的镜像(BOX)所以vagrant还需要依赖VirtualBox等提供系统(支持linux,windows,OS X等)环境。这篇文章主要介绍下个人在mac上的配置过程。后面一篇会介绍vagrant上搭建docker(一种轻量级的LinuxContainer),让docker更加轻量级得管理我们统一的虚拟环境。

2015-09-18

C语言程序设计报告

实用,详细易懂,最常见的程序设计。

2008-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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