- 博客(6)
- 收藏
- 关注
转载 Golang Reflect反射
Go是静态类型语言。每个变量都拥有一个静态类型,这意味着每个变量的类型在编译时都是确定的:int,float32, *AutoType, []byte, chan []int 诸如此类。动静类型 编译时就知道变量类型的是静态类型;运行时才知道一个变量类型的叫做动态类型。 1. 静态类型 静态类型就是变量声明时的赋予的类型
2018-01-29 17:49:35 13472 3
转载 Golang channel用法
一、Golang并发基础理论Golang在并发设计方面参考了C.A.R Hoare的CSP,即Communicating Sequential Processes并发模型理论。但就像John Graham-Cumming所说的那样,多数Golang程序员或爱好者仅仅停留在“知道”这一层次,理解CSP理论的并不多,毕竟多数程序员是搞工程 的。不过要想系统学习CSP的人可以从这里下载到CSP论
2018-01-29 17:48:19 578
转载 Atomic包
简介Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作。原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞。 在Atomic包里一共有12个类,四种原子更新方式,分别是原子更新基本类型,原子更新数组,原
2018-01-29 17:40:41 163
转载 Atomic包的使用
简介Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作。原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞。 <br style="margin-top:0px">在Atomic包里一共有12
2018-01-29 17:37:49 359
原创 事务的回滚
事务回滚有两种:1. throw new RuntimeException2.TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();下面我来说一下这两个有啥区别。第一种, 抛出一个异常,这种方法很简单粗暴,但是有一个很隐蔽的问题:如果不小心抛出去得异常又被自己catch住了,就不能进行回
2018-01-29 17:29:29 523
原创 finally中的return语句
finally中的return会影响到本方法中抛出得异常,请看下面代码:public class Test { public static void main(String[] args) { try { doMyTest(); }catch (Exception e){ System.out.println(
2018-01-29 17:16:04 460
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人