
java
0山外山0
这个作者很懒,什么都没留下…
展开
-
java保留两位小数4种方法
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585; public void m1() { Big...转载 2018-04-17 15:15:08 · 490 阅读 · 0 评论 -
四次挥手
客户端先发送FIN,进入FIN_WAIT1状态 服务端收到FIN,发送ACK,进入CLOSE_WAIT状态,客户端收到这个ACK,进入FIN_WAIT2状态 服务端发送FIN,进入LAST_ACK状态 客户端收到FIN,发送ACK,进入TIME_WAIT状态,服务端收到ACK,进入CLOSE状态 TIME_WAIT的状态就是主动断开的一方(这里是客户端),发送...原创 2018-09-27 17:09:22 · 277 阅读 · 0 评论 -
TCP粘包和拆包
产生的原因 应用程序写入数据的字节大小大于套接字发送缓冲区的大小 进行MSS大小的TCP分段。MSS是最大报文段长度的缩写。MSS是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。所以MSS并不是TCP报文段的最大长度,而是:MSS=TCP报文段长度-TCP首部长度 以太网的payload大于MTU进行IP分片。MTU指:一种通信协议的某...原创 2018-09-26 14:14:31 · 373 阅读 · 0 评论 -
三次握手
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端...原创 2018-09-03 14:35:05 · 235 阅读 · 0 评论 -
dns使用的协议
既使用TCP又使用UDP首先了解一下TCP与UDP传送字节的长度限制:UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。区域传送时使用TCP,主要有一下两点考虑: 辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否...原创 2018-08-30 14:41:05 · 1881 阅读 · 0 评论 -
Java高级工程师常见面试题(七)-网络通信
1. http是无状态通信,http的请求方式有哪些,可以自己定义新的请求方式么。HTTP是无状态的,它的底层协议是由状态的TCP,但是HTTP的一次完整协议动作,里面是使用有状态的TCP协议来完成的。而每次协议动作之间没有任何关系。例如:第7次请求HTTP协议包,并不知道,这个包是为了什么?它或许是因为上次没有请求成功而重传,或许是上次的后续请求,或许是其他的,这些HTTP自身都不知道。...原创 2018-08-20 15:28:28 · 4902 阅读 · 0 评论 -
Java高级工程师常见面试题(六)-多线程
博主其他相关文章:《Java高级工程师常见面试题-总结》1. Java创建线程之后,直接调用start()方法和run()的区别调用run会在当前线程中执行方法,调用start会开启一条新线程来执行方法。2. 常用的线程池模式以及不同线程池的使用场景newCachedThreadPool:底层:返回ThreadPoolExecutor实例,corePoolSize为0;maxi...原创 2018-07-06 14:47:04 · 10798 阅读 · 1 评论 -
Java高级工程师常见面试题-总结
《Java高级工程师常见面试题(一)-Java基础 》《Java高级工程师常见面试题(二)-Java IO》《Java高级工程师常见面试题(三)-Java Web》《Java高级工程师常见面试题(四)-JVM》《Java高级工程师常见面试题(五)-开源框架》《Java高级工程师常见面试题(六)-多线程》《Java高级工程师常见面试题(七)-网络通信》《Java高级工程师...原创 2018-07-23 10:03:43 · 8004 阅读 · 2 评论 -
Java高级工程师常见面试题(五)-开源框架
博主其他相关文章:《Java高级工程师常见面试题-总结》1. hibernate和ibatis的区别1.ibatis非常简单易学,hibernate相对较复杂,门槛较高。2.二者都是比较优秀的开源产品3.当系统属于二次开发,无法对数据库结构做到控制和修改,那ibatis的灵活性将比hibernate更适合4.系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度...原创 2018-06-26 15:07:04 · 1982 阅读 · 0 评论 -
Java高级工程师常见面试题(四)-JVM
博主其他相关文章:《Java高级工程师常见面试题-总结》1. Java的内存模型以及GC算法1.JVM内存模型1.1程序计数器 程序计数器是众多编程语言都共有的一部分,作用是标示下一条需要执行的指令的位置,分支、循环、跳转、异常处理、线程恢复等基础功能都是依赖程序计数器完成的。 对于Java的多线程程序而言,不同的线程都是通过轮流获得cpu的时间...原创 2018-06-25 19:04:09 · 5618 阅读 · 1 评论 -
Java高级工程师常见面试题(三)-Java Web
博主其他相关文章:《Java高级工程师常见面试题-总结》1. session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。cookie 和session 的区别:1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗, 考虑到安全应当使...原创 2018-06-25 14:09:04 · 2684 阅读 · 0 评论 -
Java高级工程师常见面试题(二)-Java IO
博主其他相关文章:《Java高级工程师常见面试题-总结》1. 讲讲IO里面的常见类,字节流、字符流、接口、实现类、方法阻塞。基于字节的io操作:基于字符的io操作: IO常用类文件流:FileInputStream/Fil...原创 2018-06-25 10:52:04 · 5583 阅读 · 0 评论 -
Java高级工程师常见面试题(一)-Java基础
博主其他相关文章:《Java高级工程师常见面试题-总结》1. String类为什么是final的。多线程安全,将字符串对象保存在字符串常量池中共享效率高2. HashMap的源码,实现原理,底层结构。HashMap基于哈希表的 Map 接口的实现。允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。值得注意的是HashMap不是线程安全的...原创 2020-06-05 11:58:36 · 8449 阅读 · 1 评论 -
详细介绍http
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。点击这里了解 http 1.0 vs 2.0 区别。特点 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不...原创 2018-09-29 11:05:04 · 339 阅读 · 0 评论