`
xpenxpen
  • 浏览: 703961 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表

浅谈asm的应用

看图说话 这张图展示了asm的威力,一个java字节码操纵的类库。 框架之间的依赖关系是:图中位于下面的框架依赖上面的框架。 有很多框架都是基于asm之上的,比如cglib。 groovy通过修改字节码的方式,为java语言添加了许多功能。 cobertura通过修改字节码的方式,从而做到代码覆盖率测试。 另两个值得注目的技术是JDK动态代理和JDK instrument。 tprofiler结合了JDK instrument和asm实现性能剖析, 而spring aop则是基于JDK动态代理和cglib实现aop。
1.引言 如今开发一个javascript工程,不再是那种把javascript写好,在浏览器里测试测试就完事的流程了。有很多工具可以帮助提高javascript的质量。 比如jslint可以检查代码质量,找出有问题的代码,uglify可以将javascript代码压缩,等等。 而grunt是一个类似于java里面的ant,maven,gradle这种构建工具。有了它,从而使得javascript工程的编译、打包、测试也能做到像java一样自动化,从而达到持续集成的目的。 本文我们通过modernizer项目来一瞥grunt的功能。 2.环境 Windows7 64bit nodejs 0. ...

tprofiler初探

1.简介 tprofiler是一个可以在生产环境长期使用的性能分析工具。可以监测每个类,每个方法运行需要多少时间,然后找到性能的瓶颈,这点和jvisualvm这类profiler工具类似。 2.实战 我们准备结合tomcat测一个web应用的性能。这里选取retwisj来测试。 环境: Windows7 64bit JDK 1.7.0_72 64bit Tomcat 7.0.35 Maven 2.2.1 2.1 首先去git官网将tprofiler的代码clone下来,然后编译 git assembly:assembly 2.2 将TProfiler\pkg\TProfiler\lib\ ...

Java Art一书简介

Java Art系列是Killer Game Programming in Java一书的扩展章节,介绍了很多利用java框架来实现各种有趣功能的思路和实现。 作者是泰国的Dr. Andrew Davison,这本书的在线浏览网址是 http://fivedots.coe.psu.ac.th/~ad/jg/index.html(搜索该页面里的Java Art就可以找到) 这本书我读下来的感受是,相当好!可作为java基础提高、或者是架构师拓宽思路的材料阅读。 各章内容简介如下: Chapter 0.5. Automatic Wallpapering 这一章讲了如何自动更换Windows桌面的壁 ...
1.概述 《Vision-based User Interface Programming in Java》这本书介绍了如何用java做摄像头程序和游戏,可以作为一个计算机视觉的启蒙读物。 作者是泰国的Dr. Andrew Davison,这本书的在线浏览网址是 http://fivedots.coe.psu.ac.th/~ad/vbi/index.html 不 ...
1.目的 现在许多同学的电脑上没有摄像头,但是随着智能手机的普及,大多数同学都有带摄像头的手机。而智能手机的摄像头比电脑的usb摄像头的效果好很多。那可不可以把手机摄像头用在电脑上来网络聊天呢,其实这是可以的,这里我们需要借助DroidCam软件来让手机摄像头变成电脑摄像头。 2. 环境 本人亲测通过的软硬件环境: 安卓手机一部(小米1S)MIUI5(Android 4.1.2) PC机一台(Windows 7) DroidCam Client 5.0.1.exe DroidCam 5.0.2.apk adb 1.0.32 软件我都上传了,可在文末下载。 3. 步骤 3.1 首先在手机上 ...
2015/01/23晚22:00更新 不好意思,之前程序没有在中文操作系统下测试过,居然乱码,我修正了程序重新上传了。 WebUtils.java读json的那段改为UTF8编码了,另外javac编译时也改为UTF8。 BufferedReader reader = new BufferedReader( ...

WebGL初步

1.概述 WebGL是一项利用JavaScript API呈现3D电脑图形的技术,有别于过往需加装浏览器插件,通过WebGL的技术,只需要编写网页代码即可实现3D图像的展示。WebGL的规格尚在发展中,由非营利的Khronos Group管理。WebGL基于OpenGL ES 2.0,提供了3D图像的程序接口。它使用HTML5 Canvas并允许利用文档对象模型接口。可利用部分Javascript实现自动存储器管理。 目前,主流浏览器都原生支持WebGL。 一些Demo 如果看不了的话,可以试一下chrome浏览器。 IE的话要IE11以上才原生支持webgl。 firefox如果看不了的 ...
1.框架与环境搭建 1.1 本游戏使用了以下框架 slick2d  lwjgl 首先去这两个网站分别将他们下载下来,(注意目前slick2d暂不支持lwjgl 3,所以需要下载lwjgl 2)然后建一个eclipse工程。 游戏源码(java,图片声音地图数据)可在我之前一篇博文中下载,本文文末代码只含有我加了中文注释的java代码。 1.2 lib目录下加入如下jar包 ibxm.jar jinput.jar jnlp.jar jogg-0.0.7.jar jorbis-0.0.15.jar lwjgl.jar slick.jar 1.3 native目录下加入如下本地库(本文以wi ...
老外居然用Java复刻了一个赤色要塞! 出处:http://meatfighter.com/jackal/ 也可在文末附件下载。一个是可执行jar包,还有一个是源代码。 初步看了下,用的slick2d框架做的。 今天大家就先娱乐一下,玩下这个游戏吧。稍后我争取写几篇博文分析一下他的源代码。
1.概述 老外用Java做的2D密室逃脱游戏。个人认为挺不错的。 来源http://meatfighter.com/escape/index.html 效果如图 2.源码赏析 还是一如既往,定义了一个IMode,这样不同模式可以切换,避免一堆if else,而且扩展也容易。 游戏主要核心就是Main以及GameMode这两个类。其他都是场景。当然里面有很多小游戏,如fifteen,汉诺塔,记忆题。 Main是游戏的一个框架。 public void run() { Images.inventoryTile.getWidth(); // load images ...
0.概述     语音合成,是将人类语音用人工的方式所产生。若是将电脑系统用在语音合成上,则称为语音合成器,而语音合成器可以用软/硬件所实现。文字转语音(text-to-speech,TTS)系统则是将一般语言的文字转换为语音。     java speech api(jsapi)提供了2种技术的规范:语音识别(声音到文字)、语音合成(文字到声音)。     freetts是一个jsapi的实现,但只实现了语音合成功能。     freetts有一些内建语音,比如"kevin16"。     如果需要语音识别功能,可以考虑Sphinx-4 1.下载安装freetts     ...
1.问题 用POI来读写excel文件相信大家都不陌生了。最近项目中有个需求,需要读取一个excel2007格式的模板,然后再写10000条记录到这个excel里,最后输出。本人一开始用poi的user model来写excel,但是测试下来发现内存消耗极大(2G),且需要10分钟才能完成excel的生成。那有没有性能更好更快的方法呢?poi还提供了2种方法,一种是event model,但只支持读,还有一种sxsff,只支持写。由于我们原来excel模板里有许多格式还有控件,vba宏在,需要同时具有读和写的功能。所以这2种方法都不行。 2.取巧方法 本人在这里找到的方法:http://vik ...
1.一个不错的例子 Killer Game Programming in Java  第5章和第6章 Images, Visual Effects, and Animation 这本游戏编程书的第5和第6章讲了一个例子,涉及到了图像视觉特效的许多例子,可以优先参考。效果图如下: 使用的方法大致有以下这些: 1) Graphics.drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)    Graphics.drawImage(Image img, int dx1, int dy1, ...
1.简介 Oracle里面,视图SYS.USER_TAB_COLS和SYS.USER_TAB_COLUMNS都保存了当前用户的表、视图和Clusters中的列信息。通过检索这两个表,可以方便的获取到表的结构。 利用下面这条SQL语句可以获得当前用户的表结构: select * from user_tab_columns 2.妙用 可以利用Oracle的这个特性,做数据库的升级维护工作。 比如我们要重构一张表,增加xx字段。普通的DDL语句一般都这么写没问题: alter table A add (xx varchar2(255)) 然后如果我们做的好一点,还要求这个升级脚本是 ...
Global site tag (gtag.js) - Google Analytics