一些概念性的例题(来源网络)
Posted 之墨_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一些概念性的例题(来源网络)相关的知识,希望对你有一定的参考价值。
概念性例题
来源网络
1. 简述:栈内存和堆内存各自存放什么数据及特点。
栈内存是用于存放局部变量的
特点:
1.栈内存具有先进后出的特点
2.栈中的局部变量不会默认初始化
堆内存是用于存储对象数据的
特点:
1.椎内存不会随方法的结束被释放,所以堆中的对象可以跨方法使用。
2.堆内存的释放由垃圾回收器来自动释放
3.堆中分配的内存默认会初始化
2. 面向对象的编程语言具有封装,继承,多态的特性,简述:其中的继承及继承带来的好处是什么。
继承的好处:
1.通过继承,可以提高代码的复用。 一般情况下,我们会分析一组类的特征与行为,抽取出共性的部分,定义到父类中,子类继承自父类再定义特有的属性与行为,以达到代码的复用。
2.通过继承可以实现多态的特性。 如果父类的方法不能满足子类的需求时,子类还可以通过方法重写来定义自己的方法实现。特别的,当用父类类型的引用变量调用子类对象重写的方法时,实际执行的是子类重写后的方法,即多态。
3. 简述:有继承结构时,构造方法的调用顺序。
1.创建子类对象时,会调用子类对象的构造方法。
2.调用子类构造方法时,如果父类存在,会先调用父类的构造方法。
3.依此类推,直到父类不存在为止。
4.父类构造方法执行后,再执行子类的构造方法。
4. 简述基于TCP的Socket编程的主要步骤。 提示:仅说明服务器端的编程步骤。
1.创建
ServerSocket
对象ss
,并绑定的监听端口。
2.调用ss.accept()
方法,获得客户端Socket
对象s
.
3.由s
得到输入输出流对象
4.通过输入输出流对象与客户端进行数据交互。
5.关闭s
及ss
,释放资源
5. 简述基于UDP的Socket编程的主要步骤
服务器端(server)
- 构造
DatagramSocket
实例- 创建数据包
DatagramPacket
,存取发送和接收的数据、IP和端口- 通过
DatagramSocket
实例的receive
方法接收客户端数据- 通过
DatagramSocket
的send
方法向客户端发出反馈信息- 关闭
DatagramSocket
客户端(client)
- 构造
DatagramSocket
实例- 创建数据包
DatagramPacket
,存取发送和接收的数据、IP和端口- 通过
DatagramSocket
的send
方法向服务器端发出反馈信息- 通过
DatagramSocket
实例的receive
方法接收客户端数据- 关闭
DatagramSocket
6.File类的方法mkdir与mkdirs有什么区别?
mkdir:只能在已经存的目录中创建文件夹
mkdirs:可以在不存的目录中创建文件夹
7.一个构造方法调用另一个构造方法怎么调用 this(),这样的调用方式必须位于第一句吗?
1. this()调用本类的无参构造方法
2. this(实参列表)调用本类的带参构造方法
3. super()调用直接父类的无参构造方法
4. super(实参列表)调用直接父类的带参构造方法
5. this()调用必须位于构造方法的第一句
8.死锁是怎么造成的?用文字表达?
1. 过多的线程同步会引起死锁。
2. 如两个线程都在等待对方释放锁才能继续执行,有时会出现僵持局面
3. 两个线程都持有对方需要的锁,
4. 而两个线程都需要对方释放锁了才能继续运行。
编程
(有奇怪的东西混了进来)
给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int money , sum = 0 , bottle , change , price;
money = input.nextInt();
price = input.nextInt();
while (money >= price){
bottle = money / price;//瓶数等于钱除以价格取整
change = money % price;//剩下的钱等于钱对价格求余
money = change + bottle;//总钱等于每个瓶子得到的一元钱加上剩下的钱
sum += bottle ;//瓶子总数等于每次买的瓶子数相加
}
System.out.println(sum);
}
}
以上是关于一些概念性的例题(来源网络)的主要内容,如果未能解决你的问题,请参考以下文章