外贸网站免费模板,一个专门做酒店招聘的网站,海纳企业网站管理系统,wordpress被挂木马1、final关键字和static关键字的区别
/*** final修饰类#xff1a;* 使用final修饰类的目的简单明确#xff0c;表明这个类不能被继承。* 当程序中有永远不会被继承的类时#xff0c;可以使用final关键字修饰。* 被final修饰的类所有成员方法都将被隐式修饰为final方法。**…1、final关键字和static关键字的区别
/*** final修饰类* 使用final修饰类的目的简单明确表明这个类不能被继承。* 当程序中有永远不会被继承的类时可以使用final关键字修饰。* 被final修饰的类所有成员方法都将被隐式修饰为final方法。** final修饰方法* 首要作用是锁定方法不让任何继承类对其进行修改。* 另外一个作用是在编译器对方法进行内联提升效率。** final修饰变量* 当final修饰的是一个基本数据类型数据时这个数据的值在初始化后将不能被改变。变为常量* 当final修饰的是一个引用类型数据时也就是修饰一个对象时引用在初始化后将永远指向一个内存地址不可修改* 但是该内存地址中保存的对象信息是可以进行修改的。*/
/*** static主要有4中使用情况成员变量、成员方法、代码块和内部类* static关键字的基本作用就是方便在没有创建对象的情况下来进行调用变量/方法。** 常用static修饰成员变量为静态变量* -静态变量属于类在内存中只有一个复制只要静态变量所在的类被加载* 这个静态变量就会被分配空间因此就可以被使用了只有用“类.静态变量”的方式来引用。* -实例变量属于对象它在内存中存在多个复制只有对象被创建后* 实例变量才会被分配内存空间才能被使用只有用“对象.实例变量”的方式来引用。** 常用static修饰成员方法为静态方法* static方法是类的方法不需要创建对象就可以被调用而非static方法是对象的方法* 只有对象被创建出来后才可以被使用static方法中不能使用this和super关键字* 不能直接调用非static方法和非static变量只能直接访问所属类的静态成员变量和静态成员方法* 因为当static方法被调用时这个类的对象可能还没被创建即使已经被创建了也无法确定调用哪个对象的方法。*/
/*** Java中成员变量的定义/声明、初始化、实例化关键词解释* -定义/声明是成员变量定义* private String name;* -初始化是成员变量显式直接赋值/显式构造函数赋值/隐式赋默认值* private String name 小徐;* public MyClass(String name) {this.name name;}* public String name; // 默认为null* -实例化是相较于类的对象被创建时分配内存空间调用构造函数[成员变量赋值]* new MyClass(小杨);*/
2、abstract抽象类和interface接口的异同点
/*** 抽象类和接口的差异* 1、抽象类通过abstract关键字声明接口通过interface创建* 2、抽象类通过extend关键字继承接口通过implements关键字实现* 3、Java中支持单继承抽象类但是可以多实现接口* 4、抽象类可以实现具体方法接口不行* 5、子类继承抽象父类后可以继续抽象抛出方法声明接口不行* 6、抽象类可以有语句块(构造语句块)/构造函数(虽不能实例化抽象类但是构造语句块/函数用于初始化成员变量用)接口不行* 7、抽象类实现的静态方法可以被子类继承(可以通过子类.Xxx()访问)接口实现的静态方法不可以被子类继承(不可以通过子类.Xxx()访问)* -猜想在JDK1.8新增default、static方法声明时为了考虑向后/下兼容让以前的代码方法不冲突仅抽象类的静态方法可继承** 抽象类和接口的相同* 1、均可以实现共同方法的抽离不同具体类有不同实现(体现多态性)* 2、均不能实例化不能直接创建对象* 3、继承或实现的类均要实现抽象或声明的方法* 4、均可以实现静态方法*/
3、wait方法和sleep方法的区别 多线程编程中wait方法 和 sleep方法的同异
1. wait方法和sleep方法都可以让线程暂停执行1. wait/notify/notifyAll方法是Object类的方法 sleep方法是Thread类的静态方法
2. wait方法是用于多个线程之间的协作和通信 sleep方法是用于线程的休眠
3. wait方法必须在synchronized同步快中调用(即方法或代码块中使用) sleep方法没有使用限制
4. wait方法暂停线程期间会释放对象的锁 sleep方法暂停线程期间不会释放对象的锁(即一直持有该对象的锁)
5. wait方法会使得当前线程进入一直等待的状态直到其它线程调用notify/notifyAll方法唤醒 sleep方法会使得当前线程暂停执行一段时间自动唤醒
4、tcp和udp通讯协议的区别 TCP和UDP通讯协议的区别
1. TCP协议是可靠的 UDP协议是不可靠的
2. TCP协议稳定性高(基于丢包重传) UDP协议稳定性低
3. TCP协议传输速度慢(基于传输包的确认机制) UDP协议传输速度快
4. TCP协议适用于对网络通讯质量要求较高的场景如传输文件/浏览网页/发送邮件... UDP协议适用于实时性要求较高但是对少量丢包没有要求的场景如语音通话/视频通话/直播... TCP通讯协议交互的三次握手和四次挥手
1. 客户端-SYN-服务端
2. 客户端-SYNACK-服务端
3. 客户端-ACK-服务端1. 客户端-FIN-服务端
2. 客户端-ACK-服务端
3. 客户端-FIN-服务端
4. 客户端-ACK-服务端