自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(197)
  • 资源 (2)
  • 收藏
  • 关注

原创 VUE安装-使用nmp安装中国的nmp-淘宝cnmp报错

VUE安装

2021-12-28 09:04:22 489

转载 union all和union的区别

union all和union的区别

2021-12-22 11:42:11 987

原创 idea集成tomcat启动时控制台乱码

解决方案:步骤一. 在idea中,打开Help->Edit Custom VM Options...,在文件结尾处添加-Dfile.encoding=UTF-8(看到有博文说在idea的安装路径下找到bin/idea.exe.vmoptions和bin/idea64.exe.vmoptions追加-Dfile.encoding=UTF-8,但idea启动时似乎不是加载安装路径下的vmoptions文件,而是C:\Users\XX \.IntelliJIdea\config的.exe.vm.

2021-12-10 10:38:29 422

转载 Vue-Expected space or tab after ‘//‘ in comment

在使用vue的时候,各种报错,找了很久,改了多遍,也解决不了问题。原来eslint是一个语法检查工具,但是限制很严格,在我的vue文件里面很多空格都会导致红线(红线可以关闭提示),虽然可以关闭,但是在编译的时候老是会跳出来,所以能关闭是最好的了。关闭方法:在build/webpack.base.conf.js文件中,注释或者删除掉:module->rules中有关eslint的规则:然后再重新运行一下npm run dev或者构建命令 npm run build就可以啦...

2021-04-12 17:39:37 660

转载 【Java面试题】请求重定向与请求转发区别

【Java面试题】sendRedirect()重定向和forward()转发有什么区别?前言在Servlet中有forward()方法,response对象有sendRedirect()方法,但是其实在JSP的内置对象中也有这两个对象,因此不管在Servlet或者JSP中其实他们的区别是一样的,只是JSP第一步需要翻译成Servlet。区别如下图所示为forward方法的过程:首先浏览器向服务器发送请求,当在使用forward方法的时候是将请求发给另外一个servlet让他来处理,之后将

2021-04-09 16:44:36 201

转载 SpringBoot注解最全详解(整合超详细版本)

使用注解的优势:1.采用纯java代码,不在需要配置繁杂的xml文件2.在配置中也可享受面向对象带来的好处3.类型安全对重构可以提供良好的支持4.减少复杂配置文件的同时亦能享受到springIoC容器提供的功能一、注解详解(配备了完善的释义)------(可采用ctrl+F 来进行搜索哦~~~~)@SpringBootApplication:申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configurati...

2021-04-07 08:35:22 312

转载 Java不同压缩算法的性能比较

本文将会对常用的几个压缩算法的性能作一下比较。结果表明,某些算法在极端苛刻的CPU限制下仍能正常工作。文中进行比较的算有:JDK GZIP ——这是一个压缩比高的慢速算法,压缩后的数据适合长期使用。JDK中的java.util.zip.GZIPInputStream / GZIPOutputStream便是这个算法的实现。 JDK deflate ——这是JDK中的又一个算法(zip文件用的就是这一算法)。它与gzip的不同之处在于,你可以指定算法的压缩级别,这样你可以在压缩时间和输出文件大小上进

2021-04-02 17:16:28 816

原创 netty-实现同步socket示例

1、说明项目需要,需要实现一个socket同步请求的客户端,恰逢之前研究过netty,虽然netty的线程模型本身不适合同步、阻塞通信用,但是也懒得写OIO了,就用它直接实现了一下,有需要的同学可以使用,有什么问题还请留言指正。2、代码封装的被应用层调用的工具类package com.mzj.netty.protocol.decoder._03_LengthFieldBasedFrameDecoder.json;/** * @Auther: mazhongjia * @Date:

2021-04-01 17:48:18 849

转载 Redis-缓存更新思路

缓存更新思路来自:https://blog.csdn.net/qq_41489540/article/details/113744700

2021-03-31 17:25:20 100

转载 java int转byte数组

int 转 byte[]低字节在前(低字节序)public static byte[] toLH(int n) { byte[] b = new byte[4]; b[0] = (byte) (n & 0xff); b[1] = (byte) (n >> 8 & 0xff); b[2] = (byte) (n >> 16 & 0xff); b[3] = (byte) (n >> 24 & 0...

2021-03-31 14:23:51 3955

转载 redis-LRU、LFU、FIFO算法总结

一、概述(1)FIFO:First In First Out,先进先出(2)LRU:Least Recently Used,最近最少使用(3)LFU:Least Frequently Used,最不经常使用二、FIFOFIFO表示先进先出,类似于对列,在数据的结构上使用对列来实现。结构图:1. 新访问的数据插入FIFO队列尾部,数据在FIFO队列中顺序移动;2. 淘汰FIFO队列头部的数据;三、LRULRU表示很少使用算法,其核心思想是“如果数据最近被访问过,那么将来被访

2021-03-23 09:01:43 595

转载 redis-一看就懂系列之 详解redis的bitmap在亿级项目中的应用

本文来自:https://blog.csdn.net/u011957758/article/details/74783347前言这是一篇拖了很久的总结,项目中引入了redis的bitmap的用法,感觉挺高大上的,刨根问底,故留下总结一篇当作纪念。说清楚几个问题:1.bitmap的原理、用法。2.bitmap的优势、限制。3.bitmap空间、时间粗略计算方式。4.bitmap的使用场景。5.使用bitmap过程中可能会遇到的坑。6.bitmap进阶用法(思考)。bitmap的原理、

2021-03-17 11:36:07 608

原创 Redis-缓存雪崩,缓存穿透,缓存击穿出现的原因及解决方案、补充无底洞问题

缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 缓存雪崩出现过程假设有如下一个系统,高峰期请求为5000次/秒,4000次走了缓存,只有1000次落到了数据库上,数据库每秒1000的并发是一个正常的指标,完全可以正常工作,但如果缓存宕机了,或者缓存设置了相同的过期时间,导致缓存在同一时刻同时失效,每秒5000次的请求会全部落到数据库上,数据库立马就死掉了,因为数据...

2021-03-16 15:20:52 643

转载 Redis-避免缓存穿透的利器之BloomFilter(布隆过滤器)

Bloom Filter 概念布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。1、是什么它实际上是一个很长的二进制向量和一系列随机映射函数。2、能干什么布隆过滤器可以用于检索一个元素是否在一个集合中。3、优点它的优点是空间效率和查询时间都远远超过一般的算法4、缺点缺点是有一定的误识别率和删除困难。Bloom Filter 原理布隆过滤器的原理是,当一个元素被加入集合时,通过K个散列函数将这个元素映射成一个位数组中的K个点,把它们

2021-03-16 14:32:51 379

原创 centos7 之 已有分区扩容

图片中可以看到挂载点“/”的利用率移到100%,空间不够,所以要对其进行分区。1. 先进入虚拟机设置里增大磁盘空间注意:将25改成50,以扩大空间。这里一定要写比25大的数,因为他是“增加到”50GB,而不是“增加了25GB”2. 下图可以看到,硬盘空间增大为53.7GB,在设备那里可以看到有两个分区,sda1跟sda2(请忽略sda3)。接下来增加一个分区。键入命令:fdish/dev/sda键入:m(获取帮助)键入:n (增加分区)键入:p(增...

2021-02-02 16:52:13 4564 1

原创 Linux 之 centos7一个网卡设置多个IP

1、vi /etc/sysconfig/network-scripts/ifcfg-ens332、设置3、service network restart重启

2021-01-30 11:12:58 1025

原创 CentOS7在线安装gcc

CentOS7在线安装gcc一.在线安装gcc(需要可以连接到互联网)在虚拟机VMware Workstation 安装CentOS7后,系统是没有gcc的。 进入系统根目录[root@localhost ~],输入命令:yum -y install gcc gcc-c++ kernel-devel //安装gcc、c++编译器以及内核文件就会自动进行在线安装。完成后输入命令: [root@localhost ~]#gcc --help出现gcc命令帮助时,即安装正确。二、手动

2021-01-19 13:37:10 1304 1

转载 性能测试:TPS和QPS的区别

做测试,ps、jps、tps、qps、rps、hps,你理解几个?一、TPSTPS:Transactions Per Second,意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。以单接口定义为事务为例,每个事务包括了如下3个过程:  a.向服务器发请求  b.服务器自己的内部处理(包含应用服务器、数据库服务器等)  c.服务器返回结果给客户

2020-12-23 14:23:38 1000

原创 java内嵌浏览器的几种方式

https://blog.csdn.net/everythingatonce/article/details/84991689推荐:jxBrowser

2020-12-07 10:58:37 988

转载 最新Java面试题,常见面试题及答案汇总

原文地址:https://blog.csdn.net/fangchao2011/article/details/892035351、面试题模块汇总面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。如下图所示:可能对...

2020-10-14 10:01:33 435

原创 netty 之 异步处理双子星io.netty.util.concurrent.Future与io.netty.util.concurrent.Promise

一、JDK的java.util.concurrent.Future从这个类的注释中,我们可以了解到:Future 类就是代表了异步计算的结果,这个接口的主要方法就是检查计算是否已完成,等待计算,然后返回计算结果。当计算完成后,结果只能通过get方法返回;如果有必要会堵塞直到它计算完成。可以通过cancel方法取消。增加的方法来判断任务是否正常完成或者被取消。一旦计算已经完成,计算不能被取消。如果你想要使用Future 来取消,但是不提供一个可用的结果,你可以声明Futrue 的类型

2020-09-30 15:29:19 3661

原创 2020-09-30 idea会出现cannot download sources的情况

有时候idea会出现cannot download sources的情况,如下图解决办法如下:打开idea右下角的terminal在里面输入mvn dependency:resolve -Dclassifier=sources如下图所示:然后回车稍等片刻:看到Build success 说明成功然后我们点击choose sources,选中要导入的sources包,点击ok,再重新点击download sources,就可以看到源码了。...

2020-09-30 10:26:17 196

转载 netty 之 耗时任务DefaultEventExecutorGroup 定时任务

一. 耗时任务static final EventExecutorGroup group = new DefaultEventExecutorGroup(16); // Tell the pipeline to run MyBusinessLogicHandler's event handler methods // in a different thread than an I/O thread so that the I/O thread is not blocked by // a ti

2020-09-30 08:48:18 2212 1

原创 netty 之 Pipeline的事件传播机制

一、说明ChannelPipeline的默认实现DefaultChannelPipeline中的双向链表中元素AbstractChannelHandlerContext中有inbound与outbound两个属性,用于标识Context中handler类型。看ChannelPipeline接口注释:1、由上图可以看出,inbound事件与outbound事件,在Pipeline中经过的Context(handler)流向是相反的:inbound事件(read,只经过inboundhand

2020-09-28 16:18:26 757 1

原创 netty 之 NioEventLoopGroup与Reactor线程模型

一、说明在我的《netty 之 高性能原因(理论)》一文中介绍了Reactor线程模型,其中常见的Reactor线程模型有三种,分别如下:Reactor单线程模型; Reactor多线程模型; 主从Reactor多线程模型;Netty是典型的Reactor模型结构,而应用Java NIO构建Reactor模式,Doug Lea(就是那位让人无限景仰的大爷)在“Scalable IO in Java”中给了很好的阐述(网址:http://gee.cs.oswego.edu/dl/cpjslide

2020-09-26 08:22:25 440

原创 logback指定配置文件位置

package com.kedong.hmi.pictureeditor.core.gdiclient.aop.logging;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.util.Date;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import ch.qos.logback.classic..

2020-09-22 09:53:36 3159 1

原创 netty 之 源码分析 之 服务端启动过程分析

XXX

2020-09-19 12:27:43 298

原创 java实现将二进制文件转换成字节文本,再将字节文本转换成二进制文件

一、说明今天,项目现场提出这样一种需求:项目中,将项目文件打成zip包进行发布时,由于安全机制的限制,不允许发布二进制文件,因此需要将.zip格式的二进制文件encode成文本文件,再将文本文件上传后decode成.zip格式。二、直接上代码1、首先上传统IO实现方式package com.kd.pictureeditor.codec;import java.io.File;import java.io.FileInputStream;import java.io.FileOutp

2020-09-17 16:40:08 4424 3

原创 netty 之 源码分析 之 客户端启动过程分析

netty官网官网:https://netty.io/github项目托管地址:https://github.com/netty/netty1、说明package com.mzj.netty.mynettysrc;import io.netty.bootstrap.Bootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.soc

2020-09-09 17:01:53 724

原创 netty 之 高性能原因(理论)

一、说明网络通讯的高性能源自以下方面的设计细节1、I/O传输模型用什么样的通道将数据发送给对方,是BIO、NIO还是AIO,I/O传输模型在很大程度上决定了框架的性能。2、数据协议用什么样的通讯协议,是HTTP,还是内部私有协议。协议的选择不同,性能也就不同,一般来说内部私有协议比公有协议的性能更高。3、线程模型线程模型涉及如何读取数据包,读取之后的编解码在哪个线程中进行,编解码后的消息如何派发等方面。线程模型设计不同,对性能也会产生非常大的影响。二、Netty高性能原因

2020-09-05 15:48:07 1396

原创 jdk8 sun包源码下载 与 idea 设置源码

一、说明平时学习与实际工作中我们一般安装的jdk都是SunJDK(OracleJDK),它只提供java和javax下的源代码,默认情况下IDEA会自动导入这两部分源码,供我们需要是查看:但是,如果我们需要查看sun包下的源码,默认时是没有的,比如:sun.nio.ch.DefaultSelectorProvider这样做因为sun包是hotspot虚拟机中java.* 和javax.*的底层实现。因为包含在rt中,所以我们也可以调用。但是因为不是sun对外公开承诺的接口,所以根据实现的需要

2020-08-29 12:30:02 4535

原创 slf4j 之 java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log异常

1、说明最近在项目遇到如下问题:我们公司一直运维的产品主干版是传统的java工程项目,使用主干版开发新项目(以下简称模型维护工具)时部分工程单独建立的maven项目(以下简称gdiclient),maven项目打成jar包被主干版项目所使用,使用过程中发现同事笔记本运行模型维护工具时抛出如下异常:java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String

2020-08-25 11:32:13 1565

原创 Linux 之 文件查找

find ./ name | grep XXX

2020-08-24 17:06:34 83

原创 五种网路通讯IO模型

一、说明1.阻塞 同步阻塞 请求响应2.非阻塞 同步非阻塞 过一会问一下,没数据前可以干别的3.多路复用 伪异步( 同步)阻塞 没有之前阻塞,有数据读取4.信号驱动 伪异步(同步)非阻塞,没有之前干别的,有数据读取5.异步 异步非阻塞二、概念区分1、同步和异步看请求的数据是需要用户线程主动去系统内核获取的还是由操作系统直接从内核空间内存拷贝到用户空间内存的,前面四中io模型都是主动获取,只有异步io模型是被动通知的2、阻塞和非阻塞看调用线程是都被挂起,如果不管有没有结果都立.

2020-08-23 09:14:25 363

转载 sql之left join、right join、inner join的区别

union、union all的区别跳转https://www.cnblogs.com/logon/p/3748020.htmlSQL JOINS:Please refer the link :https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins如图:left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) 返回包括...

2020-08-19 17:40:06 93

原创 gitlab设置某个项目添加某个用户可以编辑权限

现在我们来设置我们GitLab上的SSH:1、某人需要登陆gitlab,需要首先自己注册账号2.首先我们在git中使用‘’$ ssh-keygen -t rsa -C ‘xxx@email.com’.然后会有让你设置密码的几条语句,我们直接按回车设置成空,然后它会返回一个图(我也不知道有什用),在图上面你能找到一个文件.ssh的地址,然后在你的电脑上找到这个地址,然后打开里面的公钥文件复制。3.使用个人账号登陆自己的GitLab网页,进入个人设置的settings选项通过下面的操作添加自

2020-08-18 12:04:02 5290

原创 git比较本地仓库和远程仓库的差异并更新本地仓库(实践版)

当我们在多台电脑上进行同一个项目时,经常需要修改提交内容然后在另外一台电脑上进行更新。今天看了一下如何从远程代码仓库获取更新到本地。1、查看本地仓库对应的远程分支git remote -v 可以查看远程仓库分支2...

2020-08-18 11:46:47 30657 3

原创 redis 之 两种持久化方式

持久化配置Redis 提供了两种不同的持久化方法来将数据存储到硬盘里面。这两种方法可以单独使用,也可以同时使用。一种方法叫快照,它可以将某一时刻 Redis 的所有数据写入硬盘。它的相关配置有:# 多久执行一次自动快照操作save 60 1000# 在创建快照失败后是否仍然继续执行写命令stop-writes-on-bgsave-error no# 是否对快照文件进行压缩rdbcompression yes# 快照文件的名称dbfilename dump.rdb另一种方法叫只

2020-08-15 12:24:33 158

原创 redis 之 常用控制台命令

文章目录 Redis 介绍 Redis 特点 Redis 优势 Redis 连接 Redis 服务 数据结构 字符串(String) 散列(Hashes) 列表(List) 集合(Set) 有序集合(Zset) Key 相关命令 Redis 发布订阅 Redis 事务 Redis 配置文件 redis.conf Redis 密码设置 本篇文章已保存到GitHub上,欢迎下载。Redis 介绍Redis...

2020-08-15 12:21:30 3957

原创 分布式锁 之 数据库实现

一、基于数据库实现1、方案1:基于数据库唯一性约束实现说明:可以基于数据库唯一键特性实现分布式锁。步骤1:建表 CREATE TABLE `methodLock` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `method_name` varchar(64) NOT NULL DEFAULT '' COMMENT '锁定的方法名', `desc1` varchar(1024) NOT NULL DEF

2020-08-14 14:18:08 132

JAVA加密算法实现总结

JAVA加密算法实现总结JAVA加密算法实现总结

2009-08-04

extjs grid视频源码

extjs grid控件的视频源码,非常好的资源!个人收藏中。

2009-07-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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