事务问题(一) | wsztrush 

作者:JerryXia | 发表于 , 阅读 (0)
写在前面现在开发的系统对准确性要求非常高,而数据的一致性和准确性几乎完全依赖数据库的事务,如果事务跪了,结局是要多惨有多惨(经历过的都懂的)。
当然MySQL本身也有一些BUG但并不多,大部分的出错都是业务代码写残了,下面来看遇到过的一些例子!
常遇问题下面的场景都是Java操作MySQL/InnoDB、事务隔离级别为RC时遇到的:
不生效之一:代码问题不生效模板代码如下:
12345678910public class Manager {    public void func1() {        func2();    }    @Transactional    public void func2() {        // 数据库操作    }}调用manager.func2事务是生效的,而调用manager.func1时不生效!开始分析原因:
Spring对@Transactional修饰的方法进行AOP拦截处理;Spring中的AOP是通过代理实现的;那么,先来看个代理的例子(CGLIB):
123456public Object intercept(Obj...阅读全文

 支持向量机 | wsztrush 

作者:JerryXia | 发表于 , 阅读 (0)
平面上有两种不同类型的点:

用支持向量机将他们分开的思路是:
找到一个划分平面,将蓝色和红色分开,同时尽量离他们比较远(间隔越大越好)。
显然上面的并不是最好,找最优解的过程比较精彩,慢慢来看。
模型假设空间中有训练数据集$(x_1, y_1),(x_2, y_2),…,(x_n, y_n)$,得到的划分平面为:
$$w · x + b = 0$$
$(x_i, y_i)$到平面的函数间隔为:
$$\hat{\gamma} = \min \quad y_i \times (w·x_i + b)$$
在$w,b$同比例变化时,平面没有动,但是函数间隔却增大了,于是有了几何间隔:
$$\gamma = \min \quad y_i \times (\frac{w}{\left \| w \right \|}·x_i + \frac{b}{\left \| w \right \|})$$
模型要将数据划分开,并且在最差(异类接近)的数据上也分的最开:
$$\begin{align}\max & \quad \gamma \\st. & \quad y_i \time...阅读全文