自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (2)
  • 收藏
  • 关注

转载 Learning Apache Flink(API)

本文是参考Apache Flink v1.3官方文档,本文所使用的是scala版本的API,基础架构参见《Learning Apache Flink(BASIC)》业务场景Flink接kafka的数据,然后通过初步的过滤得到一个结果集,再进行“打标签”,最后对“打标签”的结果进行过滤,最终输出到kafka中。例如,在topic foo中的数据表示"imsi,lac,cell",先通过...

2019-10-30 18:24:45 388

转载 mysql多线程update发生死锁

问题描述mysql使用InnoDB引擎,在多线程并发的情况下,发现对数据库表中的数据进行更新操作时发生了死锁Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get loc...

2019-10-29 11:17:06 3031

转载 Java中的公平锁和非公平锁实现详解

前言Java语言中有许多原生线程安全的数据结构,比如ArrayBlockingQueue、CopyOnWriteArrayList、LinkedBlockingQueue,它们线程安全的实现方式并非通过synchronized关键字,而是通过java.util.concurrent.locks.ReentrantLock来实现。 刚好对这个很感兴趣, 因此写一篇博客详细分析此 “可重入锁实现原...

2019-10-27 13:33:57 612

转载 多线程并发更新同一条记录

有一个任务表,每个任务有n个事项要并发处理,每个事项完成时需要更新已完成数,即finished+1,当n个事项全部处理完成即整个任务完成时需要做任务的统计工作。数据库通过行级锁来保证并发更新准确性,测试代码如下:publicclassConcurrency{ /**执行更新语句,根据commitImmediately决定是否立即提交*/ ...

2019-10-25 18:58:57 4170 1

转载 JVM成神之路-Java中的逃逸分析

在Java的编译体系中,一个Java的源代码文件变成计算机可执行的机器指令的过程中,需要经过两段编译,第一段是把.java文件转换成.class文件。第二段编译是把.class转换成机器指令的过程。第一段编译就是javac命令。在第二编译阶段,JVM 通过解释字节码将其翻译成对应的机器指令,逐条读入,逐条解释翻译。很显然,经过解释执行,其执行速度必然会比可执行的二进制字节码程序慢很多...

2019-10-25 18:56:37 107

转载 Java中的逃逸分析和TLAB以及Java对象分配

我们在学习使用Java的过程中,一般认为new出来的对象都是被分配在堆上,但是这个结论不是那么的绝对,通过对Java对象分配的过程分析,可以知道有两个地方会导致Java中new出来的对象并一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB(Thread Local Allocation Buffer)。本文首先对这两者进行介绍,而后对Java对象分配过程进行介绍。1. ...

2019-10-25 18:55:33 183

转载 浅析java中的TLAB

好久,好久....没有更博客了。这一次利用闲暇时间,来扯一下关于JVM中的TLAB。什么是TLAB?它是干什么的?咋们先抛开这个问题,一切的开始得从new对象到指针碰撞开始讲起。new对象与指针碰撞new对象怎么就出问题了呢?java中我们要创建一个对象,用关键字new就可以了。但是,在我们日常中,有很多生命周期很短的对象。比如:public void dome(){...

2019-10-25 17:16:05 295

转载 JVM中TLAB区

TLAB区配置-XX:+UseTLAB表示,是否使用TLAB-XX:+TLABSize表示,设置TLAB大小-XX:TLABRefillWasteFraction表示,设置进入TLAB空间,单个对象大小是一个比例值,默认为64如果,对象小于整个空间的1/64,则放在TLAB区如果,对象大于整个空间的1/64,则放在堆区-XX:+PrintTLAB...

2019-10-24 20:40:07 325

转载 1500 面试题 17组成长笔记 | 1024程序员节技术礼包之一

简介:作为一名开发者,1024 程序员日你都干些什么?其实我一点也不关心,我只知道这里有——7份程序员个人成长必读 + 5份技术进阶精选 + 5份业务晋升精选 等你来看,还有——12篇阿里巴巴面试经验分享与 300+面试题 为你保驾护航。这个节过的不亏!作为一名开发者,1024 程序员日你都干些什么?敲代码?处理各方需求?还是已经进入了“双十一”备战?虽然在这个专属程序员的日...

2019-10-24 15:09:48 969

转载 Java数组的三种打印方式

1.数组的输出的三种方式一维数组:定义一个数组 int[] array = {1,2,3,4,5};(1)传统的for循环方式 for(int i=0;i<array.length;i++) { System.out.println(a[i]); } (2)for each循环 for(int a:...

2019-10-23 16:24:14 117

转载 Flink学习小记-失败恢复重启策略

Flink学习小记-失败恢复重启策略 Fixed Delay Restart Strategy 文件配置方式 API配置方式 Failure Rate Restart Strategy 失败率计算公式 文件配置方式 API配置方式 No Restart Strategy 文件配置方式 API配置方式 Fallback ...

2019-10-23 15:42:37 818

转载 Flink CheckPoint状态点恢复与savePoint机制

Flink CheckPoint状态点恢复与savePoint机制2019-01-21 22:40:41大数据技术与架构阅读数 203更多分类专栏:Flink从入门到实践转载自:https://blog.csdn.net/shenshouniu/article/details/84558874欢迎加入大数据学习群:**Flink学习视频:**http://ed...

2019-10-23 15:34:47 1415 1

转载 Java数组的三种打印方式

1.数组的输出的三种方式一维数组:定义一个数组 int[] array = {1,2,3,4,5};(1)传统的for循环方式 for(int i=0;i<array.length;i++) { System.out.println(a[i]); } (2)for each循环 for(int a:...

2019-10-23 10:41:40 447

转载 基于Flink SQL的实时处理架构

本博文介绍基于Flink的多数据源->数据治理->Kafka->作业治理->DB的实时处理架构。数据治理,将读库降低为原来的2/3次,并使得多数据源转为统一Schema。基于统一的Schema数据流,作业治理将基于Jstorm的业务逻辑编码项目,简化成多条SQL语句的配置。sar案例可以先参阅 storm项目迁移flink案例:系统活动情况报告而...

2019-10-22 15:05:03 1673

转载 重要|flink的时间及时区问题解决

1.时间纪元所谓的”时间纪元”就是1970年1月1日0时0分0秒,指的是开始的时间。比如Java类代码:Date date = new Date(0);System.out.println(date);打印出来的结果:Thu Jan 01 08:00:00 CST 1970也是1970年1月1日,实际上时分秒是0点0分0秒,这里打印出来的时间是8点而非0点,原因...

2019-10-22 10:56:40 5460 2

转载 ArrayBlockingQueue源码分析总结

1,在说ArrayBlockingQueue之前,我们先说一下ReentrantLock: ReentrantLock和Synchronized的作用差不多, java在编写多线程程序时,都是为了保证线程安全,需要对数据同步 1)相似点: 这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁...

2019-10-20 21:29:10 88

转载 mysql update语句set中用and条件连接两个操作

原来的数据如下执行的SQL语句如下update sys_area set create_by = '2' and update_by = '2' where id = '1';1执行结果为原因正常情况update的set中应该用逗号(,)连接,但是上面用了逻辑与(and)操作,由于update_by = '1’与数据库数据与运算为false所以create_by被更新...

2019-10-18 13:58:47 1616

转载 JavaWeb系列笔记 —— JDBC连接MySql数据库获取查询数据总条数的三种方法

第一种方式:将指针移动到最后一位,获取该位置上的行数。 String sql = "select * from users"; //1、获取所有行的数据 con = super.getConnection(); int total; try{ ps = con.prepareStatement(sql); rs = ps.e...

2019-10-17 17:20:17 2758

转载 关于JAVA的JDBC如何获取查询的记录条数

直接看代码,三种方法:import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import com.mysql.jdbc.Statement; public class MySQLDao { public static void main(S...

2019-10-17 17:19:30 5870

转载 Flink Windows窗口简介和使用

Apache Flink–DataStream–Window什么是Window?有哪些用途?下面我们结合一个现实的例子来说明。我们先提出一个问题:统计经过某红绿灯的汽车数量之和?假设在一个红绿灯处,我们每隔15秒统计一次通过此红绿灯的汽车数量,如下图:可以把汽车的经过看成一个流,无穷的流,不断有汽车经过此红绿灯,因此无法统计总共的汽车数量。但是,我们可以换一种思路,每隔...

2019-10-17 15:00:20 177

转载 聊聊flink Table的Distinct Aggregation

序本文主要研究一下flink Table的Distinct Aggregation实例 //Distinct can be applied to GroupBy Aggregation, GroupBy Window Aggregation and Over Window Aggregation. Table orders = tableEnv.scan("...

2019-10-17 10:15:56 763

转载 Linux系统查看物理CPU个数、CPU核数及逻辑CPU个数

CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数查看CPU信息(型号)[root@AAA ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 12 Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00G...

2019-10-16 15:36:32 117

转载 Continuation 异步化机制

Jetty 的 Continuation 机制讨论 Jetty 的 Continuation 机制,首先需要提到 Ajax 技术,Ajax 技术是当前开发 Web 应用的非常热门的技术,也是 Web 2.0 的一个重要的组成部分。Ajax 技术中的一个核心对象是 XMLHttpRequest 对象,这个对象支持异步请求,所谓异步请求即是指当客户端发送一个请求到服务器的时候,客户端不必一直...

2019-10-15 21:00:18 216

转载 【扩散】Cassandra资料大全&入社区大群邀请

前言Cassandra是全球范围内最流行的宽表数据库,在DB-Ranking,排名前10,自身有着居多优势,但是国内一直缺乏相关中文资料。为了推广Cassandra,Cassandra爱好者特别在一起构建 【Cassandra中文社区:http://cassandra123.com】。本文尽量汇总Cassandra的相关资料(特别是中文的部分),此文章会不断更新,阅读者请关注原文。为了营...

2019-10-15 18:18:48 409

转载 浅谈尾递归

在《数据结构与算法分析:C描述》(Data Structures and Algorithm Analysis In C)的第三章中,以打印链表为例,提到了尾递归(tail recursion)并指出了尾递归是使用递归极其不当的例子,它指出虽然编译器会对尾递归自动优化,但即便如此最好还是不要去写尾递归。而我在《算法精解:C语言描述》(Mastering Algorithms with C)中...

2019-10-15 17:57:58 174

转载 cassandra百亿级数据库迁移实践

迁移背景cassandra集群隔段时间出现rt飙高的问题,带来的影响就是请求cassandra短时间内出现大量超时,这个问题发生已经达到了平均两周一次的频率,已经影响到正常业务了。而出现这些问题的原因主要有以下3点:当初设计表的时候partition key设计的不是很合理,当数据量上去(最大的单表行数达到百亿级)之后,出现了一些数据量比较大的partition。单partition...

2019-10-15 11:50:20 273

转载 Cassandra压缩任务堆积如何处理?

当短时间内写入的数据太多,或者连续扩容多个节点,都有可能导致压缩任务堆积,压缩任务堆积会导致sstable太多,让该节点查询变慢,时延变大,一直累积下去,集群会变的很不稳定。解决方法如下:加大压缩速度阈值默认压缩阈值是16Mb/s,偏小,可以更改的大一点,这个参数是可以通过nodetool setcompactionthroughput xx进行修改,配置文件cassandra.ya...

2019-10-15 11:27:47 564

转载 Java内存管理-掌握自定义类加载器的实现(七)

勿在流沙筑高台,出来混迟早要还的。做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!上一篇分析了ClassLoader的类加载相关的核心源码,也简单介绍了ClassLoader的设计思想,读源码相对来说是比较枯燥的,还是这个是必须要走的过程,学习源码中的一些思想,一些精髓,看一下大神级人物是怎么写出那么牛逼的代码。我们能够从中学到一点点东西,那也是一种进...

2019-10-14 18:09:59 79

转载 Java自定义类加载器实现

为什么要自定义类加载器类加载机制:http://www.cnblogs.com/xrq730/p/4844915.html类加载器:http://www.cnblogs.com/xrq730/p/4845144.html这两篇文章已经详细讲解了类加载机制和类加载器,还剩最后一个问题没有讲解,就是 自定义类加载器。为什么我们要自定义类加载器?因为虽然Java中给用户提供了很多类加载...

2019-10-14 18:01:37 499

转载 Cassandra启动过程详解【原创】

cassandra源码cassandra启动过程Cassandra启动过程详解这里的分析从CassandraDaemon.java文件开始。一、配置文件storage-config.xml的读取和log4j的配置文件log4j.property的设置。配置文件的读取和解析都是在 org.apache.cassandra.config.DatabaseDescriptor 类中完成的,这个...

2019-10-14 14:18:47 1185

转载 Cassandra内建的工具nodetool - 监控篇

Cassandra 常用监控命令Cassandra 自带了多个功能强大集群或数据管理工具,数量掌握有助于诊断和维护Cassandra集群、快速解决各种问题:nodetoolnodetool是一个命令行的工具集,它可以监控Cassandra和执行例行的数据库操作。作为内建的工具,nodetool一般用于在节点上直接运行。nodetool工具集支持大多数重要的JMX指标和操作...

2019-10-14 14:15:18 633

转载 Cassandra存储机制

摘要: 在2009年兴起的NoSQL运动中,Cassandra是其中重要的一个分布式key-value数据库产品,由Facebook在2008年开源,目前是Apache的顶级项目。 在2009年兴起的NoSQL运动中,Cassandra是其中重要的一个分布式key-value数据库产品,由Facebook在2008年开源,目前是Apache的较高级项目。最近twitte...

2019-10-14 13:50:13 626

转载 Cassandra监控运维工具

cassandra是一个去中心的分布式数据库,且每个节点都是对等,那么如果需要获取得到整个集群的状态或者是说对cassandra集群进行监控或者维护有什么方式可以进行呢?一般进行监控的话,大概获取得到集群的状态、指标等信息即可,如果要进行运维就需要输入一些命令或通过行为让cassandra获取到相关信号进而执行相关命令。这里我们分2个方面进行介绍:命令行、图文介绍命令行我们知道c...

2019-10-14 13:36:41 1446

转载 Cassandra简介

在前面的一篇文章《图形数据库Neo4J简介》中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法。而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介绍。  接触Cassandra的原因与接触Neo4J的原因相同:我们的产品需要能够记录一系列关系型数据库所无法快速处理的大量数据。Cassandra,以及后面将要介绍的MongoDB,都是我们在技术选型过程中...

2019-10-14 11:49:45 354

转载 Cassandra配置多节点集群

上一篇文章 Cassandra入门指南 中,我们已经配置好了一个单节点集群,接下来,我们要往这个集群中多加几个节点,看看多个节点是如何同时工作的。Cassandra节点之间交换信息是通过一种叫做Gossip(暂时不知道该翻译为哪个专有名词合适,暂且意会吧)的机制。但是要想让一个消息传递到一个新加入的节点,至少还需要知道另外一个节点,这个节点叫做种子(Seed)。通常我们会选择一小部分相对稳定的节点...

2019-10-14 10:41:26 1763

转载 cassandra日常维护之nodetool cleanup

nodetool cleanup 官方的解释是:cassandra在扩容一个节点到新集群的时候,有些数据会复制一份到新节点,然后属于新节点的数据仍然存在那些老节点上。它自己不会主动的去删除。所以在每次扩容之后,你需要在每个老节点上执行cleanup操作。根据实践:cleanup操作在执行过程中可能会生成一些临时文件,并且导致IO利用率少许上升,机器负载少许增加,cleanup是单线程...

2019-10-14 09:52:39 229

转载 用两个栈实现队列(Java)

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和队列头部删除结点的功能。 template<typename T> class CQueue{ public: CQueue(void); ~CQueue(void); void appe...

2019-10-13 12:49:19 347

转载 数据库----参照完整性及多表查询

参照完整性一对多1.例:1.客户和订单的关系就是一对多,一个客户可以有多张订单,一张订单属于一个客户:创建客户表:CREATE TABLE customers(id int,name varchar(100),address varchar(255),PRIMARY KEY(id));创建订单表:CREATE TABLE orders(order_num int ...

2019-10-12 18:23:57 612

转载 mysql-参照完整性

MySQL参照完整性一般是通过MySQL外键(foreign key)实现的。外键(仅innoDB支持)所引用表的列必须是主键。外键声明包括三个部分:A、哪个列或列组合是外键B、指定外键参照的表和列C、参照动作[cascade(级联操作),restrict(拒绝操作),set null(设为空),no action,set default]。如果外键约束指定了参照动作,主表记录做...

2019-10-12 18:20:54 1944

转载 【问底】许鹏:使用Spark+Cassandra打造高性能数据分析平台(一)

问底大数据NoSQLSparkCassandra摘要:Spark,强大的迭代计算框架,在内存数据计算上无可匹敌。Cassandra,优异的列式存储NoSQL,在写入操作上难逢敌手。自本期《问底》,许鹏将结合实际实践,带大家打造一个由Spark和Cassandra组成的大数据分析平台。3. 利用Spark强化Cassandra的实时分析功能在Cassandra数据模型一节中,...

2019-10-12 15:48:54 590

Google.Android.SDK开发范例大全.pdf

Google.Android.SDK开发范例大全.pdf

2013-06-29

空空如也

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

TA关注的人

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