
Java Web
Nature_A
这个作者很懒,什么都没留下…
展开
-
MySQL优化总结(三)
先来复习一下数据库设计三范式: 第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的关系模式中实现不了。 第二范式:如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范...原创 2019-12-27 17:25:12 · 202 阅读 · 0 评论 -
MySQL优化总结(二)
varchar类型用于存储可变长字符串,是最常见的字符串数据类型。使用varchar(5)和varchar(200)存储 ‘hello’所消耗的空间是一样的,那应该怎么选择呢?答案是,选择更短的列。 更长的列会消耗更多的内存,因为MySQL通常会分配固定大小的内存块来保存内部值,尤其是使用内存临时表进行排序或操作时会特别糟糕,在利用磁盘临时表进行排序时也同样糟糕,...原创 2019-12-26 15:02:57 · 244 阅读 · 0 评论 -
MySQL优化总结(一)
MySQL支持很多种数据类型,不同的字段选择正确的数据类型对于获得高性能至关重要。几个选择数据类型的简单的原则如下。 1.尽量使用可以正确存储数据的最小数据类型,例如只需要存0-200,那么使用tinyint unsigned更好。原因在于更小的数据类型通常更快,占用更少的磁盘,内存以及CPU缓存,并且处理时需要的CPU周期也更少。 2.尽量选择...原创 2019-12-26 10:14:35 · 145 阅读 · 0 评论 -
SpringBoot集成Druid数据库连接池
有两种方式可以集成Druid。 第一种:druid-spring-boot-starter模式,官方文档:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter,用maven引入相关依赖之后,直接在yml或者properties文件里就可以配置,springboot默认是没有引入这个starte...原创 2019-07-29 11:39:55 · 3246 阅读 · 0 评论 -
JAVA I/O总结
I/O是JAVA中非常重要的一部分,几乎大部分Web应用系统的瓶颈都是I/O瓶颈。Java的I/O操作类都在包java.io下,大致可以分为以下4组。1.基于字节操作的I/O接口:InputStream和OutputStream2.基于字符操作的I/O接口:Writer和Reader3.基于磁盘操作的I/O接口:File4.基于网络操作的I/O接口:Socket前两组主要是传输...原创 2019-05-29 16:34:17 · 202 阅读 · 0 评论 -
Java异常总结
Java异常大致分为检查性异常和运行时异常。 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。 检查性异常异常 描述 ClassNotFoun...原创 2019-06-01 11:39:52 · 154 阅读 · 0 评论 -
同步与异步,阻塞与非阻塞
所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能完成,这是一种可靠的任务序列。要成功都成功,要失败都失败,两个任务的状态可以保持一致。而异步不需要等待被依赖的任务完成,只是通知被依赖的任务要完成使命工作,依赖的任务也立即执行, 只要自己完成了整个任务就算完成了。至于被依赖的任务最重是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列。我们可以用打...原创 2019-05-29 11:38:10 · 181 阅读 · 0 评论 -
JavaWeb中的编码
首先解答一个问题,为什么要编码?因为人类的语言太多,比如英语,汉语,日语等等,表示这些语言的符号太多,无法用计算机中的基本存储单元——字节(byte)来表示(一个字节,8位Bit,最多能表示0~255个),所以必须要经过一些转换,翻译,才能让计算机明白我们的语言所代表的意思。假设计算机能理解的语言是英语,那么我们说汉语的,写汉字的,必须经过翻译成英语,计算机才能理解。这个翻译的过程就是编码。现...原创 2019-05-31 17:40:32 · 243 阅读 · 0 评论 -
TCP三次握手与四次挥手
为了方便理解,我们假定主动方是客户端,被动方是服务端(1)CLOSED:起始点,在超时或者连接关闭时进入此状态。(2)LISTEN:SERVER端在等待连接时的状态,Server端为此要调用Socket,bind,listen方法,进入此状态。这称为应用程序被动打开(等待客户端来连接)。(3)SYN-SENT:客户端发起连接,发送SYN给服务器端。服务器如果不能连接,则直接进入CL...原创 2019-05-28 17:07:32 · 136 阅读 · 0 评论 -
Web请求过程简单概述
当你在使用搜索引擎的时候,在地址栏输入www.baidu.com,然后点击回车键,百度的搜索引擎首页就呈现在你的眼前,或者你在购物的时候,在地址栏输入www.taobao.com,点击回车键,淘宝的官网就呈现在你的眼前。这看似简单,而且迅速的一个过程(网速正常的情况下),实际上背后是有着怎么样的流程呢?今天我们就来了解一下。 当我们在地址栏输入www.baidu.co...原创 2019-05-22 10:13:23 · 263 阅读 · 0 评论 -
DNS域名解析
DNS域名解析,就是将URL地址解析成IP地址,这样才能在互联网中找到相应的主机,并建立连接,虽然我们平时上网的时候感觉不到DNS的存在,但是一旦DNS解析出错,那么对于互联网来说将是一场灾难,因为你就不能通过www.baidu.com来访问百度的主机了!DNS域名解析过程1.当我们在地址栏中输入www.baidu.com,并按下回车键后,首先浏览器会检查缓存中有没有这个域名对应的解析过的...原创 2019-05-25 11:41:31 · 264 阅读 · 0 评论 -
详解HTTP
HTTP协议,是B/S网络架构中的核心组成部分,全称是Hyper Text Transfer Protocol(超文本传输协议),用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。关于超文本的历史: 1963年,德特·纳尔逊(Ted Nelson)创造了术语“超文本”。1981年,德特在他的著作中使用术语“超文本”描述了这一...原创 2019-05-24 16:04:36 · 149 阅读 · 0 评论