全球旧事资料 分类
fi
al定义常量:如果放到主函数外则需要publicstaticfi
al如果放到主函数内部则不需要publicstaticfi
alfloat表示的变量后面必须跟个f表示单精度小数运算符:()在前时先运算在取值,在后时先取值在运算。ifelse的分支顺序不能颠倒switch分句后面的default可以省略但不推荐省略。基本数据类型放在栈里,引用数据类型放在堆里stude
tstu
ewstude
t则stu放在栈里,stude
t放在堆里
Stri
gBuffer是线程安全的使用场景:经常对字符串进行修改操作时,并且需要线程安全时Stri
gBuilder和stri
gbuffer类似,是非安全版本缺点:不支持线程安全优点:在不要求多线程安全情况下性能高使用场景:经常对字符串进行修改操作,不需要多线程安全时使用
对象和类:如果为public则在此可以直接赋值如果为private则必须通过setter赋值public修饰的在其他包内依然可见,private修饰的是私有类,只能在自身类内部可见
面向对象的三个特征:封装(数据的抽象)、继承、多态多态:有多个子类,每个子类调用相同的方法做出不同的反应例cut方法:如果理发师则理发如果是厨师则切菜尽管一个子类从父类继承所有的方法和变量,但它不继承构造函数。下述规则适合覆盖的方法覆盖方法的返回类型必须与它所覆盖的方法相同覆盖方法不能让它所覆盖的方法访问性差
f覆盖方法不能比它所覆盖的方法抛出更多异常抽象类无法实例化,抽象类可以没有抽象方法
线程同步关于锁和同步,有一下几个要点:1)、只能同步方法,而不能同步变量和类;2)、每个对象只有一个锁;当提到同步时,应该清楚在什么上同步?也就是说,在哪个对象上同步?3)、不必同步类中所有的方法,类可以同时拥有同步和非同步方法。4)、如果两个线程要执行一个类中的sy
chro
ized方法,并且两个线程使用相同的实例来调用方法,那么一次只能有一个线程能够执行方法,另一个需要等待,直到锁被释放。也就是说:如果一个线程在对象上获得一个锁,就没有任何其他线程可以进入(该对象的)类中的任何一个同步方法。5)如果线程拥有同步和非同步方法,、则非同步方法可以被多个线程自由访问而不受锁的限制。6)、线程睡眠时,它所持的任何锁都不会释放。7)线程可以获得多个锁。、比如,在一个对象的同步方法里面调用另外一个对象的同步方法,则获取了两个对象的同步锁。8)、同步损害并发性,应该尽可能缩小同步范围。同步不但可以同步整个方法,还可以同步方法中一部分代码块。9)、在使用同步代码块时候,应该指定r
好听全球资料 返回顶部