- 博客(57)
- 收藏
- 关注
原创 Socket
Scoket是对TCP/IP协议的抽象,是操作系统对外开放的接口Scoket通信流程面试真题编写一个网络应用程序,有客户端与服务器端,客户端向服务器发送一个字符串,服务器收到该字符串后将其打印到命令行上,然后向客户端返回该字符串的长度,最后,客户端输出服务器端返回的该字符串的长度,分别用TCP和UDP种方式去实现TCPTCPServer.javapublic class TCPSer...
2020-06-01 08:44:27
121
原创 HTTP与HTTPS
HTTP (超文本传输协议)主要特点支持客户/服务器模式简单快速只需要传输请求方法和路径灵活允许传输任意类型的对象无连接每次连接只处理一个请求,即使长连接也是下层实现对上层透明无状态对事物处理没有能力当前多版本共存,主流版本是HTTP/1.1,相比较HTTP/1.0其引入了keepalive(长连接技术)HTTP的请求结构HTTP的响应结构HTTP请求/响应的步骤客户端连接到...
2020-05-31 07:11:35
151
原创 超时重传时间的选择与TCP的滑动窗口
超时重传时间的选择RTT : 报文段的往返时间RTTS : 加权平均往返时间,也称平滑的往返时间第一次测量到RTT样本时,RTTS 值就取该样本此后按下列式子进行计算新的RTTS = (1 - α) * (旧的RTTS) + α * (新的RTT样本)建议标准 RFC 6289 推荐的α值为 1/8RTO : 超时重传时间RTTD : RTT的偏差的加权平均值第一次测量时,RTT...
2020-05-31 02:00:36
479
原创 TCP与UDP的区别
UDP的特点面向非连接不维护连接状态,支持同时向多个客户端传输相同的消息数据包报头只有8个字节,额外开销较小吞吐量只受限于数据生成速率、传输速率以及机器性能尽最大努力交付,不保证可靠交付,不需要维持复杂的链接状态表面向报文,不对应用程序提交的报文信息进行拆分或者合并TCP与UDP的区别面向连接vs无连接TCP是面向连接的,UDP是无连接的可靠性TCP是可靠的,UDP不保证可...
2020-05-31 01:44:22
106
原创 TCP的三次握手与四次挥手
传输控制协议TCP面向连接的、可靠的、基于字节流的传输层通信协议将应用层的数据流分割成报文段并发送给目标节点的TCP层数据包都有序号,对方收到则发送ACK确认,未收到则重传使用校验和来检验数据在传输过程中是否有误TCP FlagsURG :紧急指针标志ACK :确认序号标志PSH : push标志RST :重置连接标志SYN :同步序号,用于建立连接过程FIN : fi...
2020-05-30 01:51:34
79
原创 计算机网络体系结构
计算机网络体系结构网络的体系结构:计算机网络各层及其协议的集合OSI七层协议业界提出来的参考框架,没有具体实现,是法律上的国际标准TCP/IP四层协议事实上的国际标准,有具体实现网络接口层网际层IP运输层应用层五层协议物理层比特流透明的传输确定与传输媒体接口相关的特性数据链路层差错检测,普遍使用循环冗余检验CRC封装成帧,给数据加上帧首部和尾部透明传输,数据部分控制字...
2020-05-30 01:51:23
146
原创 Spring中常用注解
@Component 创建类对象,相当于配置<bean/>@Service 与@Component 功能相同2.1 写在 ServiceImpl 类上@Repository 与@Component 功能相同3.1 写在数据访问层类上@Controller 与@Component 功能相同1 写在控制器类上@Resource(不需要写对象的 get/set)5.1 java ...
2020-02-27 01:35:34
118
原创 Spring之声明式事务
编程式事务 1.1 由程序员编程事务控制代码 1.2 OpenSessionInView 编程式事务声明式事务 2.1 事务控制代码已经由 spring 写好.程序员只需要声明出哪些方法需要进行事务控制和如何进行事务控制声明式事务都是针对于 ServiceImpl 类下方法的事务管理器基于通知(advice)的在spring配置文件中配置声明式事务<context:propert...
2020-02-27 01:15:43
81
原创 单例设计模式
作用: 在应用程序有保证最多只能有一个实例优点 2.1 提升运行效率 2.2 实现数据共享,例如application 对象懒汉式对象只有被调用时才去创建由于添加了锁,所以效率低示例代码public class SingleTon { //由于对象需要被静态方法调用,把方法设置为 static //由于对象是 static,必须要设置访问权限修饰符为 private,...
2020-02-27 01:11:57
70
原创 Spring之自动注入&properties文件加载
自动注入在 Spring 配置文件中对象名和 ref=”id”id 名相同使用自动注入,可以不配置<property/>两种配置办法 2.1 在<bean>中通过 autowire=”” 配置,只对这个<bean>生效 2.2 在<beans>中通过 default-autowire=””配置,表当当前文件中所有<bean>都是全局配...
2020-02-27 00:54:14
238
原创 代理设计模式
设计模式:前人总结的一套解决特定问题的代码代理设计模式优点 2.1 保护真实对象 2.2 让真实对象职责更明确 2.3 扩展代理设计模式 3.1 真实对象(老总) 3.2 代理对象(秘书) 3.3 抽象对象(抽象功能),谈小目标s静态代理设计模式由代理对象代理所有真实对象的功能1 自己编写代理类2 每个代理的功能需要单独编写静态代理设计模式的缺点1 当代理功能比较多时,代理类中方法...
2020-02-27 00:49:39
88
原创 AOP之异常通知与环绕通知
异常通知异常通知:只有当切点报异常才能触发异常通知AspectJ方式实现新建类,在类写任意名称的方法public class MyThrowAdvice{ public void myexception(Exception e1){ System.out.println("执行异常通知"+e1.getMessage()); }}在 spring 配置文件中配置1 ...
2020-02-27 00:30:10
1075
原创 Spring之AOP
AOPAOP:中文名称面向切面编程英文名称:(Aspect Oriented Programming)正常程序执行流程都是纵向执行流程 3.1 面向切面编程,在原有纵向执行流程中添加横切面 3.2 不需要修改原有程序代码高扩展性原有功能相当于释放了部分逻辑,让职责更加明确面向切面编程是什么? 在程序原有纵向执行流程中,针对某一个或某一些方法添加通知,形成横切面过程就叫做面向切面编程...
2020-02-27 00:14:10
66
原创 使用Spring简化MyBatis
导包![](http://cdn.liaojincan.top/2020224090838.png" width=’200’ height=’400’/>mybatis所有jar,spring基本包,spring-jdbc,spring-tx,spring-aop,spring-web,spring整合mybatis的包配置 web.xml<?xml version="1.0" ...
2020-02-24 00:47:10
75
原创 Spring之IoC&DI
IoCIoC,即 Inversion of Control (控制反转)IoC 将原先由程序员主动通过 new 实例化对象的工作转交给了 Spring 负责控制反转中控制指的是:控制类的对象控制反转中反转指的是:转交给 Spring 负责IoC 最大的作用:解耦 (程序员不需要管理对象,解除了对象管理和程序员之间的耦合)DIDI,即 Dependency Injection(依赖...
2020-02-24 00:27:36
88
原创 Spring创建对象的三种方式
构造方法无参构造创建:默认情况有参构造创建:需要明确配置 2.1 需要在类中提供有参构造方法 2.2 在 applicationContext.xml 中设置调用哪个构造方法创建对象 如果设定的条件匹配多个构造方法执行最后的构造方法index :参数的索引,从 0 开始name:参数名type:类型(区分开关键字和封装类 int 和 Integer)<bean id="peo"...
2020-02-24 00:20:58
71
原创 Spring环境搭建
在IDEA中搭建WEB项目开发环境下载jar包下载地址https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-local/org/springframework/spring导入核心包spring-beans-4.1.6.RELEASE.jarspring-context-4.1.6.RELEAS...
2020-02-11 10:21:47
68
原创 Spring框架简介及官方压缩包目录
主要发明者:Rod Johnson轮子理论推崇者: 2.1 轮子理论:不用重复发明轮子 2.2 IT 行业:直接使用写好的代码Spring 框架宗旨:不重新发明技术,让原有技术使用起来更加方便Spring 几大核心功能IoC/DI (控制反转/依赖注入)AOP (面向切面编程)声明式事务Spring 框架 runtimetest: spring 提供测试功能Core ...
2020-02-11 10:09:48
178
原创 MyBatis运行原理
文字解释在 MyBatis 运行开始时需要先通过 Resources 加载全局配置文件下面需要实例化SqlSessionFactoryBuilder 构建器,帮助 SqlSessionFactory 接口实现类 DefaultSqlSessionFactory在实例化 DefaultSqlSessionFactory 之前需要先创建 XmlConfigBuilder解析全局配置文件流,并把解...
2020-02-08 07:31:14
72
原创 MyBatis注解
注解: 为了简化配置文件Mybatis 的注解简化 mapper.xml 文件1 如果涉及动态 SQL 依然使用 mapper.xmlmapper.xml 和注解可以共存使用注解时 mybatis.xml 中<mappers>使用1 <package/>2 <mapper class=""/>实现查询@Select("select * from ...
2020-02-08 07:30:51
85
原创 MyBatis实现多表查询
Mybatis 实现多表查询方式 1.1 业务装配.对两个表编写单表查询语句,在业务(Service)把查询的两个结果进行关联 1.2 使用 Auto Mapping 特性,在实现两表联合查询时通过别名完成映射 1.3 使用 MyBatis 的<resultMap>标签进行实现多表查询时,类中包含另一个类的对象的分类 2.1 单个对象 2.2 集合对象resultMap标签...
2020-02-07 03:55:08
296
原创 MyBatis缓存机制
应用程序和数据库交互的过程是一个相对比较耗时的过程缓存存在的意义:让应用程序减少对数据库的访问,提升程序运行效率MyBatis 中默认 SqlSession 缓存开启同一个 SqlSession 对象调用同一个<select>时,只有第一次访问数据库,第一次之后把查询结果缓存到 SqlSession 缓存区(内存)中缓存的是 statement 对象,简单记忆就是必须用...
2020-02-03 06:05:47
47
原创 MyBatis实现动态SQL
动态 SQL定义: 根据不同的条件需要执行不同的 SQL 命令ps: MyBatis 中动态 SQL 的实现是通过在 mapper.xml 中添加逻辑判断<if><select id="selByAccinAccout" resultType="log"> select * from log where 1=1 <!-- OGNL 表达式,直接写 key ...
2020-02-03 04:11:37
77
原创 MyBatis接口绑定及多参数传递
作用:实现创建一个接口后把 mapper.xml 由 mybatis 生成接口的实现类,通过调用接口对象就可以获取 mapper.xml 中编写的 sqlps:后面 mybatis 和 spring 整合时使用的是这个方案实现步骤创建一个接口接口包名和接口名与 mapper.xml 中<mapper>标签的namespace属性值相同接口中方法名和 mapper.xml 标...
2020-02-01 07:26:16
220
原创 MyBatis实现增删查改
实体类数据库字段名与类属性相同public class People { private int id; private String name; private int age;}增<insert id="insOne" parameterType="people"> insert into people values(default,#{name},#{...
2020-01-21 02:43:05
60
原创 parameterType&获取参数内容&别名
parameterType在XXXMapper.xml中,<select><delete><update>等标签的parameterType属性可以控制参数类型SqlSession的selectList()和selectOne()的第二个参数以及selectMap()的第三个参数都表示方法的参数示例通过id查询人员详细信息,传递的参数是整数类型,返回值类...
2020-01-20 05:08:20
1169
原创 在项目中引入Log4j日志支持
下载jar包下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/logging/log4j/2.13.0/apache-log4j-2.13.0-bin.zip将下载文件中的log4j-api-2.13.0.jar和log4j-core-2.13.0.jar导入项目在src下创建log4j.properties文件内容log4j.rootCateg...
2020-01-19 08:53:45
361
原创 MyBatis环境搭建
在IDEA中搭建WEB项目开发环境导入MyBatis所需jar包下载地址https://github.com/mybatis/mybatis-3/releases各jar包作用注意:项目所需jar包全在mybatis/lib目录下除mybatis所需jar包外还需要导入数据库驱动包创建mybatis.xml全局配置文件引入 DTD 或 Schema(保证XML文件格式正确)在IDE...
2020-01-19 03:21:31
39
原创 TomcatJDBCPool数据库连接池
数据库连接池所做工作:在内存中开辟了一块空间,存放多个数据库连接对象数据库连接池中数据库连接对象的状态active态:当前连接对象被应用程序使用中Idle空闲状态:等待应用程序使用使用数据库连接池的目的在高频率访问数据库时,使用数据库连接池可以降低服务器系 统压力,提升程序运行效率注意:小型项目不适用数据库连接池JDBC Tomcat Pool这是一个直接由 tomcat 产生...
2019-12-05 09:32:05
213
原创 在IDEA中搭建WEB项目开发环境
创建项目记得要勾选Web Application在WEB-INF目录下创建文件夹libs和classeslibs:放置项目所需的各种.jar文件classes:存放src下源文件编译后生成的类生成文件将libs和classes文件夹与项目关联设置类生成文件输出路径为刚才创建的classes文件夹设置刚才创建的libs文件夹为存放.jar文件的文件夹IEDA没有工具栏的可以按照下图开...
2019-12-05 09:32:05
135
原创 命名规范&MVC
命名规范项目名:不使用中文,无其他要求包:公司(个人)域名倒写数据访问层:dao,persist,mapper实体:entity,model,bean,javabean,pojo业务逻辑:service,biz控制器:controller,servlet,action,web过滤器:filter异常:exception监听器:listener注释:在类和方法上使用文档注释/*...
2019-12-02 04:24:57
112
原创 JSTL标签库配置与使用
在IDEA的Web项目中配置JSTL下载JSTL所需jar包官网下载地址 http://tomcat.apache.org/taglibs/standard/将所需的jar包导入工程中为需要用到的标签库在项目中配置uriJSTL标签库的使用核心标签库在JSP页面声明引入核心标签库<%@ taglib prefix="c" uri="http://java.sun.com/jsp/...
2019-12-02 02:26:05
1454
原创 EL表达式
作用:获取作用域对象中的数据注意:EL表达式获取的是pageContext、request、session、application四个对象中的数据,找到就返回数据,反之什么都不做语法:${表达式}、[]使用EL表达式获取请求数据${param.键名}:返回键名所对应的请求数据的值${paramvalues.键名}:返回一个数组使用EL表达式获取作用域数据作用域数据是通过setAtt...
2019-11-28 03:37:56
117
原创 Ajax技术
Ajax相关概念及应用场景定义:AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术,本质上是一个浏览器端的技术所涉及技术:基于web标准(standards-based presentation)XHTML+CSS的表示使用 DOM(Document Object Model)进行动...
2019-11-21 00:36:20
81
原创 Jsp基础知识二
Jsp的九大内置对象&四个作用域对象&Jsp的路径jsp的九大内置对象内置对象:jsp文件在转译成其对应的Servlet文件的时候自动生成的并声明的对象。我们在jsp页面中直接使用即可注意:内置对象在jsp页面中使用,使用局部代码块或者脚本段语句来使用。不能够在全局代码块中使用pageContext:页面上下文对象,封存了其他内置对象。封存了当前jsp的运行信息注意:每个...
2019-11-20 14:23:08
87
原创 Jsp基础知识一
注释、局部/全局代码块、脚本段语句、动静态引入、转发标签Jsp的三种注释前端语言注释会被转译,也会被发送,但是不会被浏览器执行java语言注释会被转译,但是不会被servlet执行Jsp注释不会被转译Jsp的page指令作用:配置jsp文件的转译相关的参数使用:<%@page 属性名="属性值" 属性名="属性值"...%>language:声明jsp要被转译的语言...
2019-11-20 13:36:52
108
原创 Servlet的请求转发与重定向&Cookie技术
请求转发作用:实现多个servlet联动操作处理请求,这样能避免代码冗余,让servlet的职责更加明确使用:req.getRequestDispatcher("要转发的地址").forward(req, resp);地址:相对路径,直接书写servlet的别名即可特点:一次请求,浏览器地址栏信息不改变请求转发后直接return结束即可重定向作用:解决了表单重复提交的问题,以及当前...
2019-11-20 01:40:39
197
原创 Session&ServletContext&ServletConfig
一、Session技术作用:解决了一个用户的不同请求的数据共享问题原理:用户第一次访问服务器,服务器会创建一个session对象给此用户,并将该session对象的JSESSIONID使用Cookie技术存储到浏览器中,保证用户的其他请求能够获取到同一个session象,也保证了不同请求能够获取到共享的数据使用:创建session对象/获取session对象HttpSession hs=...
2019-11-20 01:40:39
87
原创 git常用命令
git init把当前目录变成Git可以管理的仓库git add 文件名告诉Git,把文件添加到仓库git commit -m “提交说明”告诉Git,把文件提交到仓库git status掌握仓库当前的状态git diff查看differencegit log查看提交的历史记录git reset –hard HEAD^回退到上一个版本git reset...
2019-11-14 09:44:31
63
原创 Ubuntu18.04配置&美化
Ubuntu18.04配置常用软件将语言改为中文(简体)首先进入设置找到Region&Language,点击Manage Installed Languages点击Install输入用户名密码等待Applying changesInstall/Remove Languages…找到中文(简体)Chinese(simplified),点击Apply等待Applying ch...
2019-11-14 08:48:59
174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人