智乐兔

企业应用

  • Java常见疑难问题-类11

    Java常见疑难问题-类11

    39. 重写、隐藏、重载、遮蔽、遮掩重写:一个实例方法可以重写在其超类中可访问到的具有相同签名的所有实例方法,从而能动态分派,换句话说,VM将基于实例的运行期类型来选择要调用的重写方法。重写是面向对象编程技术的基础。public class P{public void f(){}}class S extends P{public void f(){}//重写} 重写时异常要求:? 如果父类方法抛出的是捕获型异常,则子类也只能抛出同类的捕获型异常或其子类,或不抛出。? 父类抛出捕获型异常,子类却抛出运行时异常,这是可以,因为抛出运行时就相当于没有抛出任何异常。? 如果父类抛出的是非捕获型异常,则 ...

    查看全文

  • Java常见疑难问题-类12

    Java常见疑难问题-类12

    40. 构造器中静态常量的引用问题class T {// 先于静态常量t初始化,固可以在构造器中正常使用private static final int y = getY();/** 严格按照静态常量声明的先后顺来初始化:即t初始* 化完后,才初始化后面的静态常量j,所以构造器中* 引用后面的静态常量j时,会是0,即内存清零时的值*/public static final T t = new T();// 后于静态常量t初始化,不能在构造器中正常使用private static final int j = getJ();private final int i; static int getY( ...

    查看全文

  • Java常见疑难问题-类13

    Java常见疑难问题-类13

    41. instanceof与转型System.out.println(null instanceof String);//falseSystem.out.println(new Object() instanceof String);//false//编译能通过System.out.println((Object) new Date() instanceof String);//false//!!程序不具有实际意义,但编译时不能通过//!!System.out.println(new Date() instanceof String);//!!运行时抛ClassCastException,这 ...

    查看全文

  • Java常见疑难问题-类14

    Java常见疑难问题-类14

    44. 请使用引用类型调用静态方法public class Null {public static void greet() {System.out.println(“Hello world!”);} public static void main(String[] args) {((Null) null).greet();}}上面程序运行时不会打印NullPointerException异常,而是输出”Hello world!”,关键原因是:调用静态方法时将忽略前面的调用对象或表达示,只与对象或表达式计算结果的类型有关。 在调用静态方法时,一定 ...

    查看全文

  • Java常见疑难问题-应用15

    Java常见疑难问题-应用15

    47. 不可变的引用类型BigInteger total = BigInteger.ZERO;total.add(new BigInteger(“1”));total.add(new BigInteger(“10”));System.out.println(total);//0上面程序的结果为11吗?答案是0。 BigInteger实例是不可变的。String、BigDecimal以及包装类型:Integer、Long、Short、Byte、Character、Boolean、Float和Double也是如此。对这些类型的操作将返回新的实例。 不 ...

    查看全文

  • java 疑难问题解析-数值表达式1

    java 疑难问题解析-数值表达式1

    1. 奇偶判断 不要使用 i % 2 == 1 来判断是否是奇数,因为i为负奇数时不成立,请使用 i % 2 != 0 来判 断是否是奇数,或使用高效式 (i & 1) != 0来判断。 2. 小数精确计算 System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是 0.9,而是一连串的小数。问题在于1.1这个数字不能被精确表示 为一个double,因此它被表示为最接近它的double值,该程序从2中减去的就是这个值, 但这个计算的结果并不是最接近0.9的double值。 一般地说,问题在于并不是所有的小数都可以用二 ...

    查看全文

  • javabean持久化的原理与应用举例

    javabean持久化的原理与应用举例

    javabean持久化是指以流的形式,用javaBean的属性来保存bean,并在以后在本地读取或从其他JVM中读取他保存的属性信息; 这和对象序列化类似,但区别是:JavaBean持久化适合于长期存储,而对象序列化只是短期的存储,会随着类程序版本的升级而过时; 对象序列化后,他的实例域都写入一个流中,如果类的实现更新了,并且他的实例域也更新了,这样就不能通过反射机制直接读取包含了过时版本的序列化对象数据,此时技术上可以实现新旧数据的同步但非常麻烦,只有在无路可走的时候才使用此方法,所以说,对象序列化不适合长期存储,典型的实例: javax下的swing组件在其文档中都有类似的警告:‘ ...

    查看全文

  • 初识web架构mvc之struts框架

    初识web架构mvc之struts框架

    Struts框架: Jsp—>Servlet—>DAO—>Servlet—>Jsp;    |               |重复 重复// Struts框架解决:重复和不便维护的地方:DAO的重复部分!1.Jsp中显示传递的数据时使用 显示,并且要穿插HTML代码;2.Servlet中接收参数和跳转路径的设置,会带来后期维护的问题;以上是Struts框架要解决的问题;Stru ...

    查看全文

  • jsp编程实例-附件下载功能的实现

    jsp编程实例-附件下载功能的实现

    浏览器响应用户的下载请求: public downloadfile(String filepath,String filename,String fileTrueName,HttpServletResponse response,java.io.Writer aOut) { String fix = “”; BufferedInputStream bis=null; BufferedOutputStream bos=null; try { int findex=fileTrueName.indexOf(“.”); ...

    查看全文

  • jsp标签库编程的作用、javaBean与Servlet区别

    jsp标签库编程的作用、javaBean与Servlet区别

    标准的MVC设计模式中,希望尽可能少的使用Scriptlet,在jsp中使用了标签库, 但库的开发比较困难麻烦;标签库的功能类似于javaBean;标签库程序组成:1。标签具体实现文件:*.java;2. 标签的描述文件: *.tld;3. 必要的时候要在web.xml中配置;4。在JSP中通过标签进行自定义标签库的调用;必须继承:javax.servlet.jsp.tagext.TagSupport;覆写以下方法:doStartTag方法: 表示标签的开始;doStartEnd方法: 表示标签的结束;   javaBean 与 javaServlet的区别: 联系:1。都是jav ...

    查看全文

  • java web编程-数据源的概念与相关配置

    java web编程-数据源的概念与相关配置

    数据源的概念: jdbc:1。打开连接;2。数据库操作;3。关闭连接;只有2是不同的,;1。通过Connection pool管理数据库连接;2。通过DataSource管理Connection pool;3。DataSource按jndi绑定;在server.xml或context.xml配置jdbc数据源工厂: … … 语法:driverClassName – jdbc驱动的完整路径名;. maxActive – 连接池同一时间可以开辟的最大连接实例数(Connection). maxIdle – 连接池同一时 ...

    查看全文

  • java web编程-监听器的概念与用法

    java web编程-监听器的概念与用法

    监听器: 对整个WEB环境的监听;主要有三类:1。ServletContext, servlet上下文;2。Session,session监听;3。Request监听;1。对ServletContext监听:在web端实现监听–实现一系列的监听接口;ServletContextListenter,对整个上下文进行监听; public void contextInitialized(ServletContextEvent sce); 上下文初始化; public void contextDestroy(ServletContextEvent sce); 上下文销毁;Serv ...

    查看全文