UDP数据报套接字编程 (1)读取请求并且解析(2)根据请求,计算响应(3)把响应返回给客户端(4)记录日志,观察执行结果(由于当前是在本机运行,IP地址为“127.0.0.1”)(1)输入需要发送的数据(2)构造并发送数据报(3)接收并显示服务器的响应因为服务器是7*24小时工作的,所以我们需要一个死循环来模拟一下服务器客户端也可以使用死循环来模拟请求。
网络编程套接字概念(UTP和TCP) 认识了网络,我们就应该考虑一下如何编程实现不同主机上的应用进程之间如何进行双向互通的端点。是网络编程的一种基本概念,套接字是应用程序通过网络协议进行通信的接口,是操作系统提供的一组api(在传输层给应用层提供)。在网络编程中,套接字主要应用于客户端和服务器之间的通信,工作在网络的,基于来传输数据。是传输层的俩个核心的协议,这俩个协议有很大的差别,所以Socket就提供了俩套套接字,分别为和数据报套接字。
网络原理初识 网络原理涉及到计算机网络的基本组成、工作原理、以及网络通信的基础知识。而计算机网络是由节点链路和协议三个重要元素组成的系统,通过通信线路连接多个计算机及其外部设备,实现资源的共享和信息的传递。网络通信的本质是网络数据传输,计算机之间通过网络来传输数据。
MySQL—视图 基本表和视图修改时都会互相影响,因为视图本质上是一个虚拟表,不存储任何数据,基于原表的数据。而且视图的数据是动态生成的,视图只提供了一个查看和操作原始数据的接口,也可以用来限制用户对数据的访问。
MySQL 表的增删改查 在SQL语句中,对于表的增删改查围绕着这几种基本格式:增(create),删(delete),改(update),查(retrieve)。对于表的操作,这里推荐一个MySQL的可视化工具:Navicat(
MySQL数据库基本操作 对于关系型数据库,通常是使用了关系模型来组织数据,关系模型指的是一种二维表格模型,关系型数据库就是基于二维表及之间的联系所组成的一个数据组织。而对于MySQL而言,是属于关系型数据库,它基于二维表的实现。上图对应的每一列都是数据库中表的属性,而数据行对应的是每一条的记录,将记录一一对应在表中的属性上,形成一条条的记录存储在表中。MySQL就是利用列与行的关系来操作表,使得存储查询新增删除变得方便起来。关系型数据库一般用于业务方面的OLTP系统。
双指针算法——滑动窗口 滑动窗口本质上也是利用双指针来解决特定情况下的问题。滑动窗口算法思想是通过俩个指针,定义在左边和右边,俩指针同向运动,保持着一个像“窗口”一样的双指针来不停的压缩或者扩展来移动“窗口”,从而找到特定的子数组。
双指针算法 该算法涉及到使用俩个指针来来遍历数组,通过俩个指针的协调工作,能大大的提高代码效率,有效的减少时间复杂度,提高代码性能。双指针算法包括快慢指针,前后指针,或者可以搭配单调性来很好的解决问题。本文将利用Java语言来实现双指针的常见题型。
ArrayList 顺序表是线性表的一种,它是较于数组更加灵活的一种储存方式。线性表通常是逻辑上是连续的一条直线,但在物理上不是连续的。java中已经实现好了一个顺序表,搭配泛型可以支持各种类型的使用,下面就来介绍该如何使用。
JAVA——异常 先来看异常的内部是如何实现的:可以看到,一路调用父类来执行抛出异常的操作,而形参为String类(填写错误信息)我们可以模仿使用继承来选择异常为运行时异常还是编译时异常,然后内部调用super,传入一个形参,则如下实现://登录//用户名异常//密码异常//自定义异常实现登录//抛出异常错误if(!throw new NameException("用户名错误!");if(!throw new PasswordException("用户密码错误!");
String类详解 由图可知道,String类的字符由value数组所进行维护,无法修改。所有涉及到可能修改字符串内容的都是创立一个新的对象,改变的是新对象,原有的字符串无法改变,如我们使用replace方法:可以看到,这个替换只是创建了新的对象,并没有真正的改变。如果真要改变字符串,可以直接这样:
Object——toString方法和equals方法 在java中,所有类都是有继承关系存在的,都默认继承Object类。当一个类继承了其他父类,它并不会直接继承Object类,但是它的父类若是没有其他继承关系也会默认继承Object类,子类也可以继续调用Object类。由图可知,原先的方法是类名 + “@”+ 地址组成的(内部实现可自行查看,按住ctrl+点击),我们通过了重写的方法使得他能够打印出整个对象。Object类提供着许多方法,但是这些方法在开发过程中往往不能满足程序员想要的功能,一般会对Object类的方法进行重写,以满足功能开发的多样性。