20155220 2016-2017-2 《Java程序设计》第10周学习总结

教材内容学习总结

计算机网络编程概述

  • 路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤、网线等连接将设备连接起来,从而形成了一张巨大的计算机网络。

  • 网络最主要的优势在于共享:共享设备和数据,现在共享设备最常见的是打印机。

  • IP地址:为了能够方便的识别网络上的每个设备,网络中的每个设备的唯一的数字标识。现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成,例如10.0.120.34。IP地址可能是固定的,例如网络上各种各样的服务器;也可以是动态的,例如使用ADSL拨号上网的宽带用户。

  • 域名(Domain Name):例如sohu.com等。一个IP地址可以对应多个域名,一个域名只能对应一个IP地址。

  • DNS服务器:在网络中传输的数据,全部是以IP地址作为地址标识,所以在实际传输数据以前需要将域名转换为IP地址,实现这种功能的服务器称之为DNS服务器,也就是通俗的说法叫做域名解析。

  • 端口(port):让一个计算机可以同时运行多个网络程序,在同一个计算机中每个程序对应唯一的端口。 在硬件上规定,端口的号码必须位于0-65535之间,每个端口唯一的对应一个网络程序,一个网络程序可以使用多个端口。

网络编程概述

  • 网络编程就是两个或多个设备之间的数据交换,其实更具体的说,网络编程就是两个或多个程序之间的数据交换,和普通的单机程序相比,网络程序最大的不同就是需要交换数据的程序运行在不同的计算机上,这样就造成了数据交换的复杂。虽然通过IP地址和端口可以找到网络上运行的一个程序,但是如果需要进行网络编程,则还需要了解网络通讯的过程。

  • 由于TCP需要建立专用的虚拟连接以及确认传输是否正确,所以使用TCP方式的速度稍微慢一些,而且传输时产生的数据量要比UDP稍微大一些。

网络编程步骤

客户端网络编程步骤
  • 建立网络连接

  • 交换数据

  • 关闭网络连接

服务器端网络编程步骤
  • 监听端口

  • 获得连接

  • 交换数据

  • 关闭连接

java实现DES算法

import java.io.*;
import javax.crypto.*;
public class Skey_DES{
public static void main(String args[])
throws Exception{
KeyGenerator kg=KeyGenerator.getInstance("DESede");
kg.init(168);
SecretKey k=kg.generateKey( );
FileOutputStream f=new FileOutputStream("key1.dat");
ObjectOutputStream b=new ObjectOutputStream(f);
b.writeObject(k);
}
}

java实现RSA算法

import java.io.*;
import java.security.*;
import javax.crypto.*;
import javax.crypto.spec.*; public class Skey_RSA{
public static void main(String args[]) throws Exception{
KeyPairGenerator kpg=KeyPairGenerator.getInstance("RSA");
kpg.initialize(1024);
KeyPair kp=kpg.genKeyPair();
PublicKey pbkey=kp.getPublic();
PrivateKey prkey=kp.getPrivate();
// 保存公钥
FileOutputStream f1=new FileOutputStream("Skey_RSA_pub.dat");
ObjectOutputStream b1=new ObjectOutputStream(f1);
b1.writeObject(pbkey);
// 保存私钥
FileOutputStream f2=new FileOutputStream("Skey_RSA_priv.dat");
ObjectOutputStream b2=new ObjectOutputStream(f2);
b2.writeObject(prkey);
}
}

代码托管

结对及互评

点评过的同学博客和代码

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 16篇 400小时
第二周 40/100 1/2 8/20
第三周 100/150 1/3 18/26
第四周 465/605 1/4 23/49
第五周 527/1132 1/5 35/84
第六周 1044/2176 1/6 60/144
第七周 306/2482 1/7 35/179
第八周 407/2889 1/8 51/230
第九周 320/3209 1/9 61/291
第十周 1290/4500 1/10 70/360

最新文章

  1. RazorEngine 3.3 在Mono 3.2上正常运行
  2. logrotate机制与原理[转载]
  3. MPAndroidChart 教程
  4. (转)雅虎WEB前端网站优化 -- 34条军规
  5. Spring3 MVC请求参数获取的几种方法
  6. IOS开发之——CocoaPods安装和使用 OC和swift通吃
  7. [开发笔记]-VS2012打开解决方案崩溃或点击项目崩溃
  8. Ubuntu系统中登陆阿里云服务器的方法
  9. 计算两点间的距离-hdu2001
  10. 使用.net 自建短链接(短网址)
  11. java中继承和组合的区别
  12. 移动端常用的meta标签,媒体查询以及一些样式设置《转载收藏》
  13. jsp页面中include静态html出现乱码问题的解决方式
  14. windows下python环境+selenium环境搭建
  15. 注解@CrossOrigin解决跨域问题
  16. java对之前的复习
  17. php把一些预定义的 HTML 实体转换为字符。
  18. jmeter接口测试实例5-文件上传
  19. 异常:Project configuration is not up-to-date with pom.xml 解决方案
  20. AR(I)MA时间序列建模过程——步骤和python代码

热门文章

  1. 3.5星|《刷屏:视频时代的风传法则》:YouTube热门视频回顾与分析
  2. php非空验证
  3. vue怎么不通过dom操作获取dom节点
  4. windows下注册和取消pg服务的命令
  5. idea更新maven依赖包
  6. [SDOI2016]数字配对
  7. 【[NOI2009]管道取珠】
  8. Eclipse导入web项目发布项目时报Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web错误解决方案
  9. Python--BeautifulSoup库安装
  10. 解决Bug步骤