去除[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!

在使用maven和jetty的时候,如果你不想看到上面的警告,那么你只需要修改pom如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

sun.misc.BASE64Encoder找不到jar包的解决方法

解决方案1(推荐):
只需要在project build path中先移除JRE System Library,再添加库JRE System Library,重新编译后就一切正常了。
解决方案2:
Windows -> Preferences -> Java -> Compiler -> Errors/Warnings ->
Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning

[转载]115个Java面试题和答案——终极列表(上)

本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。

开始!

目录

面向对象编程(OOP)

常见的Java问题

Java线程

Java集合类

垃圾收集器

继续阅读

[转载]JavaBeans vs Spring beans vs POJOs

JavaBean, Spring bean 和 POJO 是三个被广泛使用的术语,本文分别讨论了它们的含义,以及分析三者的区别。

JavaBeans

根本而言,JavaBean只是遵循了特定编码规范的Java类而已。例如:

  1. 包含默认(无参数)的构造函数
  2. 允许通过访问器(getter和setter方法)来访问类的成员属性
  3. 实现java.io.Serializable接口

准确来说,JavaBean是遵循了Sun制定的JavaBean 标准的 类,该标准最早于1996年发布。JavaBean被定义为Java的“软件组件模型”。最初的想法是将JavaBean打造成能够被构建工具可视化地操 作的可重用的组件,由此,软件供应商可以创建和出售能够让用户灵活地组合进应用程序的JavaBean。JavaBean的三个最重要的特性是:

  1. 它暴露的一系列属性(称之为“特征“attribute)
  2. 它允许其他组件调用的一系列方法
  3. 它触发的一系列事件(用来通知它注册了的监听器)

POJO

POJO是 Plain Old Java Object(简单的Java对象)的缩写。它最初是由Martin Fowler等人创造的,作为一种花式的对普通Java对象的称呼。这类对象不需要通过框架来使用,也不需要在特定应用服务器的环境下才能运行。这个词主要用来区分简单、轻量的Java对象和“重量级“的类,例如EJB。《POJOs in Action》一书介绍了使用这类轻量的对象来进行开发的方法,许多框架-例如Spring-也推广了POJO的使用。

Spring beans

Spring bean 表示受到Spring管理的对象。具体说来,它是被Spring框架容器初始化、配置和管理的对象。Spring bean是在Spring的配置文件中定义(现在也可以通过annotation注解来定义),在Spring容器中初始化,然后注入到应用程序中的。

因为在最早的版本中,Spring是被设计用来管理JavaBean的,所以Spring管理的对象会被称为“bean”。当然,现在Spring 已经可以管理任何对象,即使它不具备默认构造器和设置方法(getter和setter)这些JavaBean的特性。然而,”Spring bean“这个术语仍然被保存了下来。

Spring bean可以是POJO吗?当然可以,并且它通常就是。(即使它并不一定得是POJO,例如Spring可以用来处理重量级Java对象,比如EJB对象)。

总结

虽然距离JavaBean规范的发表已经过了十多年,这个规范仍然有重要的作用,并且影响着现代框架–如Spring–的开发。然而,虽然我们仍然 可以称这些包含默认构造器和私有字段的访问方法的类为JavaBean,它的“可以被构建工具可视化地管理的可重用组件”的概念已经不再流行了。

而另一方面,POJO已经无处不在了,人们对EJB的复杂性的积怨使得“轻量的”Java编程获得了广泛采用。

Spring bean是由Spring框架创建和管理的对象。

这三个概念并不是互斥的。一个Java对象可以同时是JavaBean,POJO和Spring bean。

原文链接: Shaunabram 翻译: ImportNew.com Jeffery
译文链接: http://www.importnew.com/14019.html

java多态

1.编译时多态 重载实现 根据参数不同编译时产生新的函数
2.运行时多态 重写 子类重写了父类的方法,new的对象调用的方法直接调用子类的方法
多态的实现主要是重写和重载
一、使用父类类型的引用指向子类的对象; 使用父类类型的引用指向子类的对象;
二、该引用只能调用父类中定义的方法和变量; 该引用只能调用父类中定义的方法和变量;
三、 如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用) 的时候,将会调用子类中的这个方法;