自定义博客皮肤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的博客

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

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

原创 单例模式的优缺点,注意事项,使用场景 Java面试题精选 程序员闪充宝 昨天

单例模式介绍:单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复...

2020-02-11 00:36:51 303

原创 5 亿整数的大文件,来排个序

一、问题给你1个文件bigdata,大小4663M,5亿个数,文件中的数据随机,如下一行一个整数:现在要对这个文件进行排序,怎么搞?二、内部排序先尝试内排,选2种排序方式: private final int cutoff = 8; public void perform(Comparable[] a) { perform(a,...

2020-02-11 00:36:05 161

原创 SpringBoot 单元测试利器——Mockito

Mockito 是一种 Java mock 框架,他主要是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean、模拟方法的返回值、模拟抛出异常...等,在了解 Mockito 的具体用法之前,得先了解什麽是 mock 测试1. 什么是 mock 测试?mock 测试就是在测试过程中,创建一个假的对象,避免你为了测试一个方法,却要自行构建整个 bean 的依赖链像是以...

2020-02-08 18:50:43 721 1

原创 HikariCP连接池

导读:在实际开发中我们常所熟知的数据库连接池有C3P0,DBCP、阿里Druid,等。但随着Springboot 2.0选择HikariCP作为默认数据库连接池这一事件之后,HiKariCP作为一个后起之秀出现在大众的视野中,以其速度快,性能高等特点受到很多人青睐。下面是我收集到的一些关于HikariCP的资料,用于帮助各位了解认识HiKariCP。什么是HikariCPHikariCP是...

2020-02-08 18:49:49 909

原创 代码生成利器:IDEA 强大的 Live Templates

前言Java 开发过程经常需要编写有固定格式的代码,例如说声明一个私有变量,logger或者bean等等。对于这种小范围的代码生成,我们可以利用 IDEA 提供的 Live Templates功能。刚开始觉得它只是一个简单的Code Snippet,后来发现它支持变量函数配置,可以支持很复杂的代码生成。下面我来介绍一下Live Templates的用法。基本使用IDEA 自带很多常...

2020-02-08 18:46:04 252

原创 三种处理异常的套路

Oh no, don't do this to me...中文翻译:哦,请不要这样写……// 写一句注释跳过异常try { throw new IOException("Made up");} catch (IOException e) { // 跳过}// 记到日志里,继续处理try { throw new IOException("Made ...

2020-02-08 18:43:15 322 1

原创 GitHub 拉取代码网速慢的问题

本人重度依赖 GitHub,面向 GitHub 编程,GitHub 可以让我每天早上打开电脑,假装了解最新开源项目。最近你们有没有发现,GitHub 明显变慢了,如果没有 fanqiang,拉取代码的速度简直惨不忍睹,如果拉取的量少还可以勉强拉下来,但是遇到数据量大的时候,2 KiB/s 的速度你能忍?拉到中途超时就让你痛不欲生。最近我就遇到这个问题,seata 社区的 seata.git...

2020-02-08 18:42:14 611

原创 Kali Linux侦听蓝牙设备

文章来源:华盟论坛原文链接:https://bbs.77169.net/forum.php?mod=viewthread&tid=375332&page=1&extra=#pid3702474虽然很多人每天可能会使用蓝牙,但大多数人不知道蓝牙的工作原理或会被黑客入侵。蓝牙黑客攻击为进入目标世界提供了清晰的清晰的窗口。几乎每个设备都具有蓝牙功能,人们在手机和平...

2020-02-08 18:41:20 7111

原创 RabbitMQ 延迟队列,消息延迟推送的实现

目录 应用场景 消息延迟推送的实现 测试结果 应用场景目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货。在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持续七天,就是使用了消息中间件的延迟推送功能。 12306 购票支付确认页面。我们在选好票点击确定跳转的页面...

2020-02-03 20:15:42 529

原创 超实用的 Nginx 极简教程,覆盖了常用场景

来源:http://t.cn/EVBldK2 安装 使用 http 反向代理配置 负载均衡配置 网站有多个 webapp 的配置 https 反向代理配置 静态站点配置 搭建文件服务器 跨域解决方案 概述 安装与使用 nginx 配置实战 参考 概述...

2020-02-03 20:13:46 278

原创 实战:用SSM框架实现支付功能(附源码)

# 前言本教程详细介绍了如何使用ssm框架实现支付宝支付功能。本文章分为两大部分,分别是「支付宝测试环境代码测试」和「将支付宝支付整合到ssm框架」,详细的代码和图文解释,自己实践的时候一定仔细阅读相关文档,话不多说我们开始。# 支付宝测试环境代码测试源代码:https://github.com/OUYANGSIHAI/sihai-maven-ssm-alipay...

2020-02-03 20:10:50 2139

原创 Github 标星 12.8K!这可能是最好的 Java 博客系统

来源:GitHubhttps://github.com/halo-dev/haloHalo 是一款现代化的个人独立博客系统,给习惯写博客的同学多一个选择。简介Halo [ˈheɪloʊ],意为光环。当然,你也可以当成拼音读(哈喽)。轻快,简洁,功能强大,使用 Java 开发的博客系统。快速开始下载最新的 Halo 安装包curl-Lhttps://gith...

2020-01-31 11:25:37 570

原创 渗透测试学习路线

首先是编程基础菜鸟教程;https://www.runoob.com/w3c;https://www.w3cschool.cn/慕课网;https://www.imooc.com/直播类网易云课堂;https://study.163.com/漏洞银行;https://www.bugbank.cn/这些自学前期对自己,是非常好的渗...

2020-01-31 11:23:55 7117 2

原创 WEB渗透测试中回显的一些技巧

在很多场景中,WEB是渗透测试的一个相对容易的入口。通常经过测试授权后,我们会先尝试拿到一个WEBSEHLL,然后再通过各种方法提权,来控制一台内网机器,然后利用这台内网机器控制整个内部网络。在进行WEB渗透的时候,我们通常会通过后台弱口令、SQL注入、XSS、任意文件上传等漏洞来进行攻击测试。在测试的时候我们会根据服务器返回信息来判断漏洞是否存在,也是根据服务器返回的信息来判断我们能否...

2020-01-31 11:17:19 1154

原创 SpringBoot使用AOP实现REST接口简易灵活的安全认证实践

本文将通过AOP的方式实现一个相对更加简易灵活的API安全认证服务。我们先看实现,然后介绍和分析AOP基本原理和常用术语。一、Authorized实现1、定义注解packagecom.power.demo.common;importjava.lang.annotation.*;/**安全认证**/@Target({ElementType.TYPE,El...

2020-01-31 11:16:42 555 1

原创 php5.5过狗

新年到了,送给大家一个PHP免杀的webshell吧。(仅限PHP5.5以下版本)测试环境 PHPstudy8.0.9.2,其中PHP版本为5.2 网站安全狗V4.0正式版 原理preg_replace函数中使用/e修饰符,造成命令执行。在PHP5.5以后,/e修饰符被弃用,这种方法就不行了。<?php$a=$_GET['nb'];preg_rep...

2020-01-31 11:15:44 401

原创 Linux shell命令总结大全

前言Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程1、我们正常需要的操作是$ps |grep xxx$kill -9 xx2、kill命令是常用的,但是用killall命令会更快$killall -9 xxx...

2020-01-31 11:14:12 292

原创 MYSQL快速写入一句话拿权限技巧

必须条件:root权限GPC关闭(能使用单引号)有绝对路径(读文件可以不用,写文件必须)没有配置–secure-file-privid=2) union select 1,2,3,4,5,6,7,'<? phpinfo(); ?>’ into outfile ‘/home/wwwroot/lu4n.com/luan_phpinfo.php’#<? phpinfo()...

2020-01-31 11:13:40 778

原创 黑客类型电影推荐

在多数人眼中,黑客通常是一群无聊至极没有什么趣味的人,在他们的世界里仿佛只有计算机和那敲不完的代码。但事实真的如此吗?让我们回味一下看《黑客帝国》、《幽灵》等黑客题材电影时的场景。有木有种热血澎湃,瞬间变成小迷妹的冲动?其实在现实生活中,他们也有许多乐趣和鲜为人知的经历和故事。下面,是为大家精心整理的27部黑客题材纪录片,现在让我们一起走近他们的世界。1.微软英雄(Pirates of Sil...

2020-01-31 11:10:56 11716

原创 SpringBoot之Undertow

前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。SpringB...

2020-01-31 11:08:02 4551

原创 MongoDB粗介绍

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 最大的特点就是无 Schema 限制,灵活度很高。数据格式是 BSON,BSON 是一种类似 JSON 的二进制形式的存储格式,简称 Bi...

2020-01-20 19:23:38 271

原创 大文件上传和断点续传

# 前言这段时间面试官都挺忙的,频频出现在博客文章标题,虽然我不是特别想蹭热度,但是实在想不到好的标题了-。-,蹭蹭就蹭蹭 :)事实上我在面试的时候确实被问到了这个问题,而且是一道在线 coding 的编程题,当时虽然思路正确,可惜最终也并不算完全答对。结束后花了一段时间整理了下思路,那么究竟该如何实现一个大文件上传,以及在上传中如何实现断点续传的功能呢?本...

2020-01-20 19:21:05 501

原创 MYSQl任意文件读取

实现原理:攻击者搭建一个伪造的mysql服务器,当有用户去连接上这个伪造的服务器时。攻击者就可以任意读取受害者的文件内容。主要是因为LOAD DATA INFILE这个语法作用是读取一个文件的内容并且放到一个表中。 load datalocalinfile"/home/data.csv"intotableTestTable; 读取客户端文件,漏洞利用:漏...

2020-01-20 19:18:05 1226

原创 Java干掉恶心的 SQL 注入

简介文章主要内容包括: Java 持久层技术/框架简单介绍 不同场景/框架下易导致 SQL 注入的写法 如何避免和修复 SQL 注入 JDBC介绍 全称 Java Database Connectivity 是 Java 访问数据库的 API,不依赖于特定数据库 ( database-independent ) 所有 Java...

2020-01-20 17:46:13 293

原创 HTTP客户端连接,选择HttpClient还是OkHttp

写在前面为什么会写这篇文章,起因于和朋友的聊天这又触及到我的知识盲区了,首先来一波面向百度学习,直接根据关键字httpclient和okhttp的区别、性能比较进行搜索,没有找到想要的答案,于是就去overstackflow上看看是不是有人问过这个问题,果然不会让你失望的所以从使用、性能、超时配置方面进行比较使用HttpClient和OkHttp一般用于调用其它服务,一...

2020-01-14 17:47:36 2556

原创 实现一下类似百度网盘的预览功能:支持Word、Excel、Ppt

本人技术小白一枚,前些天老大让我写一个office在线预览的一个功能,跟百度网盘类似,各种找资料,总结一下我觉得比较好用的方法。网上大概有这几种office在线预览的方法。# 第一种利用office online实现在线预览,Office平台提供了通过url的指向达到预览效果。http://view.officeapps.live.com/op/view.a...

2020-01-13 21:20:24 3335

原创 Spring Boot + RabbitMQ发送邮件(保证消息 100% 投递成功并被消费)

一、先扔一张图说明:本文涵盖了关于RabbitMQ很多方面的知识点, 如: 消息发送确认机制 消费确认机制 消息的重新投递 消费幂等性, 等等 这些都是围绕上面那张整体流程图展开的, 所以有必要先贴出来, 见图知意二、实现思路 简略介绍163邮箱授权码的获取 编写发送邮件工具类 编写RabbitMQ配置文件 ...

2020-01-13 18:09:54 913

原创 Git 从入门到精通

简介Git 是什么Git 是一个开源的分布式版本控制系统。什么是版本控制版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。什么是分布式版本控制系统介绍分布式版本控制系统前,有必要先了解一下传统的集中式版本控制系统。集中化的版本控制系统,诸如 CVS,Subversion 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的...

2020-01-13 18:09:46 508

转载 彻底理解分布式 Netty

一、Netty到底是什么1、从HTTP说起有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Proxy服务器等等。我们回顾一下传统的HTTP服务器的原理:1、创建一个ServerSocket,监听并绑定一个端口2、一系列客户端来请求这个端口...

2020-01-12 19:14:04 261

原创 彻底了解JS中难懂的闭包

闭包的定义闭包是指有权访问另一个函数作用域中的变量的函数。(JS高级程序设计)看到这红宝书上关于闭包的解释,起初一脸懵逼,读懂之后其实并不难。要彻底了解闭包,首先必须了解下面的几个概念:执行环境:每个函数都有自己的执行环境。当执行函数时,函数的环境就会被推入一个环境栈中。而在函数执行后,栈将其环境弹出,把控制权返回给之前的执行环境。变量对象:每个执...

2020-01-12 19:12:44 180

原创 玩转Linux,介绍一个强大的Linux服务器管理面板,比宝塔更强

介绍之前大多数时候听到或者看到的Linux服务器的管理面板都是宝塔面板,确实宝塔面板非常方便而且好用,安装也简单,复制粘贴几句命令即可安装完成,且提供免费版,本文向大家介绍另一个Linux的服务器面板——AppNode,功能丰富,也提供免费版,且是永久免费!系统要求 操作系统:CentOS 6.x 32/64位 CentOS 7.x 64位 (暂不支持 Ubu...

2020-01-12 19:12:01 922

原创 JavaScript 类继承与原型继承的区别

在 ES6 之前,JavaScript 实现两个对象的继承一般有两种方法。一种方法是利用 this 与构造函数。functionParent(name,height){this.name=name;this.height=height;}functionChild(age){Parent.apply(this,['hahaha',...

2020-01-12 19:11:16 1092

原创 从头进行RabbitMQ安装、集群搭建、镜像队列配置和代码验证

前言不知道说什么好,直接开始吧。本来想采用最新版本的,一想到生产和测试必须版本保持一致,不能随便升级,就只好去下载指定版本的rabbitmq的rpm。RabbitMQ概念Broker:消息中间件的服务节点,RabbitMQ的一个服务实例,也可以看做是RabbitMQ的一台服务器Queue 队列:用于存储消息。kafka不一样,它的消息存在在topic逻辑层面,而队列存储的只是to...

2020-01-12 19:10:39 266

原创 实战:消息中间件,解耦、异步、削峰,到底该如何使用

消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。消息中间件到底该如何使用,何时使用这是一个问题,胡乱地使用消息中间件增加了系统的复杂度,如果用不好消息中间件还不如不用。消息队列通讯模...

2020-01-12 19:06:52 3198

原创 Mybatis是这样防止sql注入的

Mybatis这个框架在日常开发中用的很多,比如面试中经常有一个问题:$和#的区别,它们的区别是使用#可以防止SQL注入,今天就来看一下它是如何实现SQL注入的。什么是SQL注入在讨论怎么实现之前,首先了解一下什么是SQL注入,我们有一个简单的查询操作:根据id查询一个用户信息。它的sql语句应该是这样:select * from user where id =。...

2020-01-12 19:06:08 445

原创 压缩20M文件从30秒到1秒的优化过程...

有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。 ...

2020-01-12 19:01:39 304

原创 对HTTP与HTTPS学习的笔记

HTTP协议:Hypertext Transfer Protocol,超文本传输协议,现在普遍的版本为1.1版本HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。什么是无状态协议在HTTP最开始的设计时时无状态的,按照我查阅资料的理解为无法识别请求是第二次请求。两次请求之间没有联系,无上下文也就是说对请求是无记忆...

2020-01-12 19:00:32 319

原创 Tomcat 的单机多实例配置

有时候需要在一个服务器上部署多个Tomcat,通过不同的端口进行区分,比如,反向代理。但是不想简单的通过复制Tomcat来实现,这样既不方便以后的升级也不方便管理,那么这时候就需要配置Tomcat的单机多实例了。Tomcat 下载Tomcat 的下载可以直接到Tomcat官方网站下载自己需要的版本,我这里下载的Tomcat8.5.32。//解压tar-zxvfapache-t...

2020-01-12 18:59:42 170

原创 IntelliJ IDEA 教程设置讲解

说明IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。常用设置IntelliJ IDEA 的代码提示和补充功能有...

2019-12-28 03:12:23 392

原创 分布式锁与幂等性问题,如何解决?

随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。为了解决这一系列问题,系统架构也在不断演进。传统的集中式系统已经逐渐无法满足要求,分布式系统被使用在更多的场景中。分布式系统由独立的服务器通过网络松散耦合组成。在这个系统中每个服务器都是一台独立的主机,服务器...

2019-12-28 03:12:04 516

winSCPPortable交互

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

2018-07-03

pdf阅读器_福昕

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

2018-07-03

FSCapture.rar

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

2018-07-03

空空如也

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

TA关注的人

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