java程序编译后会生成字节码文件,就是.class文件
final并不能修饰抽象类
final修饰的类可以被重载但不能被重写
线程的启动方式只能通过start这种方式启动才能真正的实现多线程的效果,如果是手动调用run方法和普通方法调用没有区别
线程安全的map:HashTable,SynchronizedMap,ConcurrentHashMap
volatile能保证数据的可见性,但不能完全保证数据的原子性; synchronized即保证了数据的可见性也保证了原子性
如果希望监听TCP端口9000,服务器端应该怎样创建socket?
- new ServerSocket(9000);
float f = 45.0; 小数如果不加 f 后缀,默认是double类型。double转成float向下转换,意味着精度丢失,所以要进行强制类型转换。
Double d = 100; int类型不能转型为Double,最多通过自动装箱变为Integer但是Integer与Double没有继承关系,也没法进行转型
instance是java的二元运算符,用来判断他左边的对象是否为右面类(接口,抽象类,父类)的实例
class A{ static { System.out.println("父类静态代码块"); } public A(){ System.out.println("父类构造方法"); } { System.out.println("父类初始化块"); } } public class B extends A{ static{ System.out.println("子类静态代码块"); } public B(){ System.out.println("子类构造方法"); } { System.out.println("子类初始化块"); } public static void main(String[] args){ new B(); } } 父类静态代码块-->子类静态代码块-->父类普通代码块-->父类构造方法-->子类代码块-->子类构造方法;
标签:Java,--,子类,System,笔记,println,父类,out From: https://www.cnblogs.com/sabertobih/p/18045613