一些概念性的例题(来源网络)

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.关闭sss,释放资源

5. 简述基于UDP的Socket编程的主要步骤

服务器端(server)

  1. 构造DatagramSocket实例
  2. 创建数据包DatagramPacket,存取发送和接收的数据、IP和端口
  3. 通过DatagramSocket实例的receive方法接收客户端数据
  4. 通过DatagramSocketsend方法向客户端发出反馈信息
  5. 关闭DatagramSocket

客户端(client)

  1. 构造DatagramSocket实例
  2. 创建数据包DatagramPacket,存取发送和接收的数据、IP和端口
  3. 通过DatagramSocketsend方法向服务器端发出反馈信息
  4. 通过DatagramSocket实例的receive方法接收客户端数据
  5. 关闭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);
    }
}

以上是关于一些概念性的例题(来源网络)的主要内容,如果未能解决你的问题,请参考以下文章

博弈论(基础概念+例题)

网络流——最大流问题例题

伸展树基本概念基本题目

Jekyll 偏移代码片段高亮的初始行

字典树入门(trie)(概念+例题)

jzyzojp1320 patrol 巡逻(网络流最小割例题)