Java笔试易错点

  • 启动线程方法start();线程stop方法已经被弃用;守护线程在非守护线程结束后,会自动结束;等待其他线程通知方法是wait()
  • switch结构中没有break的话,匹配完不会跳出,会继续匹配下一个case直到整个结构结束
  • Java.awt.*只能导入awt这个包中的所有类,awt中的包中的类不会导入
  • public>protected>默认(包访问权限)>private,因为protected除了可以被同一包访问,还可以被包外的子类所访问
  • 在Java中继承是通过extends关键字来描述的,而且只允许继承自一个直接父类。
  • 向上转型(子类对象被父类引用) 直接指向;向下转型(父类对象被子类引用),需要强转。
  • 公式-n=n+1可推出n=-n-1,所以~10=-11再加5结果为-6
  • getAttribute()接受从request域中传过来的参数,getParameter()接受从页面传过来的参数
  • 只要记住,不论怎样,必定先执行静态代码,子由父生,所以父类必先执行
  • 一个类若有抽象方法,其本身也必须声明为抽象类;接口中的方法默认就是public abstract
  • abstract不能与final并列修饰同一个类
  • 接口中的变量声明为public static final默认形式
  • java7,字符串常量池从方法区移到堆中。java8 整个常量池从方法区中移除。方法区使用元空间(MetaSpace)实现
  • jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。常量池属于 PermGen(方法区)
  • 事实上只有在我们没有显示声明任何构造方法时java才会为我们提供一个默认的无参构造函数。
  • super()必须是子类的第一条语句
  • java是解释型语言,在运行时才进行翻译指令 Java不同于一般的编译语言和直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,
    从而实现了“一次编写,到处运行”的跨平台特性, 所以说java是一种解释型的语言
  • 三个基本元素:封装,继承,多态。
  • 五个基本原则:单一职责原则,开放封闭原则,里氏替换原则,依赖倒置原则,接口隔离原则
  • switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。
  • MVC概念:
    A. 模型通常代表应用程序中的数据以及用于操纵数据的业务逻辑;
    B. 视图是其对应的模型的可视化呈现,视图 将模型渲染成适合于交互的形式(通常为用户界面元素);
    C. 控制器是用户与系统之间的纽带,它接受用户输入,并指示模型和视图基于用户输入执行操作(处理数据、展示数据);
  • 类方法是指类中被static修饰的方法,无this指针。类方法是可以调用其他类的static方法的。 可以在类方法中生成实例对象再调用实例方法
  • ANSI码 对于windows系统来说的话就是指当前的系统编码