rpc跟踪日志常用shell统计脚本
rpc跟踪日志作为时间序列数据,一般字段有:时间、traceId、接口名、执行时间ms、执行结果等。笔者将自己常用的shell统计脚本记录下来,也希望对大家有帮助。
开源项目提交者
rpc跟踪日志作为时间序列数据,一般字段有:时间、traceId、接口名、执行时间ms、执行结果等。笔者将自己常用的shell统计脚本记录下来,也希望对大家有帮助。
本文讲述了jvm,gc等的基本概念和jvm的内存基本结构,对内存的访问定位等。
在我们业务项目上线过程中,有同事大意将线程池的的定义放到了局部变量中,导致服务运行一段后Java进程僵死,宿主机也处于僵死状态。血的教训:线程池使用时候一定注意要全局化,共享使用。
升级到Spring Framework 5.x.须知。本文翻译了spring5的一些改动点,方便要升级到spring5的开发者参考。
业务上常常有这样一个需求:一个服务常常会从多个数据源取得数据,然后并成一个结果。现在java8提供了一个很好的CompletableFuture工具。 一般的异步异步设计方案为:起一个业务的线程池,并发执行业务,然后一个守护的线程等各个业务结束(时间为业务执行最长的时间),获取所有数据,这样明显执行时间会小于3个业务时间之和(例如下面的getAllInfoByProductId)。而是用了执行最长的业务时间,加上守护线程的消耗。
长期以来,Java语言被吐槽”臃肿不堪“,不如Ruby、python、groovy等”动态“原因简介明了。所谓简明了,大家一般指的是下面这些,代码行数多。jdk开发者从Java 8 开始,提供了越来越丰富的语法糖,各种lambda 表达式让代码越来越简明。比如 for each、 java bean的getter、setter,所以Java程序员的代码量一般很高。Lambda 表达式是一个匿名方法,将行为像数据一样进行传递
中国互联网公司这十几年的蓬勃发展,涌现了BAT、华为等一批公司开源项目的领军者,不少个人开发者也不断闪耀在开源领域。我最近有幸参与了一个Apache项目的孵化初始化过程,从一个committer的视角将一些注册的流程记录一下。
2018-05-12,dubbo meetup北京在车库咖啡举行,我作为企业用户在大会进行了演讲:《Dubbo和微店的服务化实践历程》主要讲了公司用dubbo实施服务化过程中,遇到的一些问题和自研的相关组件
感受了Java lambda表达式的方便后,我们会思考其实现的原理。做到“知其然,知其所以然”
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。MyBatis并不刻意于完成ORM(对象映射)的完整概念,而是旨在更简单、更方便地完成数据库操作功能,减轻开发人员的工作量.