https://jingyan.baidu.com/article/e8cdb32b59218c37052bad91.html 配置java环境
线程对象都有一个setPriority( )方法,用来设置线程的优先级,优先级分为1 ~ 10一共十个不同的级别,数字越大说明优先级越高,优先级高只能提高优先运行的概率,并不一定保证优先运行,线程调度由操作系统决定。如果一个线程主动的调用了yield( )方法,则会立即进入就绪状态,等待调度。一个线程在运行状态时,需要从键盘获得一个数据,此时线程即使有CPU的使用权也无法继续执行,就会进入阻塞状态。
一个线程进入阻塞状态的条件:等待数据、主动调用了sleep( )方法、主动调用了join( )方法;sleep( )有两个重载的方法,可以设置线程的睡眠时间。睡眠中的线程会进入阻塞状态,可以在设定的时间到达后自动唤醒,也可以由其它线程对其使用interrupt( )方法唤醒。阻塞的线程不会被操作系统调度,此时其它线程可以进入运行状态,退出阻塞状态的线程会进入就绪状态等待操作系统调度
正数:原码=补码 负数:原码取反加1得补码 补码去反加1得原码 A - B = A + B的补码
Java虚拟机的作用:屏蔽不同平台之间的差异(跨平台)
javadoc工具可以抽取java文件中的文档注释,可以在不暴露源码的情况下让别人看到注释中的文本。javadoc -d doc FIrst.java
Scanner scanner = new Scanner( System.in );
int a = scanner.nextInt( )
成员内部类里可以直接访问外部类的方法和属性,反之不可;定义成员内部类后,必须使用外部类对象来创建内部类对象,即 内部类 对象名 = 外部类对象.new 内部类();如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字 如上述代码中:外部类名.this.外部类成员变量。 注:成员内部类不能含有static的变量和方法,因为成员内部类需要先创建了外部类,才能创建它自己的。 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问。如果外部类的静态成员与内部类的成员名称相同,可通过类名.静态成员访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过成员名直接调用外部类的静态成员;创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类(); 局部内部类也像别的类一样进行编译,但只是作用域不同而已,只在该方法或条件的作用域内才能使用,退出这些作用域后无法引用的。 匿名内部类只能使用一次,它通常用来简化代码编写。但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。当所在的方法的形参需要在内部类里面使用时,该形参必须为final。 匿名例子: package com.job; import java.lang.*; public class yy{ private String name="zhang"; static String ID1 = "510xxx199X0724XXXX"; inn create(final String name) { return new inn() { private String nameaa=name; public String getname() { return nameaa; } }; } interface inn{ String getname(); } public static void main(String[]args){ yy y1=new yy(); inn in1=y1.create("lili"); System.out.println(in1.getname()); } } 1访问父类的属性 super.属性名 2访问父类的方法 super.bark() 3子类构造方法需要调用父类的构造方法时,在子类的构造方法体里最前面的位置:super() 注:不能使用一个子类的引用去指向父类的对象。 因此,向上转型(父类 父类引用a=new 子类),a无法调用子类独有的方法,如果子类重写了父类方法,则调用子类重写的方法 Arrays.fill(array, 8); // 将该数组所有元素赋值为8