作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.UDP简介 1.1UDP报文结构: ​ Source Port:源端口 Destination Port:目标端口 Length:数据包长度 Checksum:奇偶校验值 data octets:用户数据 1.2 UDP特点 ​ 1.面向非连接 ​ 传输数据之前,源端和终端无建立连接,当他想传送时,就简单地去抓取来自应用程序的数据,并尽可能快的把他扔到网络上,在发送段,UDP传送数据的速度,仅仅是受应用程序生成数据的速度的影响,计算机的能力…
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.1 说一说TCP的四次挥手 ​ "挥手",即终止TCP连接,断开一个TCP连接池. ​ 需要客户端和服务端总共发出四个包,以确认连接断开,流程如图: ​ ​ (假设客户端主动关闭,也可以是被动的) ​ 第一次:seq=u,u(是前面ESTAB状态下,数据最后一次发送的时候,已经传送过来的数据最后一个字节的序号,再加上1),TCP规定,即使第一次不携带数据,也要消耗掉一个序号(回执是u+1) ​ 第二次:服务器发出确认报文(ACK=…
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1.说说TCP三次握手 1.0 在此之前,什么是TCP? ​ TCP(传输控制协议) ​ 1.面向连接的,可靠的,基于字节流的传输层通信协议 ​ 2.将应用层的数据流分割成报文段并发送给目标节点的TCP层 ​ 3.数据包都有序号,对方收到则发送ACK确认,未收到则重传 ​ 4.使用校验和来检验数据在传输过程中是否有误 **注: ACK--确认序号标志,即接收端实体对已成功收到的包的确认,(确认后+1) ​ SYN--同步序号,用于建立连接过程 ​…
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面: ​ Get请求将请求信息放在URL后面,请求信息和URL之间用问号(?)隔开,多个请求信息之间用&隔开,形式是键值对的形式,且有长度限制. ​ Post请求是放在报文体中,想获得请求信息必须请求报文,因此,安全性较Get要高一些,但是可以通过抓包工具获取信息,所以不是绝对安全,具体还要靠https,没有长度限制 1.1.2 从数据…
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[1] 1.1 HTTP简介 ​ HTTP协议,即超文本传输协议,属于应用层的协议,他是基于请求和响应模式的无状态的 应用层协议. 1.2主要特点 1.2.1 支持 客户/服务器模式(C/S) 1.2.2 简单快速 1.2.3 灵活 1.2.4 无连接 : ​ 限制每次连接只处理一个请求,服务器收到客户的请求,并受到应答之后,就断开连接,以节省传输时间,从http1.1起,默认使用长连接,即服务器需要等待一定时间后才断开连接,以…
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.TCP的滑动窗口 1.1 RTT和RTO的区别 ​ RTT:发送一个数据包到收到对应的ACK,所花费的时间 ​ RTO:重传时间间隔,TCP在发送一个数据包之后,会启动一个重传定时器,RTO就是这个定时器的重传时间,再通俗的讲就是,一开始先算一个定时器时间,如果你回复了ACK,那重传定时器就自动失效,也就是说不用重传了,但是如果没有回复给我ACK,RTO定时器的时间又到了,就重传,由于RTO是本次数据包所发送的超时时间,那么RTO就需要一个…
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 1.如何设计一个关系型数据库 如上图,首先划分成两大部分: ​ 1.存储部分:类似一个文件系统,把数据存储到一个持久化设备中,如机械硬盘,固态等 ​ 2.程序实例部分:对存储进行逻辑上的管理, ​ 2.1 存储管理:数据的逻辑关系转换成物理存储关系 ​ 2.2 缓存机制:优化执行效率 ​ 2.3 SQL解析:将sql语句进行解析 ​ 2.4 日志管理: 记录操作 ​ 2.5 权限划分: 多用户管理 ​ 2.6 容灾机制: 灾难恢复模块(突感挂了…
1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二  Load-on-startup Load…
package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1214 { public static void main(String[] args){ final List<String> tickets = new ArrayList<String>(); for(int i = 0; i < 1000; i++){ tickets.add("高铁票-&…
package Dec2016; public class Ques1212 { public static void main(String[] args){ System.out.println(10.00-9.60); } } 今日问题: 请问主程序中输出结果是什么?(点击以下“[Java每日一题]20161212”查看20161209问题解析) 题目原发布于公众号.简书:[Java每日一题]20161212,[Java每日一题]20161212…
20161019问题解析请点击今日问题下方的"[Java每日一题]20161020"查看 package Oct2016; public class Ques1020 { public static void main(String[] args) { int num = 10; String str01 = String.valueOf(num < 30 ? 20 : 30); String str02 = String.valueOf(num < 30 ? 20 : 3…
20161017问题解析请点击今日问题下方的"[Java每日一题]20161018"查看 package Oct2016; public class Ques1018 { public static void main(String[] args){ Obj obj01 = new Obj("18"); Obj obj02 = new Obj("19"); obj01.printAge(obj02); } } class Obj{ private…
20170111问题解析请点击今日问题下方的"[Java每日一题]20170112"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.ArrayList; import java.util.List; public class Ques0112 { public static void main(String[] args) { Number[] numbers = new Integer[10]; //1…
20170324问题解析请点击今日问题下方的“[Java每日一题]20170327”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public class Ques0327 { public static void main(String[] args) { MyThread t1 = new MyThread("t1"); MyThread t2 = new MyThread("t2"); t1.start();…
20170216问题解析请点击今日问题下方的“[Java每日一题]20170217”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public class Ques0217 { public static void main(String[] args) { char[] c = new char[10]; System.out.println(c[5]); } } 今日问题: 请问主程序输出结果是什么?(点击以下“[Java每日一题]20170…
20170210问题解析请点击今日问题下方的“[Java每日一题]20170213”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public class Ques0213 { final int num; public Ques0213() { System.out.println(num + 10); } public static void main(String[] args) { Ques0213 q = new Ques0213();…
Java每日编程day2 第一题 package com.pcx.day2; /* * 九九乘法表并逆序 */ public class JiuJiu { public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 1; j <= i; j++) { System.out.print(j+"*"+i+"="+i*j+"\t")…
developerWorks 图书频道: 深入分析 Java Web 技术内幕,第 10 章 深入理解 Session 与 Cookie Session 与 Cookie 不管是对 Java Web 的初学者还是熟练使用者来说都是一个令人头疼的问题.在初入职场时恐怕很多程序员在面试的时候都被问到过这个问题.其实这个问题回答起来既简单又复杂,简单是因为它们本身只是 HTTP 协议中的一个配置项,在 Servlet 规范中也只是对应到一个类而已:说它复杂原因在于当我们的系统大到需要用到很多 Cook…
原文地址:程序员的 Ubuntu 19.10 配置与优化指南 0x00 环境 CPU: Intel Core i9-9900k GPU: GeForce RTX 2070 SUPER RAM: DDR4 16GBx2 OS 1: Ubuntu 19.10 eoan OS 2: Windows 10 1909 Disk 1: Samsung SSD 970 EVO Plus 500GB - GUID Partition Table(/dev/nvme0n1) Disk 2: ST4000VX007…
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; public class Ques0106 { public void method01(String... strings, int num){ } public void method02(String... strings, int... is){ } } 今日问题: 以上两个方法使用了变长参数,请问这…
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.ArrayList; import java.util.List; public class Ques0105 { public static void main(String[] args) { List<String> list = new ArrayList…
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.HashSet; import java.util.Set; public class Ques0104{ public static void main(String[] args){ Obj obj01 = new Obj("张三"); Obj obj…
20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; public class Ques0103 { public static void main(String[] args){ System.out.println(delete("你好", "你").equals("好")); System.out…
// 20161229问题解析请点击今日问题下方的"[Java每日一题]20161230"查看(问题解析在公众号首发,公众号ID:weknow619)package Dec2016; public class Ques1230 { int array = {1, 2, 3}; // 1 int array[] = {1, 2, 3}; // 2 int[] array = {1, 2, 3}; // 3 int array[] = new int{1, 2, 3}; // 4 int…
package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1229 { public static void main(String[] args){ Student stu01 = new Student("001"); Student stu02 = new Student(null); List<Student> students = new ArrayLi…
package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1228 { public static void main(String[] arg){ Student stu01 = new Student("001"); Student stu02 = new Student("001 "); // stu02中001后面有个空格 List<Stud…
package Dec2016; public class Ques1227 { public static void main(String[] args){ } { c = 1; } int c = 2; int a = b; int b = 3; } 今日问题: 请问主程序输出结果是什么?(点击以下"[Java每日一题]20161227"查看20161226问题解析) 题目原发布于公众号.简书:[Java每日一题]20161227,[Java每日一题]20161227 注:wek…
package Dec2016; public class Ques1226 { static{ num = 1; } public static int num = 2; public static void main(String[] args) { System.out.println(num); } } 今日问题: 请问主程序输出结果是什么?(点击以下"[Java每日一题]20161226"查看20161223问题解析) 题目原发布于公众号.简书:[Java每日一题]20161…
package Dec2016; public class Ques1223 { public static void main(String[] args){ Integer obj = Integer.valueOf(args[args.length - 1]); int i = obj.intValue(); if (args.length > 1) { System.out.println(i); } if (args.length > 0) { System.out.println(…
这篇文章主要介绍了作为Java程序员应该掌握的10项技能,包括java的知识点与相关的技能,对于java的学习有不错的参考借鉴价值,需要的朋友可以参考下   1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正. 2.命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer.HtmlConverter.jar. java.javac.javadoc.javap.javaw.native2as…