03 2014 档案

摘要:用java调用C++写的DLL一直以来都是一个比较麻烦但又很常见的问题。我们知道,使用 JNI 调用 .dll/.so 共享类库是非常非常麻烦和痛苦的。如果有一个现有的 .dll/.so 文件,如果使用 JNI 技术调用,我们首先需要另外使用 C 语言写一个 .dll/.so 共享库,使用 SUN 规定的数据结构替代 C 语言的数据结构,调用已有的 dll/so 中公布的函数。然后再在 Java 中载入这个适配器 dll/so ,再编写 Java native 函数作为 dll 中函数的代理。经过 2 个繁琐的步骤才能在 Java 中调用本地代码。因此,很少有 Java 程序员愿意编写调用 d 阅读全文

posted @ 2014-03-31 16:15 迷途@书童 阅读(599) 评论(0) 推荐(0)

摘要:最近遇到一个项目需要把word转成pdf,GOOGLE了一下网上的方案有很多,比如虚拟打印、给word装扩展插件等,这些方案都依赖于ms word程序,在java代码中也得使用诸如jacob或jcom这类Java COM Bridge,使得服务器受限于win平台,而且部署起来也很麻烦。后来在某外文论坛看到了一个openoffice+jodconverter的转换方案,可以用纯的java代码完成转换工作,服务器端需要安装openoffice,但是需求一步额外的操作--需要在服务器上的某个端口提供一个openoffice服务,这对部署起来显得麻烦了点。偶然机会发现了google code上有一个j 阅读全文

posted @ 2014-03-31 16:11 迷途@书童 阅读(9744) 评论(0) 推荐(0)

摘要:今天清理QQ好友,发现了一个不认识的人,怎么也想不起他是谁了,不过他的个性签名很有意思,是一个很长的网址:http://panyimx.blog.163.com/blog/#m=0&t=1&c=fks_087069083086088066086083083095085085082069083081087070084于是我期望通过这个网址找到这个人的相关信息,我想可能是他的博客吧,不过很可惜,报了一个404.于是我去掉后面的地址,只访问二级域名:http://panyimx.blog.163.com令我惊奇的事情发生了,居然显示为这个页面:纳闷,莫非登录到某个ftp上去了?随便点 阅读全文

posted @ 2014-03-30 11:38 迷途@书童 阅读(230) 评论(0) 推荐(1)

摘要:有个同事问我一个问题,简单的描述就是,如何动态的给表实体增加列。举个例子,有一个商品表:[code]id,名称,价格,描述,产地[/code]建表如下:create table product(n_id number,c_mc varchar(10),n_jg number(10,2),c_ms varchar(200),。。。。。。)假如未来需要增加新的属性,怎么办呢?表已经建好,难道要动态的增加列吗?我曾经面临过这个问题,实体要动态的增加属性,增加的又是未知类型未知长度,怎么办呢?参考我曾经收藏的一篇文章吧:http://www.tuicool.com/articles/RF7f2y说下我 阅读全文

posted @ 2014-03-19 10:02 迷途@书童 阅读(1800) 评论(0) 推荐(0)

摘要:websphere中间件,在打开一个jsp页面时报:IBM Websphere 报错:JSPG0120E: 为 pageEncoding 属性和匹配 URI 模式的配置元素指定不同的值是非法的。 .后来仔细检查了jsp页面,发现有个PageEncoding="utf-8",utf-8是小写,所以不被websphere识别,将其改成大写即可。 阅读全文

posted @ 2014-03-18 18:02 迷途@书童 阅读(754) 评论(0) 推荐(0)

摘要:什么是java的反射?java在运行期间可以动态的加载、解析和使用一些在编译阶段并不确定的类型,这一机制被称作反射。它可以加载只有运行时才能确定的数据类型,解析类的内部结构,获取其基本信息,如方法、属性、方法参数等,并可以操作该类型或者实例,如获取方法、方法调用、创建新对象等。Java的reflect包:java.lang.reflect.Field;java.lang.reflect.Method;java.lang.reflect.Constructor;java.lang.reflect.Modifier;java.lang.reflect..Array;基本功能:1.获取对应的clas 阅读全文

posted @ 2014-03-17 14:57 迷途@书童 阅读(161) 评论(0) 推荐(0)

摘要:classpath:hibernate.cfg.xml 阅读全文

posted @ 2014-03-17 14:55 迷途@书童 阅读(186) 评论(0) 推荐(0)

摘要:关于spring的传播特性,我对其进行了详细的叙述了下:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。比如方法A调用方法B,如果方法A,B都使用该特性,那么A会开启事务,执行到B的时候,B发现自己处于一个事务中,则会合并到该事务中和A公用一个事务执行,弱任一异常会回滚整个事务,AB执行都失败。若A未开启事务且未使用该特性,B使用该特性,B发现未处于一个事务中,则会主动开启事务,只有B会使用事务,A不会。PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。方法AB,A调用B,A使用REQU 阅读全文

posted @ 2014-03-17 14:55 迷途@书童 阅读(446) 评论(0) 推荐(0)

摘要:在J2SE 5.0,垃圾收集的默认值:垃圾收集器、堆大小以及JVM的类型(客户端还是服务器)都会根据应用运行的硬件平台和操作系统自动选择。相比之前设置命令行参数的方式,自动选择很好的匹配了不同类型的应用系统。另外,并行收集器增加了一种新的动态优化收集算法。在这种方法中,用户指定渴望的行为,垃圾收集器动态的调整堆区域的大小力图实现所需的行为。依赖于平台的默认选择和垃圾收集器自动调整所需的行为称谓工效学。工效学的目标是提供很好的性能,同时只需要很少的命令行参数优化。自动选择收集器、堆大小和VM类型拥有下面特性的认为是服务器类型的机器2个或更多的物理CPU,并且2G或更多的物理内存这个服务器类型机器 阅读全文

posted @ 2014-03-17 14:52 迷途@书童 阅读(248) 评论(0) 推荐(0)

摘要:很多公司都有自己的JVM实现,被Oracle收购的sun公司开发的JVM实现名为HotSpot。这一实现是我们最常用到的。还有哪些JVM实现呢?比较有名的有Oracle之前收购的BEA公司(就是以前做WebLogic的那家公司)的JRockit,IBM公司的J9 VM等。还有个半像不像的Dalvik(Goolge开发的运行在android上那玩意)当然不知名的还有很多,你可以参考这个列表了解下:http://en.wikipedia.org/wiki/List_of_Java_virtual_machines第四章主要介绍在J2SE 5.0 HotSpot JVM中实现的垃圾收集器。总共分为7 阅读全文

posted @ 2014-03-17 14:52 迷途@书童 阅读(319) 评论(0) 推荐(0)

摘要:在技术层面,当使用表分区等无法解决时,一般有如下拆分原则:1.对记录多的表进行拆分;需要拆分的表分为动态表和相对静态表。动态表拆分到不同库,静态表存在于公共库。从公共库同步到分库。实现表的连接。2.如果很多超大的公共表都需要表连接,则3.按照年、月、地域等来分割,或者根据时间范围等,具有确定的分割标志来分割。4.查询路由,保存分割规则,由分割规则决定去哪个库中查询【分割规则缓存】。5.数据库连接, 阅读全文

posted @ 2014-03-17 14:51 迷途@书童 阅读(398) 评论(0) 推荐(0)

摘要:第八章 有关垃圾收集的关键参数一些命令行参数可以用来选择垃圾收集器,指定堆或代的大小,修改垃圾收集行为,获取垃圾收集统计数据。本章给出一些最常用的参数。有关各种各样参数更多完整的列表和详细信息可以参见第九章。注意:指定的数字可以以“m”或“M”结尾表示兆字节,以“k”或“K”结尾表示千字节,以“g”或“G”结尾表示千兆字节。垃圾收集器的选择选项选择的垃圾收集器–XX:+UseSerialGCSerial(串行收集器)–XX:+UseParallelGCParallel(并行收集器)–XX:+UseParallelOldGCParallel compacting(并行压缩收集器)–XX:+Use 阅读全文

posted @ 2014-03-17 14:51 迷途@书童 阅读(161) 评论(0) 推荐(0)

摘要:第七章 评估垃圾收集性能的工具各种各样的诊断和监视工具可以用来评估垃圾收集性能。本章简要概述他们中的几个。可以通过第九章中的“Tools and Troubleshooting”链接获得更多的信息。命令行参数 –XX:+PrintGCDetails获取垃圾收集初始信息最简单的方法之一是指定这个命令行参数 –XX:+PrintGCDetails。对于每一次收集,形如这样的信息都会在输出的结果中:垃圾收集前后每个不同代活动对象的大小,每个代可用的空间以及垃圾收集消耗的时间。命令行参数 –XX:+PrintGCTimeStamps当使用了–XX:+PrintGCDetails参数后,除了上述输出外, 阅读全文

posted @ 2014-03-17 14:51 迷途@书童 阅读(204) 评论(0) 推荐(0)

摘要:总想对年轻离职者写点什么,当然我指的是那些在此生还想做一些事情的年轻人,而不是那些想混30年以后拿养老金的年轻人。我的忠告是:自己总结一个“职场错误清单”,最少要100条吧。在你离职的时候让你还可以信任的人们在上面划钩,更可以进行一些深度的交流。这样可以清醒地认识自己,知道以后该如何进步。人最可悲的是你在大多数别人的眼里和在自己眼里的形像并不相符。如果总不去看,或者总也看不到,一生都会活在一个莫名其妙的世界里。微博里类似的反思并不少,摘了些贴这儿。【领导喜欢什么样的人】有使命感的人:1、有使命感的人,走到哪里都会受到欢迎。2、没有使命感感的人,即使接受伟大的任务,结局也注定平庸。3、有使命感, 阅读全文

posted @ 2014-03-13 10:51 迷途@书童 阅读(162) 评论(0) 推荐(0)

该文被密码保护。

posted @ 2014-03-10 00:03 迷途@书童 阅读(3) 评论(0) 推荐(0)

摘要:当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Process service4. Encode reply5. Send reply经典的网络服务的设计如下图,在每个线程中完成对数据的处理: 但这种模式在用户负载增加时,性能将下降非常的快。我们需要重新寻找一个新的方案,保持数据处理的流畅,很显然,事件触发机制是最好的解决办法,当有事件发生时,会触动handler,然后开始数据的处理。Reactor模式类似于AWT中的Event处理: Reactor模 阅读全文

posted @ 2014-03-10 00:02 迷途@书童 阅读(205) 评论(0) 推荐(0)

导航