自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翻译 列式存储快的原因

https://www.jianshu.com/p/54aeaeb7eff0

2020-05-27 20:18:17 32 0

原创 二叉树DFS和BFS遍历

https://blog.csdn.net/Gene1994/article/details/85097507 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val =...

2020-03-18 16:36:29 69 0

原创 Spring为什么是单例的?如何保证线程安全?

单例的好处: 1 减少请求时候创建对象的开销,提升性能 2 减少jvm垃圾回收 单例的坏处: 1 对于有状态的变量可能会造成线程安全问题,因为只有一个实例,如果操作的是有状态的全局变量,多个线程之间可能会操作同一个变量和对象导致线程不安全问题 多例的好处: 1 线程安全,每个请求过...

2020-03-17 14:49:45 631 0

原创 JAVA并查集算法

https://blog.csdn.net/qq_42011541/article/details/83378709

2020-03-09 16:12:52 145 0

原创 HTTPS通俗易懂

https://www.wosign.com/News/httpsjiami_20180817.htm 亲测,通俗易懂

2020-03-02 17:24:55 116 0

原创 mysql数据库实时集群和备份

前言:最近由于业务需要,需要搭建高可用和支持实时备份和恢复,本来想直接采用公司的数据库服务。无奈公司没有资源,所以就搞了几台Linux主机自己搭建啦。(里面涉及的文件、配置、脚本代码我都贴到附件了) 过程: 一 购买云主机 二 搭建Mysql数据库,首先你需要需要删除干净本机的原先数...

2019-08-31 16:32:07 600 0

原创 Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat

Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimi...

2019-05-02 23:51:21 2627 1

转载 利用docker安装redis,并且自定义配置运行

https://segmentfault.com/a/1190000014091287 博客垃圾文章太多,上面亲测有效

2019-04-10 21:43:28 498 0

翻译 linux上把可执行的java jar包如何用docker打成镜像运行

https://blog.csdn.net/wcuuchina/article/details/85767094

2019-04-09 23:20:31 770 0

原创 TCP 流量控制和拥塞控制

TCP 流量控制和拥塞控制   TCP的流量控制 — 滑动窗口   发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。 为什么要设置窗口? 我们可以把窗口理解为缓冲区。 如果没有这些“窗口”,那么TCP每发...

2019-01-25 17:29:14 372 0

原创 TCP拆包和黏包的过程和解决

TCP拆包和黏包的过程和解决 粘包、拆包解决办法 通过以上分析,我们清楚了粘包或拆包发生的原因,那么如何解决这个问题呢?解决问题的关键在于如何给每个数据包添加边界信息,常用的方法有如下几个:   1、发送端给每个数据包添加包首部,首部中应该至少包含数据包的长度,这样接收端在接收到数据后...

2019-01-25 17:27:01 337 0

原创 常见的状态码

Http常见的状态码 1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码。 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。   2xx (成...

2019-01-25 15:33:57 66 0

原创 Java和Vue导出Excel表格

本文主要是记录一下最近写前后台导出excel花费的一些心得。 前台: 通过一个同步的请求,同步等待数据,拿到数据以后,构建blob( new Blob)下载excel 后台:利用java pio读取Excel,配合java反射,写了一个万能的excel导出模板,只要设置表头一个数组,和你的数据...

2018-11-19 20:43:00 4981 16

原创 Git不小心commit了很大的文件怎么办?

前言:   大家使用git不知道有没有一个习惯,基本就是     一套 df 二连 素质三连:   1 git add .    2 git commit -m  3 git pull  4  git  push 拉闸,不小心commit了超过10M的文件,拉闸。 出现了一个错误。  Th...

2018-11-12 10:39:55 2424 0

原创 快排为什么一定要从右边开始?

今天刚好同事问了下,为什么以前背的快排一定要从右边开始?刚好也顺便给大家做个总结。   其实快排没有一定要重右边开始,只是看你基数的位置,如果你基数选的是最左边的。你一定要确保,你交换基础的时候,保证那个数要小于基数。但是你重右边开始,就无法保证了。   比如你有 2 1 4 9    ...

2018-11-03 12:44:25 1674 0

原创 分页查询最后几个页面耗时优化

背景 上海项目,148w的poi,查询最后几页时竟然耗时如此严重? 接近20s。然而前两页的查询性能很快。   优化思路 网上的优化思路https://www.cnblogs.com/lpfuture/p/5772055.html,拿来测试一下。 确实优化了很多。 但是,还有优...

2018-11-01 14:23:06 1439 0

原创 自定义数据结构设计JDBC连接池提高性能

  // 后面贴上源码 之前写一个小工具,发现了一个问题,发现部署到云计算上面,由于需要操作其他环境的数据库,发现获取66   175环境的获取连接非常缓慢。 通过打印日志,然后部署到服务器,发现获取175环境的数据库连接池居然要6s?? 获取66环境需要3s 显然不合理?   一个查询...

2018-11-01 14:11:23 153 0

原创 简单的给大家说一下mysql建库建表的字符集和排序规则

直说重点 字符集  一般就 utf8  和utf8mb4的选择 注意,请选择utf8mb4, mb4是用4个字节来存的。utf8是3个字节,有些特殊表情和字是四个字节,就会insert错误。 另外字符集 utf8_bin    utf8_general_ci    utf8_general_...

2018-10-10 10:24:24 2433 2

转载 tomcat底层工作原理

Tomcat (1)Tomcat中只有一个Server,一个Server可以有多个Service,一个Service可以有多个Connector和一个Container;  (2) Server掌管着整个Tomcat的生死大权;  (4)Service 是对外提供服务的;  (5)Conne...

2018-09-06 17:42:29 1563 0

原创 如何保证数据库集群时候,主从库一致性的问题?

前言:   数据库集群,读写分离现在可以说是项目必备的了,但是我们如何保证其每个数据库的数据一致性?  1 半同步复制   简单的说就是: 主库发生增删改操作的时候,会等从库及时复制了并且通知了主库, 才会把这个操作叫做成功.   优点:保证数据一致性   缺点:就是会慢 专业的讲: ...

2018-09-06 15:23:14 11476 3

原创 总结一下个人使用的IDEA快捷键

因为自己在公司用的是windows本 回家用的是mac本 所以打算给大家慢慢总结两个操作系统的idea快捷键: windows:  F1,帮助 千万别,很卡! F2,或 Shift+F2,高亮错误或警告快速定位 F3,向下查找关键字出现位置 F4,查找变量来源 F5,拷贝文件快捷方...

2018-09-06 11:17:03 126 0

原创 innoDB、myisam、memory、BlackHole以及这几个引擎的讲解

innoDB存储引擎 (1) innodb存储引擎的mysql表提供了事务,回滚以及系统崩溃修复能力和多版本迸发控制的事务的安全。 (2)innodb支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空的话怎会进行自动存现有的值开始增值,如果有但是比现在的还...

2018-08-20 23:36:19 156 0

原创 group by  /having / where 区别

where过滤无法做到,因为where语句的执行在分组之前,因此过滤在分组之前。并且,where只能过滤行,不能过滤分组。(where中不能使用聚合函数)   having可以对group分组的结果集进行过滤,因其执行在分组之后,并其过滤可以基于分组聚集值。(having子句中可以直接使用聚合...

2018-08-20 23:35:15 123 0

原创 什么是存储过程?用什么来调用?

答:存储过程是一个预编译的SQL语句,比如一些场景的sql比较复杂,并且需要经常使用或者多次使用的。存储过程的优点是说只需创建一次编译一次,以后在该程序中就可以多次直接调用。如果一个sql是经常需要操作的,并且逻辑不容易改变,使用存储过程比单纯SQL语句执行要快,因为sql每次查询而且都需要编译。...

2018-08-20 23:34:24 7003 0

原创 Java简单的死锁代码

public class DeadLock {     public static String obj1 = "obj1";     public static String obj2 = "obj2";     public static void ma...

2018-08-13 20:18:33 4171 0

原创 高并发编程 volatile 和 加锁 解决缓存不一致

因为程序执行都在cpu中,但是如果没有高速缓存,cpu大部分的时间都用来了读取内存的数据。 从而Cpu有 高速缓存,在运行指令前,会把相关需要的数据提前拷贝到cpu,运算完成后在刷回内存里。   高速缓存主要提前缓存数据到cpu,等cpu运算完成后把结果返回给主存   I = 0 比如...

2018-08-12 13:19:39 333 0

原创 数据结构之哈夫曼树

讲一下什么是哈夫曼树。 哈夫曼树简称带权路径最小。 构建: 构建过程非常简单  1 3 5 10 12 18 25 (排好顺序了  没排的第一步排序) 然后取两个最小的数构建 原序列变成 4 5 10 12 18 25 然后在取最小的两个数构建 9 10 12 18 25 再取 19...

2018-08-09 00:29:14 197 0

转载 spring boot actuator和spring boot admin

https://blog.csdn.net/kkgbn/article/details/56488744

2018-08-05 22:04:12 267 0

原创 AMQP协议介绍

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 AMQP在消息提供者和客户端的行为进行了强制规定,使得不同...

2018-08-05 21:37:10 107 0

原创 kafka

Kafka是常见的一种消息中间件   是一个具有高吞吐量的分布式发布消息和订阅消系统。   有以下一些专业术语 Broker  经纪人(服务器) Kafka可以做集群,其中每一个服务器就叫做一个broker   Topic 主题(类别) Kkfka的消息是有类别的,这个类别叫To...

2018-08-05 21:33:36 50 0

原创 RPC 协议 Remote process call 远程过程调用

RPC信息协议由两个不同结构组成:调用信息和答复信息。 简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另  一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。 RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯) RPC 是一...

2018-08-05 21:32:53 342 0

原创 HTTP简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。   HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 ...

2018-08-05 21:32:11 60 0

原创 什么是CDN?有什么用?

        CDN的全称是内容分发网络,比如我们客户端向服务器请求一个数据,当这个数据很大,请求频繁,而且服务器距离客户端很远这样是不是很浪费资源,浪费大量的带宽,严重时候还会造成网络阻塞。而且这样响应时间非常慢。        CDN主要由负载均衡,和高速缓存服务器组成。其中分为中心部分和...

2018-08-05 21:31:41 2317 0

原创 线程间的通信

  https://www.cnblogs.com/hapjin/p/5492619.html 通常可用把并行程序理解为一组相互独立的、能够发关和接收消息的组件,这也称为角色模型(ActorModel),在维基百科上可找到更正式的解释 http://en.wikipedia.org/wiki/...

2018-08-05 21:30:52 81 0

原创 孤儿进程 僵尸进程 守护进程

  孤儿进程:        当父进程A fork方式出子进程 B,一般情况下是父进程的寿命比子进程的长,但是这时候父进程突然停止了。这时候子线程B 就没有了父亲,就由init进程托管(也就是id为1的进程),然后它就成了孤儿进程。但是孤儿进程不占用内存空间,不危害系统   僵尸进程: ...

2018-08-05 21:30:27 70 0

原创 Http常见的状态码

Http常见的状态码     1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码。 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。   ...

2018-08-05 21:29:36 82 0

原创 kafka和rabbitmq的最大区别是

  Kafka是严格保证了消息队列的顺序,就是一个topic下面的一个分区内只能给一个消费者消费,对于一个分区来说,kafka是不支持并发,但是可以通过扩大分区实现并发   Rabbitmq 不承诺消息的顺序性,因此可以并发多线程处理。在队列中不必排队。如果对处理的顺序没有要求,就可以用Ra...

2018-08-05 21:28:47 8335 0

转载 spring cloud sleuth zipkin 最快部署

最快部署 https://blog.csdn.net/fishinhouse/article/details/80203597

2018-07-31 09:18:08 147 0

原创 讲讲数据库字段用了关键字怎么办

今天我就用了数据库的关键字,也就是保留字。我们应该在保留字加上 `` 也就是键盘esc那两个点。这样mysql就可以识别了、、 就这么简单 <insert id="insert" useGeneratedKeys="true" keyP...

2018-07-23 15:36:57 1696 0

原创 简单的讲讲SCP文件长传下载命令

-r 代表递归  就是文件夹  v代表显示进度1、从本地将文件传输到服务器scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】scp /Users/mac_pc/Desktop/test.png root@192.168.1.1:/root2、从本地将文件夹传输到服...

2018-07-14 15:27:37 143 0

提示
确定要删除当前文章?
取消 删除