自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KHOST的博客

记录自己的学习历程,大部分来自转载,如有侵权联系删除.......

  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 缓存穿透、缓存击穿和缓存雪崩实践

我们使用缓存的主要目是提升查询速度和保护数据库等稀缺资源不被占满。而缓存最常见的问题是缓存穿透、击穿和雪崩,在高并发下这三种情况都会有大量请求落到数据库,导致数据库资源占满,引起数据库故障。今天我主要分享一下layering-cache缓存框架在这个三个问题上的实践方案。概念缓存穿透在高并发下,查询一个不存在的值时,缓存不会被命中,导致大量请求直接落到数据库上,如活动系统里...

2019-10-23 21:04:20 182

原创 感受 Lambda 之美

一、引言java8最大的特性就是引入Lambda表达式,即函数式编程,可以将行为进行传递。总结就是:使用不可变值与函数,函数对不可变值进行处理,映射成另一个值。二、java重要的函数式接口1、什么是函数式接口函数接口是只有一个抽象方法的接口,用作 Lambda 表达式的类型。使用@FunctionalInterface注解修饰的类,编译器会检测该类是否只有一个抽象方法或接口,否则,...

2019-10-23 21:03:12 165

原创 批量测试Mybatis项目中SQL是否正确

去Oracle行动最近公司要发展海外项目,所以要将现有的系统全部平移过去,另外数据库也要从原来的Oracle变为Mysql。公司的数据库交互层面使用的是Mybatis,而Oracle与Mysql也有一些语法上的不同。所以在项目中的Sql要改动,但是多个项目中涉及到的Sql非常多,如果仅凭人工一条一条辨别的话,工作量有点大。所以就萌发出了直接将数据源变为Mysql,利用反射批量执行Mappe...

2019-10-23 21:02:13 343

原创 短URL服务的设计以及实现

前言想必大家也经常收到垃圾短信吧…短信中的链接一般都是短链接,类似于下图这样:为什么这里面的url都是短的呢?有什么好处呢?怎么做到的呢?短url的好处有: 短. 短信和许多平台(微博)有字数限制,太长的链接加进去都没有办法写正文了. 好看. 比起一大堆不知所以的参数,短链接更加简洁友好. 方便做一些统计.你点了链接会有人记录然后分析的. 安全....

2019-10-23 21:01:38 226

原创 Mybatis 中$和#千万不要乱用!

开头这是一次代码优化过程中发现的问题,在功能优化后发现部分数据查不到出来了,问题就在于一条sql上的#和$。下图为两条sql:从图上可以看出 wwlr.LabelId in(${showLabels}) 和 wwlr.LabelId in(#{showLabels}),其中showLabels是传进来一个字符串类型的参数,参数的样子是这样的“4,44,514”,问题就出在这个参数传...

2019-10-23 20:50:21 266

原创 如何自己手写一个热加载(附源码)

热加载:在不停止程序运行的情况下,对类(对象)的动态替换Java ClassLoader 简述Java中的类从被加载到内存中到卸载出内存为止,一共经历了七个阶段:加载、验证、准备、解析、初始化、使用、卸载。接下来我们重点讲解加载和初始化这两步加载在加载的阶段,虚拟机需要完成以下三件事: 通过一个类的全限定名来获取定义此类的二进制字节流 将这个字节流所代表的...

2019-10-23 20:32:52 887

原创 chrome开发者工具各种骚技巧

曾经,在线调伪类样式困扰过你? 源代码快速定位到某一行!ctrl + p 联调接口失败时,后台老哥总管你要response? 你还一层层展开dom?Alt + Click 是不是报错了,你才去打断点? 你是不是经常想不起来,在哪绑定事件的? 你是不是打断点时还要去改代码? 看dom层级的最直观的方式? 查一些特定的...

2019-10-13 19:45:14 162

转载 Java 网络爬虫

说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少。有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如 webmagic 。我的第一份正式工作就是使用 webmagic 编写数据采集程序,当时参与了一个舆情分析系统的开发,这里...

2019-10-13 19:44:19 319

原创 基于windows平台的SVN教程。

作者:东风化宇 来源:http://1t.click/akvN# SVN工作原理SVN(SubVersion)的基本工作思路是这样的:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序,由源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地(Checkout),然后用户可以在本地任意修改,最后用svn...

2019-10-13 19:43:23 301

原创 java-socket长连接demo体验

一、前言最近公司在预研设备app端与服务端的交互方案,主要方案有: 服务端和app端通过阿里iot套件实现消息的收发; 服务端通过极光推送主动给app端推消息,app通过rest接口与服务端进行交互; 服务端与app通过mqtt消息队列来实现彼此的消息交互; 服务端与app通过原生socket长连接交互。 虽然上面的一些成熟方案肯定更利于上生产环境,但它...

2019-10-13 19:38:52 393

原创 理解Java并发底层之AQS实现

jdk的JUC包(java.util.concurrent)提供大量Java并发工具提供使用,基本由Doug Lea编写,很多地方值得学习和借鉴,是进阶升级必经之路本文从JUC包中常用的对象锁、并发工具的使用和功能特性入手,带着问题,由浅到深,一步步剖析并发底层AQS抽象类具体实现名词解释1 AQSAQS是一个抽象类,类全路径java.util.concurrent.locks.A...

2019-10-13 19:36:41 203

原创 XSS Payload绕过云锁学习

前言对于我这个菜鸟来说,我通过谷歌百度学习到很多前辈的资料,甚至每句话都是他的指导,我也很感激前辈的为我们铺设的道路,让我们更快的成长起来。我也乐于分享,可能有些知识点过于单调或者久远,请见谅。WAF前几天花了10买了一个月的服务器,换个WAF来测试。Bypass遗漏标签就不测试了,上一篇水文[https://www.anquanke.com/post/id/176185...

2019-10-13 19:35:39 1253

原创 Spring MVC中有现成的WebSocket组件

# WebSocketWebSocket协议支持(在受控环境中运行不受信任的代码的)客户端与(选择加入该代码的通信的)远程主机之间进行全双工通信。用于此的安全模型是Web浏览器常用的基于原始的安全模式。协议包括一个开放的握手以及随后的TCP层上的消息帧。该技术的目标是为基于浏览器的、需要和服务器进行双向通信的(服务器不能依赖于打开多个HTTP连接(例如,使用XMLHttpRequest或...

2019-10-13 19:29:10 210

原创 秒懂 QPS、TPS、PV、UV、GMV、IP、RPS

QPS、TPS、PV、UV、GMV、IP、RPS等各种名词,外行看起来很牛X,实际上每个程序员都是必懂知识点。下面我来一一解释一下。QPSQueries Per Second,每秒查询数。每秒能够响应的查询次数。QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。每秒的响应请求数,也即是...

2019-10-13 19:28:29 358

原创 原来resultMap解析完是这样(mybatis源码)

在select语句中查询得到的是一张二维表, 水平方向上看是一个个字段, 垂直方向上看是一条条记录。作为面向对象的语言,Java中的的对象是根据类定义创建的。 类之间的引用关系可以认为是嵌套的关系。在 mybatis 中,resultMap节点定义了结果集和结果对象(JavaBean)之间的映射规则。本文主要讲解的是resultMap的解析。两个基础类在阅读本文之前...

2019-10-13 19:27:24 175

原创 Springboot 整合 Netty 实战(附源码)

前言这一篇文章主要介绍如何用Springboot 整合 Netty,由于本人尚处于学习Netty的过程中,并没有将Netty 运用到实际生产项目的经验,这里也是在网上搜寻了一些Netty例子学习后总结来的,借鉴了他人的写法和经验。如有重复部分,还请见谅。关于SpringBoot 如何整合使用 Netty ,我将分为以下几步进行分析与讨论: 构建Netty 服务端 构建Net...

2019-10-04 16:48:42 1035

原创 后端开发必备的 MySQL 日志文件知识点

前言日志文件记录了影响MySQL数据库的各种类型活动,MySQL数据库中常见的日志文件有错误日志,二进制日志,慢查询日志和查询日志。下面分别对他们进行介绍。错误日志错误日志文件对MySQL的启动,运行,关闭过程进行了记录。mysql>showvariableslike'log_error';+---------------+--------------------...

2019-10-04 16:44:58 921

原创 Java 类在 Tomcat 中是如何加载的?

说到本篇的Tomcat类加载机制,不得不说翻译学习Tomcat的初衷。之前实习的时候学习JavaMelody的源码,但是它是一个Maven的项目,与我们自己的Web项目整合后无法直接断点调试。后来同事指导,说是直接把Java类复制到src下就可以了。很纳闷....为什么会优先加载src下的Java文件(编译出的class),而不是jar包中的class呢?现在了解Tomca...

2019-10-04 16:43:59 147

原创 Spring Boot + MyBatis 多模块项目搭建教程

一、前言最近公司项目准备开始重构,框架选定为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程。1、开发工具及系统环境 IDE: IntelliJ IDEA 2018.2 系统环境: mac OSX 2、项目目录结构 biz层: 业务逻辑层 dao层: 数据持久层 we...

2019-10-04 16:30:29 347

原创 JAVA开发中常用的四种加密方法

一、工具类 md5加密工具类 base64加密工具类 Bcrypt工具类 二、加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一、工具类1. md5加密工具类package加密Tester.util;importjava.security.MessageDigest;pu...

2019-10-04 16:24:04 433

原创 用IDEA追踪bug

Debug 用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用 Debug 模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用 Debug 模式来跟踪代码的运行流程去学习三方框架的源码。在 Intellij IDEA 中使用好 Debug,主要包括如下内容:Debug 开篇基本用法 & 快捷键变量查看计算表达式智能步入...

2019-10-04 16:23:30 1029

原创 MyBatis 10 种通用的写法

用来循环容器的标签forEach,查看例子foreach元素的属性主要有item,index,collection,open,separator,close。 item:集合中元素迭代时的别名, index:集合中元素迭代时的索引 open:常用语where语句中,表示以什么开始,比如以'('开始 separator:表示在每次进行迭代时的分隔符, ...

2019-10-04 16:22:21 270

winSCPPortable交互

十分好用的文件上传下载工具,在与自己的服务器交互的时候可以用这个软件进行文件互传,不管时win下的还是Linux下的都十分方便

2018-07-03

pdf阅读器_福昕

东西好用,体积小巧,使用方便,插座简单,打开快速.........................................................

2018-07-03

FSCapture.rar

可以截图录屏取色,像素尺,体积小巧功能强大携带方便........

2018-07-03

空空如也

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

TA关注的人

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