Java学习手册:Java网络编程面试问题

Java学习手册:Java基础知识点(不断扩充更新中) 1、Java中的程序代码可以分为结构定义语句和功能执行语句。 2、Java程序中一句连续的字符串不能分开在两行书写。如果为了方便阅读,想将一个太长的字符串分在两行书写,可以先将这个字符串分为两个字符串,然后用加号(+)将这两个字符串连起来,在加号(+)处断行。 System.out.println("这是第一个"+ "Java程序"); 3、文档注释:文档注释是以/*开头,并在注释内容末尾以... 阅读详情

1、Java学习手册:Java基础知识点
2、Java学习手册:Java面向对象面试问题
3、Java学习手册:Java集合、泛型面试问题
4、Java学习手册:Java并发与多线程面试问题
5、Java学习手册:Java虚拟机面试问题
6、Java学习手册:Java IO面试问题
7、Java学习手册:Java反射机制面试问题
8、Java学习手册:Java网络编程面试问题
9、Java学习手册:Java异常面试问题
10、Java学习手册:Java设计模式面试问题
11、Java学习手册:Java数据库面试问题


一、TCP与UDP的区别

Java学习手册:TCP与UDP

注:TCP和UDP对应的各种应用层协议
在这里插入图片描述


二、Java Socket

Java学习手册:Java Socket


三、Java NIO

Java学习手册:Java NIO


四、XML

Java学习手册:XML


五、HTTP响应的结构是怎么样的?

HTTP响应由三个部分组成:

状态码(Status Code):描述了响应的状态。可以⽤来检查是否成功的完成了请求。请求失败的情况下,状态码可⽤来找出失败的原因。如果Servlet没有返回状态码,默认会返回成功的状态码HttpServletResponse.SC_OK。

HTTP头部(HTTP Header): 它们包含了更多关于响应的信息。⽐如:头部可以指定认为响应过期的过期⽇期,或者是指定⽤来给⽤⼾安全的传输实体内容的编码格式。

主体(Body):它包含了响应的内容。它可以包含HTML代码,图⽚,等等。主体是由传输在HTTP消息中紧跟在头部后⾯的数据字节组成的。


六、什么是cookie?session和cookie有什么区别?

cookie是Web服务器发送给浏览器的⼀块信息。浏览器会在本地⽂件中给每⼀个Web服务器存储cookie。以后浏览器在给特定的Web服务器发请求的时候,同时会发送所有为该服务器存储的cookie。下⾯列出了session和cookie的区别:

  • ⽆论客⼾端浏览器做怎么样的设置,session都应该能正常⼯作。客⼾端可以选择禁⽤cookie,但是,session仍然是能够⼯作的,因为客⼾端⽆法禁⽤服务端的session。
  • 在存储的数据量⽅⾯session和cookies也是不⼀样的。session能够存储任意的Java对象,cookie只能存储String类型的对象。

七、什么是HTTP隧道?

HTTP隧道是⼀种利⽤HTTP或者是HTTPS把多种⽹络协议封装起来进⾏通信的技术。因此,HTTP协议扮演了⼀个打通⽤于通信的⽹络协议的管道的包装器的⻆⾊。把其他协议的请求掩盖成HTTP的请求就是HTTP隧道。


八、sendRedirect()和forward()⽅法有什么区别?

sendRedirect()⽅法会创建⼀个新的请求,⽽forward()⽅法只是把请求转发到⼀个新的⽬标上。重定向(redirect)以后,之前请求作⽤域范围以内的对象就失效了,因为会产⽣⼀个新的请求,⽽转发(forwarding)以后,之前请求作⽤域范围以内的对象还是能访问的。⼀般认为sendRedirect()⽐forward()要慢。


九、什么是URL编码和URL解码?

URL编码是负责把URL⾥⾯的空格和其他的特殊字符替换成对应的⼗六进制表⽰,反之就是解码。


十、Http的Get和Post的区别

Http是应用层的协议,底层基于TCP/IP协议,所以本质上,get和post请求都是TCP请求。所以二者的区别都是体现在应用层上(HTTP的规定和浏览器/服务器的限制):
1、参数的传输方式:GET参数通过URL传递,POST放在Request body中。
2、GET请求在URL中传送的参数是有长度限制的,而POST没有。
3、对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。不过要注意,并不是所有浏览器都会在POST中发送两次包,比如火狐。
4、对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
5、GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
6、GET请求只能进行url编码,而POST支持多种编码方式。
7、GET在浏览器回退时是无害的,而POST会再次提交请求。
8、GET产生的URL地址可以被Bookmark,而POST不可以。
9、GET请求会被浏览器主动cache,而POST不会,除非手动设置。


十一、HTTPS

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。HTTP是应用层协议,位于HTTP协议之下是传输协议TCP。TCP负责传输,HTTP则定义了数据如何进行包装,在HTTP跟TCP中间加多了一层加密层TLS/SSL,SSL是个加密套件,负责对HTTP的数据进行加密。TLS是SSL的升级版。现在提到HTTPS,加密套件基本指的是TLS。

传输加密的流程:http是应用层将数据直接给到TCP进行传输,Https是应用层将数据给到TLS/SSL,将数据加密后,再给到TCP进行传输。

HTTPS加密数据的过程一般来说,分为对称加密、非对称加密。
(1)对称加密
对称加密的意思就是,加密数据用的密钥,跟解密数据用的密钥是一样的。
对称加密的优点在于加密、解密效率通常比较高。缺点在于,数据发送方、数据接收方需要协商、共享同一把密钥,并确保密钥不泄露给其他人。传输过程中容易被截获。
(2)非对称加密
非对称加密的意思就是,加密数据用的密钥(公钥),跟解密数据用的密钥(私钥)是不一样的。


十二、加密算法

1、对称加密算法

(1)Data Encryption Standard(DES)
DES 是一种典型的块加密方法:将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位。同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。 DES 的密钥表面上是64位的,实际有效密钥长度为56位,其余8位可以用于奇偶校验。
DES 现在已经不被视为一种安全的加密算法,主要原因是它使用的56位密钥过短。
为了提供实用所需的安全性,可以使用 DES 的派生算法 3DES 来进行加密 (虽然3DES 也存在理论上的攻击方法)。

(2)Advanced Encryption Standard(AES)
AES 在密码学中又称 Rijndael 加密法,用来替代原先的 DES,已经被多方分析且广泛使用。

(3)DES与AES的对比
自DES 算法公诸于世以来,学术界围绕它的安全性等方面进行了研究并展开了激烈的争论。在技术上,对DES的批评主要集中在以下几个方面:
1、作为分组密码,DES 的加密单位仅有64 位二进制,这对于数据传输来说太小,因为每个分组仅含8个字符,而且其中某些位还要用于奇偶校验或其他通讯开销。
2、DES 的密钥的位数太短,只有56 比特,而且各次迭代中使用的密钥是递推产生的,这种相关必然降低密码体制的安全性,在现有技术下用穷举法寻找密钥已趋于可行。
3、DES 不能对抗差分和线性密码分析。
4、DES 用户实际使用的密钥长度为56bit,理论上最大加密强度为256。DES 算法要提高加密强度(例如增加密钥长度),则系统开销呈指数增长。除采用提高硬件功能和增加并行处理功能外,从算法本身和软件技术方面都无法提高DES 算法的加密强度。

2、 非对称加密算法

(1)RSA
1977年由 MIT 的 Ron Rivest、Adi Shamir 和 Leonard Adleman 一起提出,以他们三人姓氏开头字母命名,是一种获得广泛使用的非对称加密算法。
对极大整数做因数分解的难度 (The Factoring Problem) 决定了 RSA 算法的可靠性。换言之,对一个极大整数做因数分解愈困难,RSA 算法就愈可靠。假如有人找到一种快速因数分解的算法的话,那么用 RSA 加密的信息的可靠性就肯定会极度下降。目前看来找到这样的算法的可能性非常小。

(2)DES与RSA的比较
RSA算法的密钥很长,具有较好的安全性,但加密的计算量很大,加密速度较慢限制了其应用范围。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
采用DES与RSA相结合的应用,使它们的优缺点正好互补,即DES加密速度快,适合加密较长的报文,可用其加密明文;RSA加密速度慢,安全性好,应用于DES 密钥的加密,可解决DES 密钥分配的问题。
目前这种RSA和DES结合的方法已成为EMAIL保密通信标准。


十三、HTTP与HTTPS的区别

(1)HTTP(超文本传输协议)
HTTP协议不适合传输一些敏感信息,比如:信用卡号,密码等支付信息。

(2)HTTPS(安全套接字层超文本传输协议)
HTTPS在HTTP基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

(3)区别

  • 1、HTTPS协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
  • 2、HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。
  • 3、HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • 4、HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

十四、HTTP1.0和HTTP1.1的区别

1、HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理

HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求
处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。

HTTP 1.1则支持持久连接Persistent Connection,并且默认使用persistent connection。在同一个TCP的连接中可以传送多个
HTTP请求和响应。多个请求和响应可以重叠,多个请求和响应可以同时进行更加多的请求头和响应头(比如HTTP1.0没有
host的字段)。

注:
HTTP 1.1的持续连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为Keep-Alive时,客户端通知服
务器返回本次请求结果后保持连接;Connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接。
HTTP 1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。

2、HTTP 1.1增加host字段

在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随
着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP
地址。
HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad
Request)。此外,服务器应该接受以绝对路径标记的资源请求。

3、100(Continue) Status(节约带宽)

HTTP/1.1加入了一个新的状态码100(Continue)。客户端事先发送一个只带头域的请求,如果服务器因为权限拒绝了请
求,就回送响应码401(Unauthorized);如果服务器接收此请求就回送响应码100,客户端就可以继续发送带实体的完整
请求了。100 (Continue) 状态代码的使用,允许客户端在发request消息body之前先用request header试探一下server,看
server要不要接收request body,再决定要不要发request body。

4、HTTP/1.1中引入了Chunked transfer-coding来解决上面这个问题

发送方将消息分割成若干个任意大小的数据块,每个数据块在发送时都会附上块的长度,最后用一个零长度的块作为消息结束的标志。这种方法允许发送方只缓冲消息的一个片段,避免缓冲整个消息带来的过载。

5、HTTP/1.1在1.0的基础上加入了一些cache的新特性

当缓存对象的Age超过Expire时变为stale对象,cache不需要直接抛弃stale对象,而是与源服务器进行重新激活(revalidation)。


十五、HTTP有哪些请求方法?

  • GET:请求指定的页面信息,并返回实体主体。
  • HEAD:和GET类似,只不过不返回报文主体,只返回响应首部。可用于确认URI的有效性及资源更新的日期时间;
  • POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
  • PUT:用来传输文件,要求请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。
  • DELETE:和PUT相反,按请求URI删除指定的资源。
  • OPTIONS:用来查询针对请求URI指定的资源支持的方法。如果请求成功,会有一个Allow的头包含类似“GET,POST”这样的信息
  • TRACE:让服务端将之前的请求通信返回给客户端的方法(因此客户端可以得知请求是怎么一步步到服务端的)。主要用于测试或诊断。
  • CONNECT:使用 SSL(Secure Sockets Layer,安全套接层)和 TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。

十六、GET和POST的区别?

  • GET用于获取数据,POST用于提交数据。
  • GET的参数长度有限制(不同的浏览器和服务器限制不同),POST没有限制。
  • GET把参数包含在URL中,POST通过封装参数到请求体中发送。
  • GET请求只能进行url编码,而POST支持多种编码方式。
  • GET可以发送的参数只能是ASCII类型,POST没有限制,甚至可以传输二进制。
  • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
  • GET刷新无害,而POST会再次提交数据。
  • GET请求会被保存浏览器历史记录,可以被收藏为书签,而POST请求不能。

GET和POST本质都是TCP连接。不过GET产生一个TCP数据包;POST产生两个TCP数据包。

对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200 OK(返回数据);

而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 OK(返回数据)。

注:GET参数的长度、类型均有限制。


十七、cookie和session区别和联系?

Session原理:浏览器第一次访问服务器时,服务器会响应一个cookie给浏览器。这个cookie记录的就是sessionId,之后每次访问携带着这个sessionId,服务器里查询该sessionId,便可以识别并跟踪特定的用户了。(服务端要为特定的用户创建特定的Session,用于标识这个用户,并且跟踪用户。)

Cookie原理:第一次访问服务器,服务器响应时,要求浏览器记住一个信息。之后浏览器每次访问服务器时候,携带第一次记住的信息访问。相当于服务器识别客户端的一个通行证。Cookie不可跨域,浏览览器判断一个网站是否能操作另一个网站Cookie的依据是域名。Google与Baidu的域名不一样,因此Google不能操作Baidu的Cookie,换句话说Google只能操作Google的Cookie。

  • Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中。
  • Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
  • Session的运行依赖Session id,而Session id是存在Cookie中的,也就是说,如果浏览器禁用了Cookie ,同时Session也会失效(但是可以通过url重写,即在url中传递Session_id)。

十八、网络层和传输层是如何协作的?

网络层是针对主机与主机之间的服务。而传输层针对的是不同主机进程之间的通信。传输层协议将应用进程的消息传送到网络层,但是它并不涉及消息是怎么在网络层之间传送(这部分是由网络层的路由选择完成的)。网络层真正负责将数据包从源IP地址转发到目标IP地址,而传输层负责将数据包再递交给主机中对应端口的进程。


十九、传输层的可靠传输指的是什么?是如何实现的?

可靠传输是指:

  • 传输的信道不产生差错。
  • 保证传输数据的正确性,无差错、不丢失、不重复且按顺序到达。

TCP如何实现可靠传输:

  • 应用数据被分割成TCP认为最适合发送的块进行传输。
  • 超时重传,TCP发出一个分组后,它启动一个定时器,等接收方确认收到这个分组。如果发送方不能及时收到一个确认,将重传给接收方。
  • 序号,用于检测丢失的分组和冗余的分组。
  • 确认,告知对方已经正确收到的分组以及期望的下一个分组。
  • 校验和,校验数据在传输过程中是否发生改变,如校验有错则丢弃分组。
  • 流量控制,使用滑动窗口,发送窗口的大小由接收窗口和拥塞窗口的的大小决定(取两者中小的那个),当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。
  • 拥塞控制:当网络拥塞时,减少数据的发送。

二十、TCP序号的作用?怎么保证可靠传输的?

序号和确认号是实现可靠传输的关键。

  • 序号:当前数据包的首个字节的顺序号。
  • 确认号:表示下一个想要接收的字节序号,同时确认号表示对发送方的一个确认回应,表示已经正确收到确认号之前的字节了。

通信双方通过序号和确认号,来判断数据是否丢失、是否按顺序到达、是否冗余等,以此决定要不要进行重传丢失的分组或丢弃冗余的分组。换句话说,因为有了序号、确认号和重传机制,保证了数据不丢失、不重复、有序到达。


二十一、浏览器发起HTTP请求后发生了什么?

当在浏览器输入网址www.baidu.com并敲下回车后:

  • DNS域名解析,将域名www.baidu.com解析成IP地址。
  • 发起TCP三次握手,建立TCP连接。浏览器以一个随机端口(1024~65535)向服务器的80端口发起TCP连接。
  • TCP连接建立后,发起HTTP请求。
  • 服务端响应HTTP请求,将html代码返回给浏览器。
  • 浏览器解析html代码,请求html中的资源。
  • 浏览器对页面进行渲染呈现给用户。
    在这里插入图片描述
    (图片来源于网络,侵删)

二十二、DNS域名解析的请求过程?

  • 先在浏览器自身的DNS缓存中搜索。
  • 如上述步骤未找到,浏览器搜索操作系统本身的DNS缓存。
  • 如果在系统DNS缓存中未找到,则尝试读取hosts文件,寻找有没有该域名对应的IP。
  • 如果hosts文件中没找到,浏览器会向本地配置的首选DNS服务器发起域名解析请求 。运营商的DNS服务器首先查找自身的缓存,若找到对应的条目且没有过期,则解析成功。如果没有找到,运营商的DNS代我们的浏览器,以根域名->顶级域名->二级域名->三级域名这样的顺序发起迭代DNS解析请求。
    在这里插入图片描述
    (图片来源于网络,侵删)

二十三、HTTP是基于TCP还是UDP的?

HTTP协议是基于TCP协议的,客户端向服务端发送一个HTTP请求时,需要先与服务端建立TCP连接(三次握手),握手成功以后才能进行数据交互。


二十四、HTTP请求和响应的报文结构(格式)?

HTTP请求的报文格式:

  • 请求行:包括请求方法、URL、HTTP协议版本号
  • 请求头:若干键值对组成
  • 请求空行:告诉服务器请求头的键值对已经发送完毕
  • 请求主体
    在这里插入图片描述
    (图片来源于网络,侵删)

HTTP响应的报文格式:

  • 响应行:HTTP协议版本号、状态码、状态码描述
  • 响应头:若干键值对表示
  • 响应空行:标识响应头的结束
  • 响应主体
    在这里插入图片描述
    (图片来源于网络,侵删)

二十五、HTTP常见的状态码?

  • 1XX:信息性状态码,表示接收的请求正在处理
  • 2XX:成功状态码,表示请求正常处理完毕
  • 3XX:重定向状态码,表示需要进行附加操作以完成请求
  • 4XX:客户端错误状态码,表示服务器无法处理请求
  • 5XX:服务端错误状态码,表示服务器处理请求出错

常见的状态码有:

  • 200 OK,请求被正常处理
  • 301 Move Permanently,永久性重定向
  • 302 Found,临时性重定向
  • 400 Bad Request,请求报文中存在语法错误
  • 403 Forbidden,对请求资源的访问被服务器拒绝
  • 404 Not Found,在服务器上不能找到请求的资源
  • 500 Internal Server Error,服务器内部错误

Java学习手册:Java数据库面试问题 阅读详情

相关推荐

Java面试必备技能速成手册

垃圾回收(Garbage Collection, GC)是JVM中自动化内存管理的核心部分。主要有以下几种垃圾回收算法:标记-清除(Mark-Sweep)算法:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。复制(Copying)算法:将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块内存用完了,就将还存活的对象复制到另一块内存上,然后再把已使用的内存空间一次清理掉。标记-整理(Mark-Compact)算法。

weixin_42593130的博客 851

网络协议面试题(Java网络编程)

网络编程的本质是多台计算机之间的数据交换。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给其他设备,然后接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接,则需要一直启动。优点缺点使用参数传递机制问题。......

xiaobaijun_ge的博客 3210

Unity抖音小游戏上架实战:从零到一,详解流程与避坑指南

本文详细介绍了Unity抖音小游戏上架的全流程,包括环境准备、SDK集成、开发者账号注册、软著申请、打包提交流程及常见问题解决方案。重点解析了抖音小游戏平台特有的配置细节和避坑技巧,帮助开发者高效完成游戏上架并优化用户体验。

weixin_33704234的博客 261

java面试 socket_java网络编程面试题

1.网络编程时的同步、异步、阻塞、非阻塞?同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果。异步:函数调用在没得到结果之前,没有调用结果,返回状态信息。阻塞:函数调用在没得到结果之前,当前线程挂起。得到结果后才返回。非阻塞:函数调用在没得到结果之前,当前线程不会挂起,立即返回结果。2.Java如何实现无阻塞方式的Socket编程?NIO有效解决了多线程服务器存在的线程开销问题。在NIO...

weixin_33937306的博客 1223

基于phpstudy搭建pikachu靶场

一、phpstudy下载安装配置 phpstudy介绍 简单介绍一下phpstudy,详细请参考百度解读。pikachu是基于PHP环境搭建的,需要数据库支持,所以装pikachu之前需要先安装它需要的环境,就像你养鱼需要给它提供水环境一样。安装phpstudy能满足pikachu的需求,所以先安装phpstudy。 phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是

ptxybird的博客 1万+

物联网技术-第2章-物联网技术架构

• 物联网具有很强的异构性• 为实现异构设备之间的互联、互通与互操作,物联网需要以一个开放的分层的可扩展的为框架。

m0_73804764的博客 2978

网络面试知识

客户端发送的连接请求如果在网络中滞留,那么就会隔很长一段时间才能收到服务器端发回的连接确认。但是这个滞留的连接请求最后还是会到达服务器,如果不进行三次握手,那么服务器就会打开两个连接。如果有第三次握手,客户端会忽略服务器之后发送的对滞留连接请求的连接确认,不进行第三次握手,因此就不会再次打开连接。3:得到了 IP 以后,向服务器发送 TCP 连接,TCP 连接经过三次握手。第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开连接。4:接受 TCP 报文后,对连接进行处理,对 HTTP 协议解析。

上官宏竹的专栏 1028

ArcGIS基于DEM提取微流域单元(附练习数据下载)

流域作为一个相对独立的地理单元,与行政区的划分有着本质上的区别。流域的划分更注重自然因素,流域作为一个综合的自然整体,在其内部形成了一个天然的物质与能量流动的场所,并通过水流的作用,与周围的区域进行物质和能量的交换。流域的精确划分作为一个研究的基础工作,那么接下来给大家说一下利用DEM提取小流域的案例教程——以贵州省遵义市正安县为例。 1 数据获取 地理空间数据云(http://www.gscloud.cn/),数据分辨率为30m。也可直接点击这篇直接下载→全国30m90mDEM下载。 若想要获得更高精度.

qq_43173805的博客 4835

31道Java面试题,史上最全

高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。由于篇幅限制,小编在此截出几张知识讲解的图解。......

guanshengg的博客 1152

利用XGBoost实现短期电力负荷预测

本数据集为某地区2009年-2015年的用电负荷,时间片为每分钟这里我们定义了XGB模型作为实例,来进行模型训练,之后我们会对其使用网格搜索找到最优的参数。

优快云 精品推荐 4495

【Unity】Gif图片播放插件(支持UI及模型纹理渲染两种模式)

unity本身不支持GIF格式文件直接渲染, 因此一般的做法是通过加载图片,通过代码控制其循环播放、停止等,模拟动画效果,本文简单介绍一下某个现有开源工具,感谢开源作者。

灵境引路人 4036

TCP,UDP,Socket,Http网络编程面试题(47道含答案)

网络编程网络编程的本质是多台计算机之间的数据交换。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给其他设备,然后接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接,则需要一直启动。

pengjianglilive的专栏 2068

芒果YOLO11改进172:ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1515

阿里P8大佬神创“Netty突击笔记”,堪称全网最全最牛逼的核心原理讲解

你可能要问了:如果我的工作中涉及网络编程的内容并不多,那我是否还有必要花精力学习 Netty 呢?其实在互联网大厂(阿里、腾讯、美团等)的中高级 Java 开发面试中,经常会问到涉及到 Netty 核心技术原理的问题,比如: Netty 的高性能表现在哪些方面?对你平时的项目开发有何启发? Netty 中有哪些重要组件,它们之间有什么联系? Netty 的内存池、对象池是如何设计的? 针对 Netty 你有哪些印象比较深刻的系统调优案例?

m0_57042151的博客 104

YOLOv11低照度增强主干网络PE-YOLO:原理与完整实现教程

编码器部分# 解码器部分self.dec_conv2 = nn.Conv2d(512, 128, 3, padding=1) # 跳跃连接self.dec_conv3 = nn.Conv2d(256, 64, 3, padding=1) # 跳跃连接self.dec_conv4 = nn.Conv2d(128, 32, 3, padding=1) # 跳跃连接# 编码路径# 解码路径(带跳跃连接)

FJN110的博客 727

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java面试BAT通关手册

转载请标明出处: https://blog.youkuaiyun.com/forezp/article/details/88823244 手机端可以关注微信公众号号查看: 2019-07-14数据库:数据库连接池原理详解与自定义连接池实现 2019-07-14数据库:数据库索引的类型 2019-07-14数据库:数据库索引优化 2019-07-13数据库...

方志朋的专栏 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

五分钟学Java:如何学习Java面试必考的网络编程

原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 本文思维导图 简介 Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不需要接触到网络编程,自然而然地对这个东西不那么重视了,毕竟,即使像是JVM虚拟机,Java多线程,在平时工作的时候还会用到一些,但是对于网络编程,除非你做的东西确实是需要自己写通讯服务代码的,比如...

Java技术江湖 1565

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java网络编程面试题

Java网络编程面试题 1、tcp和udp的区别1 2、tcp连接建立的时候3次握手,断开连接的4次握手的具体过程1 3、什么是同步?什么是异步?2 4、.什么是阻塞?什么是非阻塞?5 5、什么是阻塞IO?什么是非阻塞IO?6 6、...

2253

Java面试必备:Java网络编程详解

Java网络编程是指使用Java语言和相关API开发能够通过网络进行通信的应用程序的过程。它允许不同设备(计算机、服务器、移动设备等)之间进行数据交换,是构建分布式系统和网络应用的基础。

qq_58299462的博客 800

程序员必须要学习的字节Java面试手册!题目+答案!

需要注意的是,随着技术的发展和市场竞争的加剧,对Java开发人员的要求也在不断提高。然而,随着技术的普及和女性对计算机科学的兴趣逐渐提高,女性程序员的比例也在逐渐增加。总的来说,面试的心态调整主要是要对自己有信心,保持积极和开放的态度,充分准备,同时不过度焦虑。调查显示,年龄越大的程序员,其技术水平和经验也越高,因此薪资和职位也相应地更高。同时,也需要关注程序员的职业发展和心理健康,为程序员提供更好的职业规划和支持。此外,程序员晋升到管理岗位的比例相对较低,这也表明了程序员职业发展的挑战。

程序员高级码农的博客 1291

Java学习手册:Java面向对象面试问题

Java学习手册:Java面向对象面试问题

浩比的专栏 821

Java网络编程面试常考问题

本文总结了Java网络编程面试中的常见考点,包括TCP/IP协议栈、JavaNIO技术、网络异常处理等核心内容。重点分析了面试中可能遇到的典型问题,如协议栈工作原理、WebSocket实时通信实现方案、网络性能优化手段等。文章还提供了面试准备建议:系统学习基础知识、进行实战演练、注重细节表达、保持自信态度。通过充分准备这些技术要点和面试技巧,求职者可以更好地展示自己的网络编程能力和问题解决水平。

qq_35974860的博客 90

你绝对不知道的Java面试必考点之网络编程

一、本文思维导图 本人另外整理了我从零开始自学Java学习路线、学习资料及近五年大厂的面试真题大全,如果需要的话自行领取下载:腾讯文档 二、简介 Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不需要接触到网络编程,自然而然地对这个东西不那么重视了,毕竟,即使像是JVM虚拟机,Java多线程,在平时工作的时候还会用到一些,但是对于网络编程,除非你做的东西确实是需要自己写通讯服务代码的,比如网络游戏,以及偏向中间件方向的开发, 可能会接触到

Javacxyzz的博客 403

java网络编程面试题

java网络编程面试题

Java仗剑走天涯 1万+

java面试问题大全及答案大全,Java---网络编程

TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。两端通信时步骤:服务端程序,需要事先启动,等待客户端的连接。客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。类表示。创建Socket对象,向服务端发出连接请求,服务端响应请求,两者建立连接开始通信。类表示。创建对象,相当于开启一个服务,并等待客户端的连接。其它面试题(springboot、mybatis、并发、java中高级面试总结等)

2301_79600088的博客 874
上一篇: Java学习手册:Java锁的分类和特点
下一篇: Android学习笔记:线程池(ThreadPool)
浩比浩比
博客等级 码龄12年 395粉丝 202原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值