是咕咕鸡

希望我分享的文章能够给每一位读者带来帮助!

0%

引言

本文主要介绍火焰图及使用技巧,学习如何使用火焰图快速定位软件的性能卡点。
结合最佳实践实战案例,帮助读者加深刻的理解火焰图构造及原理,理解 CPU 耗时,定位性能瓶颈。

背景

当前现状

假设没有火焰图,你是怎么调优程序代码的呢?让我们来捋一下。

阅读全文 »

表达式引擎技术及比较

Drools 简介

Drools(JBoss Rules )是一个开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。

除了应用了 Rete 核心算法,开源软件 License 和 100% 的 Java 实现之外,Drools 还提供了很多有用的特性。其中包括实现了 JSR94 API 和创新的规则语义系统,这个语义系统可用来编写描述规则的语言。目前,Drools 提供了三种语义模块

  • Python 模块
  • Java 模块
  • Groovy 模块

Drools 的规则是写在 drl 文件中。 对于前面的表达式,在 Drools 的 drl 文件描述为:

1
2
3
4
5
6
7
rule "Testing Comments"
when
// this is a single line comment
eval( true ) // this is a comment in the same line of a pattern
then
// this is a comment inside a semantic code block
end

When 表示条件,then 是满足条件以后,可以执行的动作,在这里可以调用任何 java 方法等。在 drools 不支持字符串的 contians 方法,只能采用正则表达式来代替。

阅读全文 »

Groovy 是什么?

Apache 的 Groovy 是 Java 平台上设计的面向对象编程语言。这门动态语言拥有类似 Python、Ruby 和 Smalltalk 中的一些特性,可以作为 Java 平台的脚本语言使用,Groovy 代码动态地编译成运行于 Java 虚拟机(JVM)上的 Java 字节码,并与其他 Java 代码和库进行互操作。

由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。Groovy 的语法与 Java 非常相似,大多数 Java 代码也符合 Groovy 的语法规则,尽管可能语义不同。 Groovy 1.0 于 2007 年 1 月 2 日发布,并于 2012 年 7 月发布了 Groovy 2.0。从版本 2 开始,Groovy 也可以静态编译,提供类型推论和 Java 相近的性能。Groovy 2.4 是 Pivotal 软件赞助的最后一个主要版本,截止于 2015 年 3 月。Groovy 已经将其治理结构更改为 Apache 软件基金会的项目管理委员会(PMC)[1]。

阅读全文 »

背景

数据爆炸的时代,信息化步伐越来越快,接入互联网的服务越来越多。随着业务迭代变更越来越复杂化,需求/产品者对系统的要求越来越高,对业务走势及健康状态需要更直观的感知。这意味着我们需要随时能够“看见”系统的状态,对系统/业务的实时监控以及可视化是技术演进的必然。

阅读全文 »

背景介绍

为什么需要学习 Java 并发?

从提升性能角度来说
  • 提升了对 CPU 的使用效率:目前生产的服务器大多数都是多核,标配的机器都是 8C/16G。操作系统会将不同的线程分配给不同的核心处理,理论上,有多少核心就有多少个线程并行执行。如果没有并发编程,CPU 的利用率将极大的浪费,假设当前正在处理耗时的 I/O 操作,那么整个 CPU 就会处于阻塞空闲状态,后面的指令必须等待前面的执行完才能继续执行。
  • 降低服务 RT:大型互联网访问量轻松每秒轻松过万,如果没有并发处理,所有的用户请求都会排队等待,那种体验效果你能想象么,这样的服务能力如何能留住客户?有了并发编程,充分释放 CPU 算力,操作系统让每个客户轮流使用 CPU 计算,每个客户都能得到快速的响应。
  • 容错率高:线程与线程之间的执行不会相互干扰,某个线程执行出现异常退出,不会对其它线程造成影响。
阅读全文 »

背景介绍

风控简介

二十一世纪,信息化时代到来,互联网行业的发展速度远快于其他行业。一旦商业模式跑通,有利可图,资本立刻蜂拥而至,助推更多企业不断的入场进行快速的复制迭代,企图成为下一个“行业领头羊”。

带着资本入场的玩家因为不会有资金的压力,只会更多的关注业务发展,却忽略了业务上的风险点。强大如拼多多也被“薅羊毛”大军光顾损失千万。

风控,即风险管理(risk management),是一个管理过程,包括对风险的定义、测量、评估和应对风险的策略。目的是将可避免的风险、成本及损失极小化[1]。

特征平台简介

互联网企业每时每刻都面临着黑灰产的各种攻击。业务安全团队需要事先评估业务流程中有风险的地方,再设置卡点,用来采集相关业务信息,识别当前请求是否有风险。专家经验(防控策略)就是在长期以往的对抗中产生的。

阅读全文 »