Java网络方面
最近在面试 有些概念懂 但是需要梳理一下 借着面试看看自己会多少.
1.网络编程的同步 异步 阻塞 非阻塞?
同步:函数调用在没有得到结果之前,不返回任何结果;
异步:函数调用在没有得到结果之前,不返回任何结果,返回状态值;
阻塞:函数调用在没有得到结果之前,线程挂起,得到结果之后返回值。
非阻塞:函数调用在没有得到结果之前,当前线程不会挂起,立即返回结果。
2.Java如何实现无阻塞方式的Socket编程?
NIO可以有效解决多线程服务器存在的线程开销问题,NIO的多线程不是为了应对客户端请求而独立分配线程,
而是通过多线程充分利用CPU的处理能力和处理的时间,达到提高服务效果。
3.什么是Java序列化
为了保存内存中各种对象的状态(也就是实例变量,而不是方法),并且可以把对象可以读取出来,虽然可以通过方法保存对象状态,java提供了对象
序列化机制更好的保存对象状态(具体的对象序列化可以参照Hibernate二级缓存)
4.什么情况下需要序列化?序列化需要注意什么事情,如何实现Java序列化(串行化)?
Java对象序列化到文件或者数据库中;
使用套接字在网络上传输对象时需要进行序列化;
当希望RMI传输对象的时候;
序列化注意事情:
1).如果子类实现了序列化接口Sericalizable而父类未实现,父类必须提供一个无参构造函数,否则会抛出InvalidClassException异常。
2).类的静态变量不会被序列化,因为这个静态变量是类变量,而不是对象的。串行化保存的是是对象属性,即非静态的变量。
3.)Java序列化是为了节约磁盘空间,具有特定规则。
4).序列化到同一文件,如果修改了相同对象的属性再次保存时,因此只保存第二次的引用,读取第一次的存储。
5.Java有那几种流?JDK提供哪些接口可以继承?
Java提供的流对象
InputStram 字节输入流 OutputStream 字节输出流 Reader 字符输入流 Writer 字符输出流
按流向划分:
输出: 输出字节流 OutputStraam 输出字符流 Writer
输入: 输入字节流InputStream 输入字符流 Reder
按照传输单位划分:
字节流:8位 一个比特 一般情况下图片 等是二进制文件
字节流:16位 两个比特
6.用Java Socket编程
比较典型的Java Socket编程,发送请求后,等待服务器响应。 (这个过程存在阻塞方法)
大概过程
1.创建一个Socket实例,构造函数先远处服务器域名和端口 简历TCP连接
2.通过IO流与服务器建立连接(这个地方存在阻塞方法)
3.IO流中读取数据 并且 Socket关闭连接;
服务器的构建模型
1.创建一个ServerSocket端口监听,设置监听端口,用于获取TCP连接
2.重复执行(whlie(true))监听状态一直持续
3.调用ServerSocket 的accept()方法,返回一个客户端连接实例
4.为返回的Socket创建一个新的线程,用于进行线程的服务。
5.通讯完成,关闭Socket的close()
7.TCP有连接时候有三次握手?断开连接有几次握手?
客户端 服务器
| (发送请求 i) |
| ---------------> (i) |(创建j,并且i+1)
| <---------------(j,i+1) |
| (获取 j,i+1) 并且(j+1,i+) |
| -------------->(j+1,i+1) |(获取j+1,i+1) 完成握手
seq 是包本身的序列号 ack是确认连接
一次释放 断开连接请求 确认断开连接
Java网络方面的更多相关文章
- 20145205 《Java程序设计》实验报告五:Java网络编程及安全
20145205 <Java程序设计>实验报告五:Java网络编程及安全 实验要求 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.客户端中输入明文,利用DES算法加密,D ...
- Java 网络编程学习总结
新手一枚,Java学习中,把自己学习网络编程的知识总结一下,梳理下知识,方便日后查阅,高手莫进. 本文的主要内容: [1] 网络编程认识 [2] TCP/IP编程 ...
- Java 网络爬虫获取网页源代码原理及实现
Java 网络爬虫获取网页源代码原理及实现 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL ...
- 20145212 实验五《Java网络编程》
20145212 实验五<Java网络编程> 一.实验内容 1.运行下载的TCP代码,结对进行,一人服务器,一人客户端: 2.利用加解密代码包,编译运行代码,一人加密,一人解密: 3.集成 ...
- 20145213《Java程序设计》实验五Java网络编程及安全
20145213<Java程序设计>实验五Java网络编程及安全 实验内容 1.掌握Socket程序的编写. 2.掌握密码技术的使用. 3.设计安全传输系统. 实验预期 1.客户端与服务器 ...
- 20145206《Java程序设计》实验五Java网络编程及安全
20145206<Java程序设计>实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验步骤 我和201451 ...
- 20145337实验五Java网络编程及安全
20145337实验五Java网络编程及安全 实验内容 掌握Socket程序的编写 掌握密码技术的使用 设计安全传输系统 实验步骤 基于Java Socket实现安全传输 基于TCP实现客户端和服务器 ...
- java 网络编程复习(转)
好久没有看过Java网络编程了,现在刚好公司有机会接触,顺便的拾起以前的东西 参照原博客:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942 ...
- JAVA课程实验报告 实验五 Java网络编程及安全
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225《Java程序设计》 实验五 Java网络编程及安全
20145225<Java程序设计> 实验五 Java网络编程及安全 实验报告 一.实验内容 基于Java Socket实现安全传输. 基于TCP实现客户端和服务器,结对编程一人负责客户端 ...
随机推荐
- bilibili弹幕爬取与比对分析
最近受人之托研究了下b站的数据爬取做个小工具,最后朋友说不需要了,本着开源共享的原则,将研究成果与大家分享一波,话不多说直接上干货 需求分析 给定up主uid和用户uid,爬取用户在该up主所有视频中 ...
- maven替换中央仓库,阿里云镜像下载及自定义本地仓库位置
maven替换中央仓库- 阿里云 在国内访问Maven仓库,下载速度太慢.下面是将中央仓库替换成阿里云的中央仓库的方法.国内还有其他的公共仓库,自己选择. 在你下载的maven版本-conf-set ...
- ASP.NET Core 2.2 : 二十七. JWT与用户授权(细化到Action)
上一章分享了如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新,本章继续进行下一步,用户授权.涉及到的例子也以上一章的为基础.(ASP.NET Core 系列目录) 一.概述 ...
- 互联网从此没有 BAT
根据 Wind 数据截止2019年8月30日,中国十大互联网上市公司排名中,百度排名第 6 位市值 365 亿美元,阿里巴巴排名第一市值高达 4499 亿美元,腾讯排名第二市值 3951 亿美元. 1 ...
- 转载-SpringBoot开发案例之整合日志管理
转载:https://cloud.tencent.com/developer/article/1097579 有一种力量无人能抵挡,它永不言败生来倔强.有一种理想照亮了迷茫,在那写满荣耀的地方. 00 ...
- P4570 [BJWC2011]元素 线性基 + 贪心
题意 给定n个物品,每个物品有一个编号和价值,问如何取使得拿到的物品价值总和最大,并且取得物品的编号的子集异或和不能为0. 思路 这是个贪心,我们先按照价值从大到小排序,然后贪心地取,如果当前要取的物 ...
- SDU暑期集训排位(3)
B. Mysterious LCM 做法 保留 \(a_i|x\) 的元素,其它元素解体. \(a_i\) 的某个质因子的指数,要和 \(x\) 的这个质因子一样多,才有贡献,否则这个质因子它在划水啊 ...
- 大数乘法(适合k进制)
#include<stdio.h> #include<string.h> #define N 10000 void inv(char str[],int n) { int i, ...
- 【Offer】[53-3] 【数组中数值和下标相等的元素】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 假设一个单调递增的数组里的每个元素都是整数并且是唯一的.请编程实现一个函数,找出数组中任意一个数值等于其下标的元素.例如,在数组{-3, ...
- 题解 洛谷P5259【欧稳欧再次学车】
实际上没什么可说的,暴力大模拟就好. 一定要开long long! 一定要开long long! 一定要开long long! (不然会炸数据的!!!) //Stand up for the fait ...