大数据

设计模式系列之六命令模式

命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也可支持可撤销的操作。   有一个这样的业务逻辑,在客厅的进门处有一个开关面板,该面板上有两个开关,第一个开关是打开客厅的灯,第二个开关是打开客厅的电视。下面就来具体实现一下。 首先实现电视与灯: public…

大数据

Filebeat5+Kafka+ELK Docker搭建日志系统

lek-architecture.jpg 这篇文章是基于近期搭建的日志系统踩过的各种坑,本身自己是边做边记录的,但是内容点实在斑驳繁杂,仅仅是技术选型就来回折腾了几次,选型后的版本匹配问题又是一些体力活,最后的日志解析和应用产品线如何设计更是重中之重。 思虑再三,还是决定把整个过程以去除弯路,单刀直…

大数据

数据库SQL性能优化(一)

1. 问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化…

大数据

java并发之互斥和同步

并发在任何系统和编程语言中都有着重要的地位。 操作系统中的互斥和同步 在操作系统(假设单核)中,我们可以实现同时多个进程(软件)的同时运行,其实取决于操作系统的中断,也就是一个进程在cpu上执行一个时间片后就会被中断,然后换上其它的进程上来执行,所以我们的感觉是进程都在并发的执行。或许你会问,为什么…

大数据

LintCode 反转整数

将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。 样例给定x = 123,返回321 给定x = -123,返回-321 分析 题目较为简单,依次取出末位就行,加上判断是否溢出即可 public class Solution { /** * @param n t…