摘要:SnowJena What 基于令牌桶算法实现的分布式无锁限流框架,支持熔断降级,支持动态配置规则,支持可视化监控,开箱即用。 Noun 限流 当我们设计了一个函数,准备上线,这时候这个函数会消耗一些资源,处理上限是1秒服务3000个QPS,但如果实际情况遇到高于3000的QPS该如何解决呢?本项目 阅读全文
posted @ 2019-04-21 20:14 薛勤 阅读 (960) 评论 (2) 编辑
摘要:Java应用性能远程监控系统(使用C/S架构) 适用于监控所有Java应用,具有堆内存监控、方法区监控、GC监控、类加载监控、类编译监控与线程监控,提供堆快照下载,线程快照下载。体验网址: "http://116.85.23.6:8888/" 一、简介 JavaMonitor 发布之后,受到了很多网 阅读全文
posted @ 2018-11-14 20:02 薛勤 阅读 (3215) 评论 (2) 编辑
摘要:1.简介 AiPa 是一款小巧,灵活,扩展性高的多线程爬虫框架。 AiPa 依赖当下最简单的HTML解析器Jsoup。 AiPa 只需要使用者提供网址集合,即可在多线程下自动爬取,并对一些异常进行处理。 2.Maven 直接引入 3.如何使用 先来看下一个简单完整的示例程序: 必须实现的接口 mai 阅读全文
posted @ 2018-09-27 17:33 薛勤 阅读 (1553) 评论 (6) 编辑
摘要:如果你还不了解现在的前后端分离,推荐阅读淘宝前端团队的 "前后端分离的思考与实践" 1、问题 随着现在整个软件开发行业的发展,在开发模式上逐渐由以前的一个人完成服务端和前端web页面,演变为前端和后端逐渐分离的趋势。在安卓、IOS等移动设备开发基本已经成型,前后端达到了完全分离。可是在web网站开发 阅读全文
posted @ 2018-09-06 21:01 薛勤 阅读 (3675) 评论 (1) 编辑
摘要:算法概述 快速排序 (Quicksort),又称 划分交换排序 ,简称 快排 ,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要O(n log n)次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。 事实上,快速排序O(n log n)通常明显比其他算法更快,因为它的 阅读全文
posted @ 2019-08-17 16:26 薛勤 阅读 (22) 评论 (0) 编辑
摘要:算法概述 二分搜索,也称折半搜索、对数搜索,是一种在有序数组中查找某一特定元素的搜索算法。 搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数 阅读全文
posted @ 2019-08-17 11:12 薛勤 阅读 (9) 评论 (0) 编辑
摘要:在Java并发编程中,InheritableThreadLocal 与 ThreadLocal 都可以用于线程间通信,不同的是 InheritableThreadLocal 继承了 ThreadLocal,并且扩展了 ThreadLocal。使用类 InheritableThreadLocal 可使 阅读全文
posted @ 2019-08-16 15:14 薛勤 阅读 (70) 评论 (0) 编辑
摘要:《末代皇帝》(The Last Emperor)是一部由意大利、英国、中国大陆合作拍摄的历史传记电影。影片讲述最后一位中国皇帝溥仪的故事。溥仪一生命途多舛,经历清朝灭亡、张勋复辟、军阀混战、满洲复国及文化大革命等历史,由九五之尊降为阶下囚,对应20世纪中国的一甲子岁月。本影片获得1987年奥斯卡金像 阅读全文
posted @ 2019-08-10 23:38 薛勤 阅读 (30) 评论 (0) 编辑
摘要:原著:翟陆续(加多) 资深Java , 著Java并发编程之美 一、前言 本节我们来探讨Go的线程模型,首先我们先来回顾下常见的三种线程模型,然后在介绍Go中独特的线程模型。 二、三种线程模型 线程的并发执行是有操作系统来进行调度的,操作系统一般都都在内核提供对线程的支持。而我们在使用高级语言编写程 阅读全文
posted @ 2019-08-10 15:54 薛勤 阅读 (15) 评论 (0) 编辑
摘要:问题场景 小明在Github上 了一个大佬的项目,并 到本地开发一段时间,再提交 到原Git项目,过了段时间,原作者联系小明,扔给他下面这幅截图并告知合并处理冲突,让他自行解决。 小明看到后犯难了,我在IDEA上 的时候,也没看到原Git项目分支的选项呀,只能 `fork`后项目的其它分支,这该如何 阅读全文
posted @ 2019-08-02 17:11 薛勤 阅读 (87) 评论 (0) 编辑
摘要:1.对称加密算法概述 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。 在对称加密算法 阅读全文
posted @ 2019-08-01 15:10 薛勤 阅读 (223) 评论 (0) 编辑
摘要:1.消息摘要概述 消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。 阅读全文
posted @ 2019-07-31 11:57 薛勤 阅读 (178) 评论 (0) 编辑
摘要:1.对称加密与非对称加密概述 关于对称加密与非对称加密的概念这里不再多说,感兴趣可以看下我之前的几篇文章,下面说一说两者的主要区别。 对称加密算法数据安全,密钥管理复杂,密钥传递过程复杂,存在密钥泄露问题。 非对称加密算法强度复杂、安全性依赖于算法与密钥。但是由于算法复杂,使得非对称算法加解密速度没 阅读全文
posted @ 2019-07-28 21:52 薛勤 阅读 (120) 评论 (1) 编辑
摘要:1.位运算概述 从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、 、\ 、/)都是叫位运算,即将符号位共同参与运算的运算。 口说无凭,举一个简单的例子来看下CPU是如何进行计算的,比如这行代码: 计算两个数的和,因为在计算机中都是以二进制来进行运 阅读全文
posted @ 2019-07-25 15:26 薛勤 阅读 (347) 评论 (0) 编辑
摘要:在腾讯工作已经第三周了,由于是支付业务,不免会涉及到加解密、数字签名之类的安全手段,花了一天时间,学习了下数字签名,整理发出。 1.数字签名概述 在讨论数字签名之前,我们先来说说签名。 签名 ,即自己写自己的名字,尤其为表示同意、认可、承担责任或义务。在实际生活中,一些方式(如字迹,指纹等)一直被用 阅读全文
posted @ 2019-07-24 20:59 薛勤 阅读 (468) 评论 (2) 编辑
摘要:1.前言 为什么要写这篇文章? 身为Java程序员你有没有过每次需要读取 ClassPath 下的资源文件的时候,都要去百度一下,然后看到下面的这种答案: 亦或是: 你复制粘贴一下然后放到自己的项目里运行,还真跑起来了。但是当打成 jar 包作为其它项目的依赖时,或者打成 war 包被 Tomcat 阅读全文
posted @ 2019-07-11 23:01 薛勤 阅读 (315) 评论 (0) 编辑
摘要:1.前言 在Windows系统下操作远程服务器的方式很多,比如XShell+XFTP组合,亦或是PuTTY+WinSCP组合,但在Mac系统下登陆远程服务器,并没有这些工具供我们使用。相比较而言,在Mac下更多的是依赖终端输入SSH命令登陆远程服务器。 使用SSH命令行的好处就是可以近距离接触底层, 阅读全文
posted @ 2019-07-10 20:46 薛勤 阅读 (538) 评论 (0) 编辑
摘要:$.ajax 语法: 示例: 下面的表格中列出了可能的名称/值: | 名称 | 值/描述 | | : | : | | async | 布尔值,表示请求是否异步处理。默认是 true。 | | beforeSend( xhr ) | 发送请求前运行的函数。 | | cache | 布尔值,表示浏览器是 阅读全文
posted @ 2019-07-09 00:19 薛勤 阅读 (67) 评论 (0) 编辑
摘要:1.发发牢骚 相信大家在网上看过不少讲解 BIO/NIO/AIO 的文章,文章中举起栗子来更是夯吃夯吃一大堆,让人越看越觉得 What are you 讲啥嘞? 本文将针对 BIO/NIO/AIO 、阻塞与非阻塞、同步与异步等特别容易混淆的概念进行对比区分,理清混乱的思路。 2.魔幻的IO模型 BI 阅读全文
posted @ 2019-07-04 21:05 薛勤 阅读 (439) 评论 (0) 编辑
摘要:1.微服务限流 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。缓存、降级和限流是保护微服务系统运行稳定性的三大利器。 缓存的目的是提升系统访问速度和增大系统能处理的容量,而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开,而有些场景并不能用缓存和降级来 阅读全文
posted @ 2019-07-01 19:20 薛勤 阅读 (868) 评论 (3) 编辑
摘要:0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序 :通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序 :不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线 阅读全文
posted @ 2019-06-23 14:58 薛勤 阅读 (234) 评论 (0) 编辑
摘要:Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。 阅读全文
posted @ 2019-06-23 10:04 薛勤 阅读 (1062) 评论 (2) 编辑
摘要:使用一些MarkDown软件写博客时大都会设置图片自动上传,这样只需要复制一遍MarkDown文本即可粘贴到多个平台发布,很多免费的图床插件都是将图片上传至微博图床,毕竟免费。但微博并不会那么大方,在请求微博图片时会检测request头部 Referer 字段的值,来鉴别请求来源。 解决方法就是将 阅读全文
posted @ 2019-06-22 22:32 薛勤 阅读 (106) 评论 (0) 编辑
摘要:1.模拟移动设备 点击 Toggle Device Toolbar 2.限制网络流量和 CPU 占用率 要限制网络流量和 CPU 占用率,请从 Throttle 列表中选择 Mid tier mobile 或 Low end mobile 。 Mid tier mobile 可模拟快速 3G 网络, 阅读全文
posted @ 2019-06-22 17:25 薛勤 阅读 (64) 评论 (0) 编辑