每月归档: 2018年9月

4 篇

kettle 教程(四):自定义 Java 代码

背景

kettle 拥有很多自带的组件,能帮我们实现很多的功能。

但是我们总有一些很复(qi)杂(pa)的需求,用自带的组件实现不了,或者说实现起来很复杂。那么这时我们就要用到万能的组件了( Java 代码),通过自己写代码来实现任何想要的功能。

继续阅读

【转】分布式锁简单入门以及三种实现方式介绍

转载自 https://blog.csdn.net/xlgen157387/article/details/79036337

一、为什么要使用分布式锁

我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug!

注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这个JVM内部的一块内存空间!

继续阅读

MySQL 的事务隔离级别

我们先来回忆下什么是事务。

考虑一种场景。银行转账,甲转 100 给乙,分为两步:

  • 甲扣除 100
  • 乙增加 100

如果甲的钱扣了,乙的钱没有增加,那么数据就会不一致,这时候就要用到事务。因为事务的一个特性,就是原子性:要么不做,要么全做

继续阅读