NCAE(全国工业和信息化应用人才考试 )-- 服务外包 JAVA 软件开发复习整理(二)

  • 自然排序的一些细节:空格排在字符前、大写字符排在小写字符前
  • TreeSet集合放入的对象要求是能进行比较排序的;
  • 如下代码,在TreeSet放入的元素有String和Integer两种类型,在编译时不会有问题,但会有运行异常:
package com.neu.test;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Test {

    public static void main(String[] args) {
    	Set set =new  TreeSet();   
    	set.add("2");   
    	set.add(3);   
    	set.add("1");   
    	Iterator it=set.iterator();   
    	System.out.println(set.size());   
    	while(it.hasNext()){    
    		System.out.println(it.next());  
    	} 
    }
 }

在这里插入图片描述

  • Object类的hashCode()方法是native修饰的;
  • Map中键值是不允许重复的是否重复的一个条件是判断hashCode;
  • 不重写hashCod()方法会导致相同对象含有不同的hashCode;
  • add()方法是接口CokkectIon的方法。所以实现了这个接口的类都有这个方法。
  • birnarySearch()方法需要注意:
1.必须进行排序,即Array.sort,否则返回的值是不确定的,不会出现编译错误;
2.如果定义了排序的方法,并在Arrays.sort方法中使用则在binrySearch()中也要使用这个参数没否则会返回-1;
  • 关键字this表示当前正执行的对象;在内部类中this表示内部类,二外部类的表示则是MyOuter.this;
  • 如下修饰符能够应用于内部类:
final
abstract
public
private
protected
static
strictfp
  • 在一个静态方法内声明的局部类只能访问该封装类的静态成员;如果位于一个没有this的静态方法内,则该方法内的内部类的限制与静态方法相同;换句话说,根本不能访问实例变量
  • 在看到匿名内部类的时候,要格外注意结束时除了有波形括号外还有一个分号;
  • 如果试图在匿名内部类引用上调用超类没有定义的方法,编译器会发出警告;静态内部类不能访问实例变量和类的非静态方法;
  • 只要线程已经启动过,他就永远不能再次启动,当线程的目标run()方法结束时,该线程就完成了;
  • java规范中根本没有提到线程将按照他们启动的顺序(即每个线程上调用start()的顺序)开始运行;
  • 能时线程离开运行中状态的三种方法:
Sleep():保证使当前线程至少在指定的睡眠期间停止执行(尽管它可能在指定的时间之前被中断);
Yield():不能保证做太多事情,尽管通常它会使当前的运行中线程移回可运行状态,并使具有相同优先级的线程能够有机会运行;
Join():保证当前线程停止执行,直到它所加入的线程完成为止。然而,如果它加入的线程不是活的,则当前线程不需要停止;
  • import语句每次只能导入一个包;如果将jar文件放入ext子目录(.../jar/lib/ext目录),则java和javac可以找到他们并使用他们所包含的类文件
  • 在使用java命令编写代码时:-classpath选项必须出现在类名前;-ea参数表示启用断言;泛型是在java5中才引用的。-source参数后面可以跟版本;
  • 使用-classpath选项查找类的时候,参数从左向右运行;Unix下使用":"分隔目录参数;
  • -D选项不是一个编译器标志,不能使用javac命令;而且与-D相关的名称=值对必须紧跟在它的后面,中间不能有空格;
  • 使用静态导入的正确格式:import staic java.lang.Integer.*或者import static java.lang.Integer.MAX_VALUE;
  • 以下是与jar文件结构有关的几条规则:
jar命令会自动创建META-INF目录;
jar命令会自动创建MANIFEST.MF文件;
jar命令不会将你的任何文件放入META-INF/目录中;
从以上规则可以看出,在jar文件中准确的体现了树结构;
java和javac命令会像普通的目录树一样使用jar文件;
  • java和javac都使用相同的基本查找算法:
1.它们都具有同样的查找位置(目录)清单,用于查找类;
2.它们都以同样的顺序查找便利这个目录清单;
3.一旦发现所查找的类,就不会再查找这个类了。即(目录中包含同个同名文件,则会使用找的第一个);
4.查找的首选位置是包含标准J2SE类的目录;
5.查找的次要位置是由类路径定义的目录
6.类路径应该被看做类查找路径,他们是可以在其中找的类的目录清单;
7.有两个地方可以声明类路径:
	类路径可以声明为操作系统的一个环境变量;
	类路径可以作为声明java和javac的命令选项;
  • 使用多线程时,如果使用的对象属性不是static时,可能会出现运行时异常。静态属性不会出现这种状况;
  • Thred的join()方法必须放置在tyr/catch块中。它的作用是:会使线程暂停,并进入到另一个线程的末尾
  • StringBuffer天生就是同步的,但多次在一个方中调用append()方法时,多线程不能阻止他混合消息;
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DYS_房东的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值