随笔分类 -  Java

摘要:常量指不能改变的量。 在Java中用final标志,声明方式和变量类似:final double PI = 3.1415927;虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。关于常量的初始化问题:package Main;public class Main_final { ... 阅读全文
posted @ 2014-04-17 11:47 三句对白 阅读(1330) 评论(0) 推荐(0)
摘要:Seasar2是由日本人开发的一个框架。它通过自己定义的规约,很大程度上地减少了设定代码。但是由于这个原因,导致了框架学习初期会有比较大的跨越。 阅读全文
posted @ 2014-02-18 18:08 三句对白 阅读(1240) 评论(0) 推荐(0)
摘要:谈起js在服务端的应用,大部分人的第一反应都是node.js。node.js作为一套服务器端的 JavaScript 运行环境,有自己的独到之处,但不是所有的地方都需要使用它。   例如在已有的服务端代码上增加一个业务,而这个业务使用的却是js编写。如果用node.js处理的话,会很麻烦。而且另一方面对于很多服务端程序员来说,觉得js的对象模型很奇怪,不太喜欢用js处理问题。   对于上面这种情况,有一种简单的处理方法:javax.script API 阅读全文
posted @ 2013-11-15 11:25 三句对白 阅读(9705) 评论(0) 推荐(0)
摘要:每个Java应用都可以有自己的安全管理器,它是防范恶意攻击的主要安全卫士。安全管理器通过执行运行阶段检查和访问授权,以实施应用所需的安全策略,从而保护资源免受恶意操作的攻击。实际上,安全管理器根据Java安全策略文件决定将哪组权限授予类。然而,当不可信的类和第三方应用使用JVM时,Java安全管理器将使用与JVM相关的安全策略来识别恶意操作。在很多情况下,威胁模型不包含运行于JVM中的恶意代码,此时Java安全管理器便不是必需的。当安全管理器检测到违反安全策略的操作时,JVM将引发AccessControlException或SecurityException。 阅读全文
posted @ 2013-04-18 18:27 三句对白 阅读(1513) 评论(0) 推荐(0)
摘要:今天看网页的时候看到一个关于i=i++的问题。 public void testNum(){ int j=2; j=j++; System.out.println("j=" + j); j=++j; System.out.println("j=" + j); } 在java中得出的结果是:j=2 j=3; 而在C++中得出的结果是:j=3 j=3; 阅读全文
posted @ 2013-04-18 18:17 三句对白 阅读(617) 评论(0) 推荐(0)
摘要:SQL 映射XML 文件是所有sql语句放置的地方。需要定义一个workspace,一般定义为对应的接口类的路径。写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: Xml代码 阅读全文
posted @ 2013-03-15 12:05 三句对白
摘要:MyBatis 真正强大之处就在这些映射语句,也就是它的魔力所在。对于它的强大功能,SQL 映射文件的配置却非常简单。 如果您比较SQL 映射文件配置与JDBC 代码,您很快可以发现,使用SQL 映射文件配置可以节省95%的代码量。MyBatis 被创建来专注于SQL,但又给您自己的实现极大的空间。 阅读全文
posted @ 2013-03-15 12:03 三句对白
摘要:首 先当然得下载mybatis-3.0.5.jar和mybatis-spring-1.0.1.jar两个JAR包,并放在WEB-INF的lib目录下 (如果你使用maven,则jar会根据你的pom配置的依赖自动下载,并存放在你指定的maven本地库中,默认是~/.m2 /repository),前一个是mybatis核心包,后一个是和spring整合的包。 使用mybatis,必须有个全局配置文件configuration.xml,来配置mybatis的缓存,延迟加载等等一系列属性,该配置文件示例如下: 阅读全文
posted @ 2013-03-15 12:02 三句对白
摘要:log4j.logger.com.springframework=DEBUG log4j.logger.com.ibatis=DEBUG log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG 在log4j的配置文件中加上上面的一段配置,就可以输出SQL 阅读全文
posted @ 2013-03-15 11:24 三句对白
摘要:在网上看了一个关于SSH的讲解。拷下来看看。Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 阅读全文
posted @ 2013-02-21 17:47 三句对白 阅读(1106) 评论(0) 推荐(0)
摘要:JDK自带的转码工具,我这里主要用于国际化.native2ascii -encoding [编码] [原始文件] [转入文件] 阅读全文
posted @ 2013-02-07 17:48 三句对白 阅读(238) 评论(0) 推荐(0)
摘要:今天在使用Struts时,发现在用servlet时会报There is no Action mapped for namespace [/] and action name [UserInfoCollection] associated with context path [/ShowMail_SSI]. - [unknown location]原因是在web.xml设置过滤器的时候直接使用会将servlet过滤掉。如果要同时使用struts和servlet,需要将servlet的filter设置在struts前面这个filter中init-param必须加上所有的servlet。然后在ser 阅读全文
posted @ 2013-02-01 18:11 三句对白 阅读(407) 评论(1) 推荐(0)
摘要:今天测试的时候碰到一个多线程测试的问题。问题描述:class(ChildThread)继承Thread,方法run是一个循环,循环的break条件是在方法childThreadStop中判断。public class ChildThread extends Thread{ ... private boolean alive_flag; public void run(){ alive_flag = true; While(alive_flag){ ... } public void childThreadStop(){ alive_flag = fal... 阅读全文
posted @ 2013-01-11 16:23 三句对白 阅读(8900) 评论(1) 推荐(0)
摘要:Throwable是java.lang包中一个专门用来处理异常的类。它有两个子类,即Error 和Exception,它们分别用来处理两组异常。 Error用来处理程序运行环境方面的异常,比如,虚拟机错误、装载错误和连接错误,这类异常主要是和硬件有关的,而不是由程序本身抛出的。Exception是Throwable的一个主要子类。Exception下面还有子类,其中一部分子类分别对应于Java程序运行时常常遇到的各种异常的处理,其中包括隐式异常。比如,程序中除数为0引起的错误、数组下标越界错误等,这类异常也称为运行时异常,因为它们虽然是由程序本身引起的异常,但不是程序主动抛出的,而是在程序运行 阅读全文
posted @ 2013-01-11 11:57 三句对白 阅读(852) 评论(0) 推荐(0)
摘要://test_applet_package.javapackage test;import java.applet.*;import java.awt.*;import java.awt.event.*;import java.net.MalformedURLException;import java.net.URL;import java.lang.String;public class test_applet_package extends Applet implements MouseListener{ private int width, height; private Image o 阅读全文
posted @ 2013-01-10 11:09 三句对白 阅读(398) 评论(0) 推荐(0)
摘要:Java反射能够得到Class中Private的构造函数,方法和成员。对于以下三类组件中的任何一类来说 -- 构造函数、字段和方法 -- java.lang.Class 提供四种独立的反射调用,以不同的方式来获得信息。调用都遵循一种标准格式。以下是用于查找构造函数的一组反射调用:Constructor getConstructor(Class[] params) -- 获得使用特殊的参数类型的公共构造函数,Constructor[] getConstructors() -- 获得类的所有公共构造函数Constructor getDeclaredConstructor(Class[] param 阅读全文
posted @ 2013-01-08 10:41 三句对白 阅读(287) 评论(0) 推荐(0)
摘要:今天碰到一个方法的参数是数组的情况。想了几个办法都没用:1.参数使用EasyMock.anyObject(). 这种方法肯定不行,没有那个Obj是数组类型的。2.在测试方法中构造一个数组。 如果构造的这个数组能够传递进入被测试方法中,则可行。但是我这个被测试的方法是内部初始化的一个数组,两个数组不是同一个地址,所以不能传入方法中。最后查了下相关的资料,发现EasyMock中有专门针对数组的处理:EasyMock.aryEq(T[] values)EasyMock.aryEq(T[] values)这个方法参数可以是int[],short[],char[]等数据类型,也可以是对象数组,包括S.. 阅读全文
posted @ 2013-01-06 14:10 三句对白 阅读(799) 评论(0) 推荐(0)
摘要:Leader要求在做Junit测试的时候,Mock掉各个方法之间的依赖。这两天学习了下PowerMock的使用。 PowerMock是EasyMock的一个扩展,加入了static,final,private,以及constructor的Mock功能。但是PowerMock并没有继承EasyMock的一些测试功能,所以不能取代EasyMock,而单独使用。在很多时候必须要PowerMock和EasyMock相互结合,以及加上WhiteBox,才能更好实现测试。 1. 必不可少的一步:添加测试运行器@RunWith(PowerMockRunner.class),如果没有添加这个运行器,则... 阅读全文
posted @ 2012-12-24 15:15 三句对白 阅读(6223) 评论(0) 推荐(0)