![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java面试
lingchen336
suster
展开
-
ArrayList对象数组常用的方法
包括ArrayList数组的 增删查 集合三种的遍历方式package com.test.ObjectArray;import java.util.ArrayList;import java.util.Iterator;/*ArrayList数组:长度可以改变;对ArrayList<E>来说,<E>代表泛型;集合中所有元素都是统一类型;重写了toString()方法;常用方法:boolean add(E e):添加元素,尾插,一定会执行成功,返回值可.原创 2020-06-26 23:54:30 · 915 阅读 · 0 评论 -
字符串转换问题
1.一道招银2020提前批笔试算法题,大意为:从键盘输入一组字符串,将其中的数字转化为大写字母,其余不变。要求当不写其它算法时,该过程可逆;要求:先写出算法实现思想5分,再编写代码5分import java.util.Scanner;/** * 从键盘输入一组字符串,将其中的数字转化为大写字母,其余不变。要求当不写其它算法时,该过程可逆; */public class Char_TransTo { public static void main(String[] arg原创 2020-06-25 23:18:34 · 328 阅读 · 1 评论 -
线性探测哈希表
5.给定一个关键字序列(13,4,18,20,32,15,9,24),哈希表长度为 11,哈希函数为 H(Key)=Key%11,采用线性探测法解决冲突,画出构造的哈希表(8 分),并求出等概率查找时查找成功 的 ASL(成功) (1 分),与查找不成功的 ASL(不成功) (1 分)线性探测: H(Key)=Key%11 余数为key所在的位置,如果改位置有值,那么填入下一个位置成功的asl:每一个key填入哈希表所需要查询的次数的次数之和的平均失败的asl:每一个key与下一个空位的距离原创 2020-06-22 23:02:07 · 2203 阅读 · 1 评论 -
网站访问全过程涉及的网络协议详解
从其浏览器中输入http://www.baidu.com,直到baidu的网站首页显示在其浏览器中,请你分析在此过程中,按照TCP/IP 参考模型,从应用层到网络接口层都用到了哪些协议,每个协议所起的作用是什么?应用层:NAT网络地址转换;DNS域名解析;HTTP超文本传输协议运输层:TCP传输控制协议,TCP连接,可靠传输网络层:IP协议,数据报服务,路由选择;ARP地址解析;ICMP网际控制报文协议,查询与差错报告NAT网络地址转换:如果 DHCP 服务器为客户端提供了一..原创 2020-06-21 20:56:48 · 16544 阅读 · 2 评论 -
java面试-JAVA IO/NIO
8.JAVA IO/NIO8.1IO模型8.1.1阻塞 IO 模型最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出 CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才解除 block 状态。典型的阻塞 IO 模型的例子为:data = socket.read();如果数据没有就绪,就会一直阻塞在 r...原创 2020-06-18 18:21:44 · 200 阅读 · 0 评论 -
java面试-JAVA 四种引用类型
5. JAVA 四种引用类型5.1.强引用在Java中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远都不会被用到 JVM 也不会回收。因此强引用是造成 Java 内存泄漏的主要原因之一。5.2.软引用软引用需要用SoftReference类来实现,对于只有软引用的对象来说,当系统内存足够时它不会被回收,当系统内存空间不足时它会被...原创 2020-06-18 18:15:10 · 257 阅读 · 0 评论 -
java面试-JVM运行时内存
Java堆从GC的角度还可以细分为: 新生代( Eden 区 、 From Survivor 区 和To Survivor 区 )和老年代。1.新生代 是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发 MinorGC进行垃圾回收。新生代又分为 Eden区、ServivorFrom、ServivorTo三个区。1.1Eden区 Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老 年代)。当Eden区...原创 2020-06-17 23:50:09 · 176 阅读 · 0 评论 -
java面试-queue
以下翻译来自java8的官方文档:1、LinkedBlockingQueue:基于链接节点的可选限定的blocking queue 。 这个队列排列元素FIFO(先进先出)。 队列的头部是队列中最长的元素。 队列的尾部是队列中最短时间的元素。 新元素插入队列的尾部,队列检索操作获取队列头部的元素。 链接队列通常具有比基于阵列的队列更高的吞吐量,但在大多数并发应用程序中的可预测性能较低。blocking queue说明:不接受null元素;可能是容量有限的;实现被设计为主要用于生产者 - 消费者队列;不支原创 2020-06-17 00:18:32 · 228 阅读 · 0 评论 -
Java面试--JVM内存区域详解
2.JVM内存区域JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区 域【JAVA 堆、方法区】、直接内存。线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束 而 创建/销毁(在 Hotspot VM 内, 每个线程都与操作系统的本地线程直接映射, 因此这部分内存区域的存/否跟随本地线程的 生/死对应)。线程共享区域随虚拟机的启动/关闭而创建/销毁。 直接内存并不是JVM运行时数据区的一部分, 但也会被频繁的使用: 在JDK 1.4引入的NIO提 供了原创 2020-06-17 14:55:48 · 169 阅读 · 0 评论 -
进程和线程
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而原创 2020-06-17 23:28:33 · 112 阅读 · 0 评论