Spring事务传播行为详解 - 个人文章

JerryTse 386 Spring事务传播行为详解 java spring 事务 更新于 2019-09-30  约 29 分钟 前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确...阅读全文

SegmentFault 思否 2019-09-30 00:00 SegmentFault 思否 等

编程小梦

Apache Doris 在美团点评的实践 作者: 康凯森 日期: 2019-04-27 分类: OLAP 技术选型 背景 用户需求 Why Not Other ROLAP Why Doris 典型应用 变化维表 Join 明细 + 聚合 外卖准实时数仓 Doris 服务现状 平台化建设 Hive To Doris Kafka To Doris 功能改造 谓词下推的传递性优化 查询执行多实例并发 Colocate Join 未来规划 致谢 本文的内容是我 4 月 13 日在 Doris Meet...阅读全文

Apache Doris 在美团点评的实践 2019-04-27 00:00 Apache Doris 在美 等

Spring AOP基于注解的Around通知

@Around是一种建议类型,可确保方法执行前后的通知可以运行。 以下是@Around通知的语法: 语法 @Pointcut("execution(* com.yiibai.Student.getAge(..))") private void selectGetName(){} @Around("selectGetAge()") public void aroundAdvice(ProceedingJoinPoint proceedingJoinPoint){ System.out.printl...阅读全文

Spring AOP教程™ 2272-05-02 00:00 Spring AOP教程™

窗口函数--配合over(...)的选项 rows/range between ... preceding and ... following--工作备忘2016/9/30_数据库_Richie's 残酷舞台

说明:在使用over()函数进行统计(尤其是求和,求平均的等)的时候,有时候需要设定一个范围(时间,数值等),因此,oracle提供了窗口函数选项 rows/rang between ... preceding and ... following  分析函数的语法结构一般是:分析函数名(参数) OVER (PARTITION BY子句 ORDER BY子句 ROWS/RANGE子句) 即由以下三部分组成:分析函数名:如sum、max、min、count、avg等聚集函数以及lead、lag行比较...阅读全文

CSDN博客 2016-09-30 17:19 CSDN博客

Hive学习之路 (十七)Hive分析窗口函数(五) GROUPING SETS、GROUPING__ID、CUBE和ROLLUP - 扎心了,老铁

概述 GROUPING SETS,GROUPING__ID,CUBE,ROLLUP 这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。 数据准备 数据格式 2015-03,2015-03-10,cookie1 2015-03,2015-03-10,cookie5 2015-03,2015-03-12,cookie7 2015-04,2015-04-12,cookie3 2015-04,2015-04-13,cookie2 2015...阅读全文

博客园 2018-04-15 15:37 博客园

一文探讨堆外内存的监控与回收 | 徐靖峰

引子记得那是一个风和日丽的周末,太阳红彤彤,花儿五颜六色,96 年的普哥微信找到我,描述了一个诡异的线上问题:线上程序使用了 NIO FileChannel 的 堆内内存(HeapByteBuffer)作为缓冲区,读写文件,逻辑可以说相当简单,但根据监控,却发现堆外内存(DirectByteBuffer)飙升,导致了 OutOfMemeory 的异常。 由这个线上问题,引出了这篇文章的主题,主要包括:FileChannel 源码分析,堆外内存监控,堆外内存回收。 问题分析 & 源码分析根据异常日...阅读全文

个人博客 2019-03-17 00:00 个人博客

使用google perf工具来排查堆外内存占用

现象线上机器内存不足,经常被系统oom killer干掉。 如果tomcat运行的好好的,突然被干掉了,没有任何线索,那么就可以使用下面的命令看看是不是oom killer搞的鬼 1234sudo dmesg | grep -i kill | lessOut of memory: Kill process 23195 (java) score 558 or sacrifice childKilled process 23195, UID 40001, (java) total-vm:811767...阅读全文

KL's blog 8117-07-02 00:00 KL's blog

查看堆外内存_运维_浅蓝浅蓝

Java堆外内存排查小结 06-29 阅读数 1万+ 简介JVM堆外内存难排查但经常会出现问题,这可能是目前最全的JVM堆外内存排查思路。通过本文,你应该了解:pmap命令gdb命令perf命令内存RSS、VSZ的区别javaNMT起因这几天遇到一个比较... 博文 来自: 小姐姐味道 阿里巴巴 Arthas 3.1.0版本:在线教程、内存编译器和强大的自动补全 02-14 阅读数 52 Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。从Arthas上个版本发布,已经过去两个...阅读全文

CSDN博客 2018-12-13 22:16 CSDN博客

中小企业团队敏捷产品开发流程的最佳实践

在敏捷开发过程中,一个产品或者一个发布版本通常是由多个冲刺来实现的,每个冲刺都能增量交付可运行的系统功能,实现客户价值。每个冲刺都是从冲刺规划开始,团队成员一起商定冲刺目标和明确交付的系统功能,并进行冲刺执行,实现系统功能,再通过冲刺评审和回顾对实现的产品功能和过程进行检视,期望在下一冲刺过程中对产品功能和过程进行改进和完善。 一、冲刺流程 冲刺包括冲刺规划、冲刺执行、冲刺评审、冲刺回顾四大过程。冲刺是从规划开始,团队成员必须就本次冲刺的目标和计划达成共识,全体成员在整个冲刺过程按照...阅读全文

java技术圈 2020-04-22 15:20:23 CORNERSTONE

产品经理,项目经理和技术经理是如何一起协作管理的?

在软件项目开发中有一些不同的角色,但很容易让人陷入在概念和责任交叉的误区里。 在本文中,我们着重来过考量 IT互联网行业的三个主要职位:产品经理,项目经理和产品经理。这些专家都是项目开发的关键角色,似乎挺相像,但是区分他们的专业边界很重要。 角色定义 让我们开始深入分析这些职业的概念。想请大家注意一个小细节,尽管我们把这三个管理者角色合并在一篇文章里,但它们几个角色的性质是完全不同的。 产品经理 ![image.png](https:...阅读全文

java技术圈 2020-04-21 16:09:22 CORNERSTONE

多个单列索引和联合索引的区别详解_数据库_Abysscarry的博客

背景: 为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。 一、联合索引测试 注:Mysql版本为 5.7.20 创建测试表(表记录数为63188): CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `userId` varchar(255) CHARACTER SET ut...阅读全文

CSDN博客 2018-06-24 17:40 CSDN博客

JDK动态代理为什么必须用接口_Java_秀才的专栏

jdk的动态代理及为什么需要接口 05-14 阅读数 3437 参考文章:https://blog.csdn.net/zxysshgood/article/details/78684229动态代理有关,无非是使用JDK动态代理,和cglib动态代理。一直不待明白的... 博文 来自: 可爱马莲花的博客 深入分析JDK动态代理为什么只能使用接口 11-02 阅读数 403 初学JDK代理时,我们只知道调用一段构造方法Proxy.newProxyInstance(ClassLoader loader...阅读全文

CSDN博客 2017-08-23 14:00 CSDN博客

HeadFirst 设计模式学习笔记8--代理模式_Java_数据库天地

1.这一节的任务是我们需要完成对上一节的糖果机产生一个机器状况和余量的报告,若这个报告在本地(不是通过Internet)生成的话,那么我们的设计就很简单了,在糖果机中加入Location的信息,并且创建一个类GumballMonitor 完成报告的生成: public class GumballMonitor { GumballMachine machine; public GumballMonitor(GumballMachine machine) { this.machine = machi...阅读全文

CSDN博客 2011-11-08 23:24 CSDN博客

java使用局部线程池为什么会造成线程泄露 - 无期(瑶瑶)

java使用局部线程池为什么会造成线程泄露   一、思考 - 造成泄露,肯定是无法被GC回收,那为什么局部线程池没有被回收,我们来通过源码一探究竟    这里先给出结论:ThreadPoolExecutor  ->   Worker   ->  Thread    由于存在这样的引用关系,并且 Thread 作为 GC Root ,所以无法被回收 二、通过ThreadPoolExecutor类对源码一探究竟  不详解 ExecutorService threadPool = new Thread...阅读全文

博客园 2018-10-23 11:01 博客园

Vim 查找/替换/输入非可见字符

在跨平台工作中由于不同编辑器处理换行和空白字符风格不一致, 常常在Vim下会看到一些特殊字符。 本文帮你解决不可见字符的查找、替换、输入等问题。 非可见字符表 Vim中可见特殊字符会直接显示,不可见特殊字符会显示为该字符在命令行的输入方式, 例如 \r 显示为 ^M。通过 :help digraph-table 可看到所有Vim中可输入的特殊字符: char digraph hex dec official name ^@ NU 0x00 0 NULL (NUL) ^A SH 0x01 1 ST...阅读全文

Harttle Land 2016-08-22 00:00 Harttle Land

Java8中lambda表达式无法抛出受检异常的问题

Java8中lambda表达式无法抛出受检异常的问题 问题提出 昨天写代码的时候遇到了一个需要在Java8流中抛出异常的问题,结果一直编译报错,先看下代码: //编译通过 Stream.of("a", "b", "c").forEach(str -> { throw new RuntimeException(); }); //编译失败 Stream.of("a", "b", "c").forEach(str -> { throw new IOException(); }); 把异常catch住处...阅读全文

简书 2764-03-01 00:00 简书

一个关于项目管理者与程序猿之间的笑话

在网上看见有一个笑话是这样的: 1. 程序员写出自认为没有Bug的代码。 2. 软件测试,发现了20个Bug。 3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug。 4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug。 5. 重复3次步骤3和步骤4。 6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于上市了。 7. 用户发现了137个新Bug。 8. 已经领了项目奖金的程序员不知跑到哪里去了。...阅读全文

java技术圈 2020-04-17 15:06:41 CORNERSTONE

如何做好项目管理,避免“计划”和“执行”两张皮?

“凡事预则立,不预则废”,对于计划的重要性,古人早有名言。然而,现代生活压力过大,很多人忽略了计划的重要性,总以“计划永远赶不上变化”、“人生总是充满意外”等等借口来搪塞自己,认为“船到前头自然直”,做任何事情从不制定计划,糊里糊涂,想做就做,事情自然难以取得成功。 好的计划是成功的一半。任何事情,要取得成功,离不开一个科学合理的计划。在项目管理领域中,项目计划同样扮演者非常重要的角色。好的项目计划是项目实施的前提,贯穿整个项目活动,它能够帮助项目经理理清整个项目的脉络,确定项目实施成功所需要...阅读全文

java技术圈 2020-04-13 15:36:41 CORNERSTONE