随笔分类 -  java

上一页 1 2 3 4 5 6 7 ··· 9 下一页
JAVA 转型
摘要:之前写过一篇博客,是关于如何解析类似sql之类的解析器实现参考:https://www.cnblogs.com/yougewe/p/13774289.html 之前的解析器,更多的是是做语言的翻译转换工作,并不涉及具体的数据运算。而且抛弃了许多上下文关联语法处理,所以相对还是简单的。 那么,如果我们 阅读全文
posted @ 2020-11-28 13:59 阿牛20 阅读(602) 评论(0) 推荐(0) 编辑
摘要:最近搞一个文件上传功能,由于文件太大,或者说其中包含了比较多的内容,需要大量逻辑处理。为了优化用户体验,自然想到使用异步来做这件事。也就是说,用户上传完文件后,我就开启另一个线程来处理具体逻辑,主线程就直接返回用户成功信息了。这样就显得非常快了,要看具体结果可以到结果页进行查看。看起来很棒! 然后, 阅读全文
posted @ 2020-11-22 17:25 阿牛20 阅读(2164) 评论(0) 推荐(2) 编辑
摘要:实际工作中使用ES有一段时间了,比起一直在理论上接触ES还是要好上一些的。今天就来总结一些实际工作中用到的一些ES功能吧。本文编排顺序,按使用的先后可能性排序编排。ES的功能很强大,但我们能用到的,也许并不会太多,所以本文可作为一个简单速查手册使用哟。 1. 查看集群状态 # 健康检查 GET _c 阅读全文
posted @ 2020-11-15 09:59 阿牛20 阅读(1127) 评论(0) 推荐(0) 编辑
摘要:有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用。涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的。 废话不多说,java如何执行shell命令?自然是调用java语言类库提供的接口API了。 1. java执行shell的api 执行sh 阅读全文
posted @ 2020-11-08 14:27 阿牛20 阅读(6769) 评论(0) 推荐(3) 编辑
摘要:用hive来做数仓类操作,或者大数据的运算,是没有疑问的,至少在你没有更多选择之前。 当我们要hive来做类似于大批量数据的select时,也许问题就会发生了变化。 1. 通用解决方案:分页拉取 首先,我们要基于一个事实,就是没有哪个数据库可以无限制的提供我们select任意数据量的数据。比如常用的 阅读全文
posted @ 2020-11-01 15:17 阿牛20 阅读(3304) 评论(1) 推荐(2) 编辑
摘要:知识图谱听起来很高大上,而且也应用广泛,如用于血缘关系查询,知识链展示,异动分析。而图数据库,你可以到网上搜搜,基本就是像 neo4j, janusgraph, HugeGraph,还有像阿里闭源提供的graphcompute服务... 如果有个图谱类似的需求,你会怎么办呢?一来就上真的图谱真的好吗 阅读全文
posted @ 2020-10-24 22:39 阿牛20 阅读(654) 评论(0) 推荐(1) 编辑
摘要:在很多应用场景中,我们都会面临着排序需求,可以说是见怪不怪。我们也看过许多的排序算法:从最简单的冒泡排序、选择排序,到稍微好点的插入排序、希尔排序,再到有点理论的堆排序、快速排序,再到高级的归并排序、桶排序、基数排序。 而实际工作中我们可能用到的排序有哪些呢?而且,大部分时序,相信大家都是使用一个现 阅读全文
posted @ 2020-10-12 13:39 阿牛20 阅读(1659) 评论(0) 推荐(0) 编辑
摘要:有时候,我们为了屏蔽一些底层的差异,我们会要求上游系统按照某种约定进行传参。而在我们自己的系统层则会按照具体的底层协议进行适配,这是通用的做法。但当我们要求上游系统传入的参数非常复杂时,也许我们会有一套自己的语法定义,用以减轻所有参数的不停变化。比如sql协议,就是一个一级棒的语法,同样是调用底层功 阅读全文
posted @ 2020-10-06 19:28 阿牛20 阅读(1558) 评论(0) 推荐(2) 编辑
摘要:大数据技术在当下时代,已经不算是什么新鲜东西了。但绝大部分同学往往又是没机会接触大数据相关底层技术的,包括我自己。 不过,俗话说没吃过猪肉还没见过猪跑吗?哈哈,今天就来说说我对大数据技术的思考吧,希望会给部分同学解开一些迷惑! 1.什么是大数据? 我们不搞虚的:大数据就是数据量比较大的场景,比如上T 阅读全文
posted @ 2020-09-28 08:47 阿牛20 阅读(930) 评论(1) 推荐(0) 编辑
摘要:prometheus 是一个非常好的监控组件,尤其是其与grafana配合之后,更是如虎添翼。而prometheus的监控有两种实现方式。1. server端主动拉取应用监控数据;2. 主动推送监控数据到prometheus网关。这两种方式各有优劣,server端主动拉取实现可以让应用专心做自己的事 阅读全文
posted @ 2020-09-20 09:50 阿牛20 阅读(3158) 评论(0) 推荐(0) 编辑
摘要:针对有些耗时比较长的任务,我们一般会想到使用异步化的方式来进行优化逻辑。即客户端先发起一次任务请求并携带回调地址callbackUrl,然后服务端收到请求后立即返回成功,然后在后台处理具体事务,等任务完成后再回调客户端,通知完成。 首先这个方案是值得肯定的,但是我们得注意几点:1. 客户端回调是否可 阅读全文
posted @ 2020-09-05 12:43 阿牛20 阅读(805) 评论(0) 推荐(0) 编辑
摘要:如果我们使用文件来存储数据,那么如何考虑它们的性能呢?假设我们只会按照行来读取数据,该如何分布文件,才能达到一个比较好的性能呢? 需求: 1. 需要支持通过行号定位数据;2. 需要支持任意多行连续数据的读取;(类似于sql中的 limit offset, size;) 功能实际很简单,只要把数据按照 阅读全文
posted @ 2020-08-23 15:36 阿牛20 阅读(677) 评论(0) 推荐(0) 编辑
摘要:在实际工作中,很进行列表查询的场景,我们往往都需要做两个步骤:1. 查询所需页数对应数据;2. 统计符合条件的数据总数;而这,又会导致我们必然至少要写2个sql进行操作。这无形中增加了我们的工作量,另外,当发生需要变动时,我们又需要同时改动这两个sql,否则必然导致结果的不一致。 因此,我们需要一个 阅读全文
posted @ 2020-08-22 16:06 阿牛20 阅读(15203) 评论(0) 推荐(1) 编辑
摘要:文接上一篇。上篇讲到netty暴露一个端口出来,acceptor, handler, pipeline, eventloop 都已准备好。但是并没体现其如何处理接入新的网络请求,今天我们就一起来看看吧。 1. eventloop主循环 上篇讲到,netty启动起来之后,就会有很多个eventloop 阅读全文
posted @ 2020-08-08 21:12 阿牛20 阅读(1699) 评论(0) 推荐(0) 编辑
摘要:netty作为一个被广泛应用的通信框架,有必要我们多了解一点。 实际上netty的几个重要的技术亮点: 1. reactor的线程模型; 2. 安全有效的nio非阻塞io模型应用; 3. pipeline流水线式的灵活处理过程; 4. channelHandler的灵活实现; 5. 提供许多开箱即用 阅读全文
posted @ 2020-08-01 17:15 阿牛20 阅读(1896) 评论(0) 推荐(0) 编辑
摘要:Hive sql与我们普通使用的sql基本差异不大,但在大数据领域往往存在很多未知的需求,所以往往都有一个支持自定义功能函数编写的口子,让用户实现其特定的需求。(这往往并非hive独有,几乎都是标配) 而要写udf往往也是比较简单,看几个例子,依葫芦画瓢总能搞几个。 今天我们就来简单写一个“自然周差 阅读全文
posted @ 2020-07-31 13:15 阿牛20 阅读(1345) 评论(0) 推荐(0) 编辑
摘要:日志文件自动删除功能必不可少,当然你可以让运维去做这事,只是这不地道。而日志组件是一个必备组件,让其多做一件删除的工作,无可厚非。本文就来探讨下 log4j 的日志文件自动删除实现吧。 0. 自动删除配置参考样例: (log4j2.xml) <?xml version="1.0" encoding= 阅读全文
posted @ 2020-07-31 09:10 阿牛20 阅读(14384) 评论(0) 推荐(1) 编辑
摘要:本文讨论java集合容器中的几种元素数量获取的方式,命题很小,但是也足以让我们思考一些东西。 所谓计数:即是给出所在容器的元素总数的方式。一般能想到的就是两种方式:一是使用某个字段直接存储该计数值,二是在请求计数值时临时去计算所有元素数量。貌似本文的答案已经出来了。好吧,那我们还是从源码的角度来验证 阅读全文
posted @ 2020-07-05 10:55 阿牛20 阅读(1581) 评论(0) 推荐(0) 编辑
摘要:zuul 作为springCloud 的全家桶组件之一,有着不可或缺的分量。它作为一个普通java API网关,自有网关的好处: 避免将内部信息暴露给外部; 统一服务端应用入口; 为微服务添加额外的安全层; 支持混合通信协议; 降低构建微服务的复杂性; 微服务模拟与虚拟化; zuul 基本上已经被s 阅读全文
posted @ 2020-06-07 22:01 阿牛20 阅读(1654) 评论(0) 推荐(1) 编辑
摘要:我们现在用得非常多互联网下载文件,非常直观。有一个下载按钮,然后我点击了下载,然后文件慢慢就下载到本地了。就好像是一个复制的过程。 而既然是互联网,那么必然会是使用网络进行传输的。那么到底是怎样传输的呢? 当然,下载文件有两种方式:一是直接针对某个文件资源进行下载,无需应用开发代码;二是应用代码临时 阅读全文
posted @ 2020-05-19 12:18 阿牛20 阅读(17998) 评论(0) 推荐(2) 编辑

上一页 1 2 3 4 5 6 7 ··· 9 下一页