- 博客(55)
- 资源 (4)
- 收藏
- 关注
转载 一个 TCP 连接可以发多少个 HTTP 请求
曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么?相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?要搞懂这个问题,我们需要先解决下面五个问题: 现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断...
2019-07-29 17:44:10
280
转载 @Transactional(rollbackFor = Exception.class, propagation = Propagation.XXXXXXX)
一、在声明式的事务处理中,要配置一个切面,其中就用到了propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有七种配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。默认是REQUIRED。二、Spring中七种Propagation类的事务属性详解:RE...
2019-06-21 20:27:28
2648
原创 Centos7.3系下安装JDK8--本人用的阿里云服务器
首先进入安装目录 (当前文件夹为本人自己创建的)cd /root/xxx/server/java下载jdk1.8的安装包wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.co...
2019-05-10 11:14:48
254
转载 B树、B+树、LSM树以及其典型应用场景
前言动态查找树主要有:二叉查找树、平衡二叉树、红黑树、B树、B+树。前面三种是典型的二叉查找树,查找的时间复杂度是O(log2N)与树的深度有关系,那么降低树的深度也就可以提升查找效率。这时就提出了平衡多路查找树,也就是B树以及B+树。B树和B+树非常典型的场景就是用于关系型数据库的索引(MySQL)B树B树是一种平衡多路搜索树,B树与红黑树最大的不同在于,B树的结点可以有多个子女...
2019-02-15 15:27:14
277
转载 布隆过滤器
直观的说,bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。算法:1. 首先需要k个hash函数,每个函数可以把key散列成为1个整数2. 初始化时,需要一个长度为n比特的数组,每个比特位初始化为03. 某个ke...
2019-02-14 17:27:56
188
原创 sql执行计划
引言:实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表、怎样使用索引的,因此,我们能感知到的就只有sql语句运行的时间,在数据规模不大时,查询是瞬间的,因此,在写sql语句的时候就很少考虑到性能的问题。但是当数据规模增大,如千万、亿的时候,我们运行同样的sql语句时却发现迟迟没有结果,这个时候才知道数据规模已经限制了我们查询的速度。所以,查询优...
2018-12-26 12:58:38
417
原创 Oracle的一些相关命令
-- 查看版本SELECT dbid, DB_NAME(dbid) AS DB_NAMEFROM master.dbo.sysdatabasesORDER BY dbid;-- 查看当前用户角色SELECT * FROM USER_ROLE_PRIVS;-- 查看版本信息select * from v$version; -- 查看状态 SELECT STA...
2018-11-21 14:47:10
188
原创 建表语句
oracle创建表之前判断表是否存在,如果存在则删除已有表Mysql 创建表之前判断表是否存在,如果存在则删除已有表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 DRO...
2018-11-21 12:10:08
231
原创 ORA-00906: 缺失左括号
原因: 使用PowerDesigner生成了sql脚本,在navicat下执行的时候 报了这么一个错误 . 我看网上说是类型没有指定大小.后来找到是我使用模型生成的脚本有这个问题 :constraint PK_T_CUSTOMER_ORGIN primary key clustered (ID) 这个主键的指定方式的问题 ,然后我把这个主键指定方式改成了这样:PRIMARY...
2018-11-21 11:59:47
4125
原创 Spring boot事务管理(单体架构下)
一些概念声明式的事务管理是基于AOP的,在springboot中可以通过@Transactional注解的方式获得支持,这种方式的优点是:1)非侵入式,业务逻辑不受事务管理代码的污染。2)方法级别的事务回滚,合理划分方法的粒度可以做到符合各种业务场景的事务管理。本文使用目前最常用的mybatis框架来配置springboot的事务管理机制。下面进入配置方法介绍。 sprin...
2018-11-01 10:13:48
424
原创 Spring学习-入门
Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring概述: Spring框架是一个轻量级的企业级开发的一站式解决方案.所谓的解决方案也就是说可以基于Spring解决所有J2EE开发带来的所有问...
2018-10-31 10:02:49
215
原创 常用的系统操作响应时间
操作 响应时间 打开一个网站 几秒 在数据库中查询一条记录(有缩印的情况下) 十几毫秒 机械磁盘的一次寻址 4毫秒 在机械磁盘顺序读取1MB的数据 2毫秒 在SSD磁盘顺序读取1MB的数据 0.3毫秒 在远程分布式Redis服务器读取一条数据 0.5毫秒 在内存读取1MB的数据 十几毫秒 Java程序中方法的本地方法的...
2018-10-29 11:32:19
4486
原创 内存与CPU
首先,我们对计算机的内存进行简单的了解 内存(Memory),又称内部存储器,是计算机的重要组成部分。其主要作用是进行程序的运行和程序运行过程中一些半成品数据的存储。根据不同的性能,有以下几类内部存储器:只读存储器 ROM(Read Only Memory)ROM,只读存储器,在制造ROM的时候,信息和数据就已经被存入并永久保存,这些信息只能读出,不能写入。即时在使用过程中...
2018-10-26 09:43:44
430
原创 浅析AbstractMap
AbstractMap是一个抽象类,它是Map接口的一个骨架实现,最小化实现了此接口提供的抽象函数。在Java的Collection框架中基本都遵循了这一规定,骨架实现在接口与实现类之间构建了一层抽象,其目的是为了复用一些比较通用的函数以及方便扩展,例如List接口拥有骨架实现AbstractList、Set接口拥有骨架实现AbstractSet等。下面我们按照不同的操作类型来看看Abstra...
2018-09-25 15:50:39
192
原创 浅析TreeMap
TreeMapTreeMap是基于红黑树(一种自平衡的二叉查找树)实现的一个保证有序性的Map,在继承关系结构图中可以得知TreeMap实现了NavigableMap接口,而该接口又继承了SortedMap接口,我们先来看看这两个接口定义了一些什么功能。SortedMap首先是SortedMap接口,实现该接口的实现类应当按照自然排序保证key的有序性,所谓自然排序即是根据key的co...
2018-09-25 15:47:05
359
原创 JAVA Map那点事儿
Map是一种用于快速查找的数据结构,它以键值对的形式存储数据,每一个键都是唯一的,且对应着一个值,如果想要查找Map中的数据,只需要传入一个键,Map会对键进行匹配并返回键所对应的值,可以说Map其实就是一个存放键值对的集合。Map被各种编程语言广泛使用,只不过在名称上可能会有些混淆,像Python中叫做字典(Dictionary),也有些语言称其为关联数组(Associative Array),...
2018-09-25 15:41:36
147
原创 浅析HashMap
HashMap光从名字上应该也能猜到,HashMap肯定是基于hash算法实现的,这种基于hash实现的map叫做散列表(hash table)。散列表中维护了一个数组,数组的每一个元素被称为一个桶(bucket),当你传入一个key = "a"进行查询时,散列表会先把key传入散列(hash)函数中进行寻址,得到的结果就是数组的下标,然后再通过这个下标访问数组即可得到相关联的值。...
2018-09-25 15:37:22
499
原创 Date工具类
import java.sql.Timestamp;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.apache.comm...
2018-09-25 12:44:38
477
原创 List分页
import java.util.ArrayList;import java.util.List;/** * @author ryx * @ProjectName XXXX * @Description: 对数据进行分页管理 * @date 2018/9/23 002317:08 */public class PageUtils { /** * 方法功能描述:...
2018-09-25 12:37:14
175
原创 调用Feign客户端进行单元测试
import org.junit.Assert;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.autoconfigure.web.HttpM...
2018-09-21 19:23:27
14988
2
原创 spring boot下mybatis的单元测试写法
package com.clamc.mapper;import org.junit.After;import org.junit.Assert;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.mybatis.spring.boot.test.autoc...
2018-09-21 17:39:20
6016
4
原创 POM文件详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_...
2018-09-14 09:35:35
1098
原创 Linux命令
-----------------------------------------------------重启系统:reboot例如:reboot 关机:shutdown -h now------------------------------------------------------从windows操作系统中想Linux系统中传输数据 命令 : rz ...
2018-09-14 09:32:29
284
原创 Zookepeer心得篇一:异步通信理论
为什么使用Zookepeer 伴随着大数据与云计算的告诉发展,单服务器变的越来越显单薄。相对于在单台服务器上进行开发,如何让应用多个相互独立的程序之间进行有效的系统工作成为开发运维中的一大难点。开发这样的程序必须考虑好多程序之间的协同工作问题,还要考虑好程序本身的应用逻辑。Zookepeer的设计保证了应用程序的健壮性,使得开发人员可以花费大量的时间在应用程序的设计本身上。Zoole...
2018-09-07 15:42:31
385
原创 端口号被占用
原因:多数是因为关闭了编辑器但是没有关闭应用服务器。windows下在cmd窗口中输入命令----------------------------------------netstat -ano|findstr 进程端口号(比如tomcat默认的8080等等吧) 该命令执行完之后,可以得到占用改端口号的进程的pid然后在cmd窗口中输入命令--taskkill -pid...
2018-09-05 14:41:55
139
原创 JDBC六部曲
JDBC编程的套路 JDBC是一套网络协议 首先进行准备工作 首先下载MySQL的驱动程序 这是Sun公司早年与各大数据库厂商指定的协议。 * 1.注册数据库驱动 2.获取和数据库连接对象 3.获取语句对象 4.执行SQL语句(DQL),取得结果集合对象 5.遍历结果集,取出每一条记...
2018-09-05 14:41:42
600
原创 mysql学习笔记
学习mysql数据库首先要明白mysql的基本逻辑结构: SQL定义的标准中,有这样四种隔离级别(简单点理解就是当一个事物作出修改时,在那些事物内再者事物间是可见的。但是事物的级别实际上确是很复杂的,远比想象的逻辑复杂的多):未提交读(READ UNCOMMITTED) :理解为 就算这条当前事物还没有提交,但是对其他事物也是可见的。可以读取未提交的数据势必会造成一种现象,...
2018-08-21 19:47:53
128
原创 Git命令使用
名词:取消所有修改:git clean -dfmaster: 默认开发分支origin: 默认远程版本库Index / Stage:暂存区Workspace:工作区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个Git代码库$git init#新建一个目录,将其初始化为Git代码库$gi...
2018-08-06 09:10:04
156
原创 TCP/IP协议
TCP/IP HTTP是一个应用层协议.但是HTTP并不需要关心网络通信的具体实现,而是把联网的细节交代给通用、可靠地网络通信协议TCP/IP协议来帮助实现,TCP协议提供了 1:无差错的数据传输; 2:按序传输(数据总是按照发送的顺序到达); 3:未分段的数据流(可以在任意时刻按照任意尺度将数据发送出去)因特网本身就是基于TCP/IP协议的,...
2018-08-03 17:36:40
196
原创 MYSQL数据库的使用
创建新的数据库命令:create database [IF NO EXISTS] 数据库名;用户删除指定的数据库名:drop database 数据库名;操作指定的数据库:use 数据库名;在指定的数据库下查看所有的表:show tables;查看某一张表的详细信息 有什么列 列的信息desc 表名MYSQL默认使用分号作为每一条命令的结束,规范...
2018-08-01 15:14:56
164
原创 为什么在开发时需要重写equals与hashCode
我们通常都会说重写了equal是为了比较两个对象的值是否相同,但是如果所以重写的话,即使是猪和狗两个类别的动物互相调用equal方法都可以做到相同,所以重写equals时一定要注意业务逻辑。并且重写时要遵守如下原则:1 自反性:对任意引用值X,x.equals(x)的返回值一定为true.2 对称性:对于任何引用值x,y,当且仅当y.equals(x)返回值为true时,x.equa...
2018-07-31 15:17:23
257
原创 Java抽象类
什么是抽象类: 官方: 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类...
2018-07-31 13:40:30
151
原创 rpm 和 和 yum
rpm: rpm 是由 Red Hat 公司开发的一种软件包管理方式,使用 rpm 我们可以方便的进行软件的安装、查询、卸载等工作,但是使用 rpm 命令安装 rpm 软件包,不能自己解决软件包之间的依赖性问题,需要自己一个一个去安装依赖的软件包。yum: Yum(全称为 Yellow dog Updater, Modified):是一个在 RedHat、Fedora 以及 CentOS...
2018-07-27 16:17:19
219
原创 Linux常用命令总结
linux的文件目录如下:1) bin -> usr/bin : 这个目录存放最经常使用的命令2) boot : 这个目录存放启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件3) dev: dev 是 Device(设备)的缩写, 该目录下存放的是 Linux 的外部设备,Linux 中的设备也是以文件的形式存在4) etc : 这个目录存放所有的...
2018-07-27 16:12:01
724
原创 关于IDEA下Oralce的jdbc连接工具依赖报红线的问题,但是可以正常连上库。
如下(版本):依赖报错,但是可以正常使用改动为:在到我的本地仓库看一下。11.2.0.3z这个版本显然出来问题,因为正常依赖版本下11.2.0.1.0是这样的 <dependency> <groupId>com.oracle</groupId> <artifactId&g...
2018-07-26 18:01:23
1159
原创 IDEA的自定义注释
首先我的注释为(每个人需要的不一样,不同的可以自己配置)类级别的注释为:/** * * @Description: * @Author: ryx * @Date: $date$ $time$ */方法注释为:/** * * 方法功能描述: * * @param: $param$ * @return: $return$ * @author: $user$...
2018-07-25 19:24:25
189
原创 关于使用mybatis时逆向工程()
首先需要在pom.xml中添加build插件与dependency依赖dependency依赖如下: <!-- mybatis 下generator生成工具依赖包--> <dependency> <groupId>org.mybatis.generator</groupId> ...
2018-07-25 19:07:15
1005
转载 怎样解决IntelliJ IDEA git操作报403的错误?
https://jingyan.baidu.com/article/6c67b1d6b683942786bb1e56.html
2018-07-24 16:56:43
4000
git启动文件彩蛋
2018-09-23
IDEA使用问题
2018-07-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人