- 博客(354)
- 资源 (39)
- 收藏
- 关注
原创 流程引擎之compileflow idea 2024.*插件支持
之前有使用过多种类型工作流,但最近研究工作流引擎对比各有优劣,compileflow内存支持性能不错,但在idea新版本使用的时候发现插件不支持,干脆自己修改源码手撸一个(当前版本2024.1验证可用,如果有其他版本不支持或者想要现成的欢迎留言,直接修改后发布个对应版本的进行支持)
2024-05-27 17:24:32
594
5
原创 机器中明明 free 还有很大空间,但为什么程序运行提示内存不足? available 是不是当前程序可以使用的剩余内存总量?
工作中线上机器使用的是物理机,发现当程序使用内存到一定量,明明 free 还有几十G,但程序已经崩溃,查看异常信息提示 no space,这种是什么情况?free -mh 查看内存使用情况,free 剩余几十G,但 available 只剩余几个G。
2024-03-23 17:55:25
1303
转载 Apache Calcite 简介
1. 什么是Apache Calcite ?Apache Calcite 是一款开源SQL解析工具, 可以将各种SQL语句解析成抽象语法术AST(Abstract Syntax Tree), 之后通过操作AST就可以把SQL中所要表达的算法与关系体现在具体代码之中。Calcite的生前为Optiq(也为Farrago), 为Java语言编写, 通过十多年的发展, 在2013年成为Apach...
2020-01-01 22:20:53
694
转载 分布式事务与一致性算法Paxos & raft & zab
1.CAP原理要想数据高可用,就得写多份数据写多分数据就会导致数据一致性问题数据一致性问题会引起性能问题2.一致性模型弱一致性最终一致性(一段时间达到一致性)强一致1、2 异步冗余;3是同步冗余3.扩展服务的方案数据分区: uid % 16数据镜像:让多有的服务器都有相同的数据,提供相当的服务(冗余存储,一般3份为好)4.两种方案的事务问题A向B汇钱...
2019-08-04 14:48:33
348
转载 Elasticsearch部分总结
git上发现了网友总结的Elasticsearch BAT大厂面试题。只有题目,部分有答案,但不全。 正好抽出一些时间一起梳理一下。既然是面试题,每个人都会有自己的结合业务场景的答案,没有非常标准的答案。欢迎大家留言拍砖指正。1、elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段 。面试官:想了解应聘者之前公司接触的ES...
2019-08-04 14:32:09
452
原创 倒水问题解决思路
这个问题是在之前面试一个公司的时候遇到的,以前没遇到过这种问题,猛然上来有点懵逼。不过几分钟整理思路有了些许解题方案,但临时想的方案漏洞还是有些,思路有了,大方向对了,写代码虽然说就简单了,但大脑混沌状态真的是还不一定写出完美的代码。题意:给你两个容器 A B 问是否能够经过有限的步骤倒水,得到容量为 C 的水输出最小的步数,同时输出每一步的操作。如果不能达到目标状态,则输出i...
2019-05-11 21:03:10
5280
转载 Leveldb 实现原理
郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,本文的配图是自己重新绘制的,大部分内容与原文相似,大家可以浏览原始页面 :-),感兴趣的话可以一起讨论 Leveldb 的实现原理!LevelDb日知录之一:LevelDb 101...
2019-04-23 17:06:46
243
转载 奇异值分解(SVD)原理总结
微信也是不要脸,记录下微信的地址:https://mp.weixin.qq.com/s?__biz=MzU0MDQ1NjAzNg==&mid=100002266&idx=1&sn=770ff2fbde050a1c15465cf8df5c93c1&chksm=7b39acd14c4e25c772241fdaf4b2094f2ef9d2c3276254aaa8dcdc1...
2019-04-14 17:17:59
1207
原创 多线程DAG调度
没有找妹子排版,这效果差距是有点大!git地址:https://github.com/a925907195/dag-flow-platform第1章基础介绍1.1简介1.2什么是DAG1.3 Hystrix第2章DAG-FLOW介绍2.1基础模块介绍2.2基础流程介绍 基础介绍 简介 DAG即Directed Acyclic ...
2019-03-06 21:44:42
6403
6
转载 HRegionServer的详解
Point 1: HRegionServer一般和DataNode在同一台机器上运行,实现数据的本地性。Point 2: HRegionServer包含多个HRegion,由WAL(HLog)、BlockCache、MemStore、HFile组成。1.WAL即Write Ahead Log,在早期版本中称为HLog,它是HDFS上的一个文件,如其名字所表示的,所有写操作都会先保证将数...
2019-02-15 21:46:50
3765
转载 HBase - 数据写入流程解析
本文由 网易云 发布 作者:范欣欣本篇文章仅限内部分享,如需转载,请联系网易获取授权。 众所周知,HBase默认适用于写多读少的应用,正是依赖于它相当出色的写入性能:一个100台RS的集群可以轻松地支撑每天10T 的写入量。当然,为了支持更高吞吐量的写入,HBase还在不断地进行优化和修正,这篇文章结合0.98版本的源码全面地分析HBase的写入流程,全文分为三个部分,第...
2019-02-15 14:09:28
305
转载 HBaseRegionServer宕机数据恢复
HBase采用类LSM的架构体系,数据写入并没有直接写入数据文件,而是会先写入缓存(Memstore),在满足一定条件下缓存数据再会异步刷新到硬盘。为了防止数据写入缓存之后不会因为RegionServer进程发生异常导致数据丢失,在写入缓存之前会首先将数据顺序写入HLog中。如果不幸一旦发生RegionServer宕机或者其他异常,这种设计可以从HLog中进行日志回放进行数据补救,保证数据不丢失。...
2019-02-15 11:44:47
531
1
转载 Spring 事务用法示例与实现原理
原创出处 https://my.oschina.net/zhangxufeng/blog/1935556 1. 使用示例 2. 标签解析 3. 实现原理 4. 小结关于事务,简单来说,就是为了保证数据完整性而存在的一种工具,其主要有四大特性:原子性,一致性,隔离性和持久性。对于Spring事务,其最终还是在数据库层面实现的,而Spring只是以一种比较优雅的方式对其进行封装支持。...
2019-02-14 19:38:42
315
转载 Spring IOC 过程
原创出处 http://www.jianshu.com/p/17b66e6390fd 「莫那一鲁道」欢迎转载,保留摘要,谢谢!1. 广义的 IOC 2. Spring 的 IoC 3. 总结1. 广义的 IOCIoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”。两种实现: 依赖查找(DL)和依赖注入(DI)。IOC 和 DI 、DL...
2019-02-13 20:48:30
1196
转载 Spring AOP 原理
Spring AOP ,应该是国内面试必问题,网上有很多答案,其实背背就可以。但今天笔者带大家一起深入浅出源码,看看他的原理。以期让印象更加深刻,面试的时候游刃有余。Spring AOP 原理简单说说 AOP 的设计:每个 Bean 都会被 JDK 或者 Cglib 代理。取决于是否有接口。 每个 Bean 会有多个“方法拦截器”。注意:拦截器分为两层,外层由 Spring 内核控制...
2019-02-13 20:35:16
216
转载 Spring MVC 执行过程
Spring MVC 过程1. 设置属性 2. 根据 Request 请求的 URL 得到对应的 handler 执行链,其实就是拦截器和 Controller 代理对象。 3. 得到 handler 的适配器 4. 循环执行 handler 的 pre 拦截器 5. 执行真正的 handler,并返回 ModelAndView(Handler 是个代理对象,可能会执行 AOP ) ...
2019-02-13 20:28:53
223
转载 架构设计方法
摘要: 原创出处 https://juejin.im/post/5b2c6669e51d4558c91ba776 「陈彩华」欢迎转载,保留摘要,谢谢!1. 基本概念和目的 2. 架构设计复杂度来源 2.1 高性能 2.2 高可用 2.3 可扩展性 2.4 低成本、安全、规模 3. 架构设计三原则 3.1 合适原则 3.2 简单原则 3.3 演化原则 4. ...
2019-02-12 15:00:51
256
转载 JAVA拾遗--关于SPI机制
原链接:https://www.cnkirito.moe/spi/写的小demo:https://download.youkuaiyun.com/download/a925907195/10953875JDK提供的SPI(Service Provider Interface)机制,可能很多人不太熟悉,因为这个机制是针对厂商或者插件的,也可以在一些框架的扩展中看到。其核心类java.util.Servi...
2019-02-12 14:38:20
266
2
转载 FutureTask源码分析,主要是为自己回顾下timeout地方
FutureTask是JDK1.6新增的内容,间接实现了Future, Runnable接口。前面已经介绍过了Future的get方法会阻塞在那,等待执行完成,获取结果,那么FutureTask是怎么实现这一功能的呢?相关类简介LockSupportLockSupport是用来创建锁及其他同步类的基本线程阻塞元素,它的park和 unpark能够分别阻塞线程和解除线程阻塞。它提供了可以...
2019-01-12 16:45:17
236
转载 Hystrix请求命令 HystrixCommand、HystrixObservableCommand
最近在看rxjava还有hystrix,看着不错记录下来做个备份原url:https://www.cnblogs.com/happyflyingpig/p/8079308.htmlHystrix有两个请求命令 HystrixCommand、HystrixObservableCommand。 HystrixCommand用在依赖服务返回单个操作结果的时候。又两种执行方式 -e...
2019-01-05 21:20:48
1970
转载 Zookeeper架构及FastLeaderElection机制
本文介绍了Zookeeper的架构,并组合实例分析了原子广播(ZAB)协议的原理,包括但不限于Zookeeper的读写流程,FastLeaderElection算法的原理,ZAB如何保证Leader Failover过程中的数据一致性。原创文章,转载请务必将下面这段话置于文章开头处。本文转发自技术世界,原文链接 http://www.jasongj.com/zookeeper/fastle...
2018-12-06 21:03:52
473
转载 几种序列化协议(protobuf,xstream,jackjson,jdk,hessian)相关数据对比
最近研究了下google protobuf协议,顺便对比了一下json,xml,java序列化相关的数据对比,从几个纬度进行对比。 别人的相关测试数据: http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking 测试纬度序列化时间 反序列化时间 bytes大小测试代码准备protobuf文件...
2018-11-05 20:22:05
1026
转载 Linux磁盘空间查看及空间满的处理
如果要查看磁盘还剩多少空间,当然是用df的命令了。 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 14G 11G 2.6G 82% / /dev/sda1 99M 14M 81M 14% /boot tmpfs 442M 275M 168M 63% /dev/shm /dev/mapper/vg_test-...
2018-11-05 19:24:03
1910
转载 四、Spark性能优化:shuffle调优
shuffle调优调优概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部...
2018-09-07 15:31:44
246
转载 三、Spark性能优化:数据倾斜调优
前言 继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性...
2018-09-07 15:31:05
252
转载 二、Spark性能优化:资源调优篇
在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无...
2018-09-07 15:30:19
193
转载 一、Spark性能优化:开发调优篇
1、前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算...
2018-09-07 15:29:18
243
原创 记录两次sparkjob优化,性能提升几十倍不止
目前在做两个项目,一个搜索平台化一个排序服务化,在项目开发中两者都用到了spark开发数据处理,遇到问题多多,但解决后性能提升几十倍不止,下面记录下两次优化。一、在特征处理中,需要读取hive的数据进行业务逻辑处理写入到kv系统中,为了减少shuffle,每次处理直接用mapPartitons以及foreachPartitons进行处理,整体都速度不错,但是就是有那么几个特征hive表处理就是...
2018-09-04 18:04:38
1912
转载 Kafak(04) Kafka生产者事务和幂等
Kafak(04) Kafka生产者事务和幂等来源:http://www.heartthinkdo.com/?p=2040目录 [隐藏]1 生产者幂等性 1.1 引入 1.2 幂等性实现 1.2.1 PID 和 Sequence Number 1.2.2 生成PID的流程 1.3 幂等性的应用实例 2 事务属性 2.1 事务属性理解 2.2 引入...
2018-07-28 16:32:08
1303
转载 Java并发之AQS详解(转发一下很经典)
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。 以下是本文的目录大...
2018-07-19 10:35:06
346
转载 spark参数调优
最近在搞一个sparkjob,耗时真的是醉醉的,最终的reduce过程只占三分之一的时间,其他的占了三分之二的时间,非常不合理,这个重新调整下摘要 1.num-executors 2.executor-memory 3.executor-cores 4.driver-memory 5.spark.default.parallelism 6.spark.storage.memoryFra...
2018-05-29 20:56:00
573
原创 记一次mr中限流报的异常问题
在将特征处理的项目从mr改造成spark过程中又加入了新的编码方式,本来原始mrjob代码什么都没动,结果线上跑起来就报Exception,这是在项目中使用ratelimit进行处理限速,然后配置了失败率就凉凉了INFO 2018-05-23 20:11:17 syncmapreduce 50 Line - 18/05/23 20:11:17 INFO mapreduce.Job: Task Id...
2018-05-24 19:39:35
668
转载 Maven依赖中的scope详解
Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。scope的分类compile默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,...
2018-05-24 10:29:23
447
转载 在Mac上配置全局的Git忽略文件
同时搞着好几个项目,在Xcode、IDEA、Eclipse之间频繁的切换,每个项目的忽略文件列表都不一样,每个项目都有一个.gitignore,甚是麻烦,今天网上拔出来一个设置全局忽略的办法jianshengs-MacBook-Pro:~ jianshengfu$ vim .gitignore_globaljianshengs-MacBook-Pro:~ jianshengfu$ git conf...
2018-05-23 10:21:39
6441
转载 JAVA深入研究——Method的Invoke方法
在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错。虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke方法...
2018-04-28 19:43:30
593
转载 spark reparation和coalesce
repartition(numPartitions:Int):RDD[T]和coalesce(numPartitions:Int,shuffle:Boolean=false):RDD[T] 他们两个都是RDD的分区进行重新划分,repartition只是coalesce接口中shuffle为true的简易实现,(假设RDD有N个分区,需要重新划分成M个分区) 1、N小于M 一般情况下N个分区有数据...
2018-04-25 19:43:28
731
转载 分布式环境下限流方案的实现redis RateLimiter Guava,Token Bucket, Leaky Bucket
业务背景介绍 对于web应用的限流,光看标题,似乎过于抽象,难以理解,那我们还是以具体的某一个应用场景来引入这个话题吧。 在日常生活中,我们肯定收到过不少不少这样的短信,“双11约吗?,千款….”,“您有幸获得唱读卡,赶快戳链接…”。这种类型的短信是属于推广性质的短信。为什么我要说这个呢?听我慢慢道来。 一般而言,对于推广营销类短信,它们针对某一群体(譬如注册会员)进行定点推送,有时这个群体的成员...
2018-04-25 11:11:07
619
流程引擎之compileflow idea 2024.*插件支持
2024-05-27
SkyAR完整代码+依赖文件:checkpoints-G-coord-resnet50
2023-06-11
视频换天造物实践秒变科幻大片实践相关资料:checkpoints-G-coord-resnet50
2023-06-11
gradle-4.3&jdk10-mac.zip|gradle-4.3&jdk10-mac.zip
2020-11-07
spi-demo java spi小例子
2019-02-12
java垃圾回收以及jvm参数调优概述
2017-06-18
maven+springMVC+mybatis+velocity+mysql+junit 代码生成器
2016-11-06
maven+springMVC+mybatis+velocity+mysql+junit项目框架搭建
2016-11-06
IK源码及讲解中的测试代码
2014-12-09
solr4.7示例包含需要的jar包
2014-03-19
抽象工厂模式简洁介绍附带net简单用例代码如果你还不理解是老天爷的错
2013-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人