摘要:
转载:http://www.blogjava.net/zhangyuan/archive/2010/07/24/327011.html昨天跟朋友一起吃饭,他说到两个Integer类型值比较是否相等的问题。经理也在这里把java的Integer值比较的问题拿出来说一说。因为在面试的时候这个是经常遇到的问题。首先给大家看一个例子:1publicclassTest{23/**4*关于Integer大小比较问题5*@author经理6*/7publicstaticvoidmain(String[]args){8Integera=10;9Integerb=10;10System.out.println( 阅读全文
摘要:
转载:http://hi.baidu.com/lszhuhaichao分词原理建立索引和查询的过程中,都是以基本的语素项为单位的。基本的语素项就是通过分词得到。这个过程决定了索引单元金额最终的匹配过程。分词在文本索引的建立过程和用户提交检索过程中都存在。利用相同的分词器,把短语或者句子切分成相同的结果,才能保证检索过程顺利进行。1、英文分词的原理基本的处理流程是:输入文本、词汇分割、词汇过滤(去除停留词)、词干提取(形态还原)、大写转为小写、结果输出。2、中文分词原理中文分词比较复杂,并没有英文分词那么简单。这主要是因为中文的词与词之间并不像英文中那样用空格来隔开。主要的方法有三种:基于词典匹 阅读全文
摘要:
转载:http://hi.baidu.com/630270730/item/a4d92e24007be1130875089ffloat与double的范围和精度1. 范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位) 8bits(指数位) 23bits(尾数位)double:1bit(符号位) 11bits(指数位) 52bits(尾数位)于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。其中负指数决定了浮点 阅读全文
摘要:
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。(方法区)Young generation , Tenured generation:老年代--------------》java堆 阅读全文
摘要:
静态编译就是在编译的时候把你所有的模块都编译进exe里去,当你启动这个exe的时候所有模块都加载进来了。你写小程序没问题,但程序一大,加载的过程(就是当你运行程序时初始化的过程)就比较费力了。。大多数ppc的硬件配置还是很一般的。。。。。。动态编译就不一样了,你编译的时候那些模块都没有编译进去,一般情况下你可以把那些模块都编译成dll,这样你启动程序(初始化)的时候这些模块不会被加载,而是在运行的时候,用到那个模块就调用哪个模块。。。。。简单的打个比方,我写个阅读器,支持txt,pdf,udm三种格式,暂时把读txt,读pdf,读udm定义为三个功能模块。使用静态编译:我想看个txt,点击应用 阅读全文
摘要:
守护线程(Daemon)Java有两种Thread:“守护线程Daemon”与“用户线程User”。我们之前看到的例子都是用户,守护线程是一种“在后台提供通用性支持”的线程,它并不属于程序本体。从字面上我们很容易将守护线程理解成是由虚拟机(virtual machine)在内部创建的,而用户线程则是自己所创建的。事实并不是这样,任何线程都可以是“守护线程Daemon”或“用户线程User”。他们在几乎每个方面都是相同的,唯一的区别是判断虚拟机何时离开:用户线程:Java虚拟机在它所有非守护线程已经离开后自动离开。守护线程:守护线程则是用来服务用户线程的,如果没有其他用户线程在运行,那么就没有. 阅读全文
摘要:
在页面会报空指针,而后台会报这个ognl.OgnlException..1,检查UserAction中的getters&setters是否存在,正确2,jsp页面传参数时别忘了用user.username 3,在UserAction中一定要写private User user;而不能写private User u;.与第二条中的user要对应 补充:其实不是这样的Struts只认Action中user的getset方法的名字,例如:jsp按照第二条这么写,那么UserAction中可以写private User user也可以写private User u;但是get和set方法必须是 阅读全文
摘要:
在页面会报空指针,而后台会报这个ognl.OgnlException..1,检查UserAction中的getters&setters是否存在,正确2,jsp页面传参数时别忘了用user.username 3,在UserAction中一定要写private User user;而不能写private User u;.与第二条中的user要对应 补充:其实不是这样的Struts只认Action中user的getset方法的名字,例如:jsp按照第二条这么写,那么UserAction中可以写private User user也可以写private User u;但是get和set方法必须是 阅读全文
摘要:
第45条:将局部变量的作用域最小化 使用for循环与使用while循环相比还有另一个优势:更简介第46条:for-each循环优先与传统的for循环第47条:了解和使用类库第48条:如果精确的答案,避免使用float和double,BigDecimall, int ,long 9 18第49条:基本类型由于装箱基本类型第50条:如果其他类型更适合,避免使用字符串 String ,----StringBuilder第51条:当心字符串的连接性能第52条:通过接口引用对象第53条:接口优先与反射机制 允许一个类使用另一各类,在另一各类还没有编译的情况第54条:谨慎的使用本地方法第55条:谨慎... 阅读全文
摘要:
第38条:检查方法的有效性第39条:必要时进行保护性拷贝 1.对于构造器的每个可变参数进行保护性拷贝 2.===第40条:谨慎的设计方法签名 1.不能太多,参数,最多4 2.参数类型优先使用接口,而不是类 3.第一种吧方法分解成多个方法,二。创建辅助类,用来保存参数的分组,辅助类一般为静态成员类,三,使用Javabean模式第41条:慎用重载 对于重载的方法的选择是静态的,对于被覆盖的方法的选择是动态的,,要调用哪个重载是在编译时决定的,第42条:慎用可变参数第43条:返回0长度的数组或者集合,而不是null 返回类型为数组或者集合的方法,没有理由返回null,而不是返回一个另长... 阅读全文