一起谈谈设计模式(零):静态代理、动态代理,以及动态代理的调用说明

代理模式分为静态代理和动态代理两种方式,静态代理是在开发的时候就写好代理的过程,并且代理类要和目标类实现同一个接口。而动态代理是代理类通过实现InvocationHandler接口完成,在运行期间动态的构建代理对象,在动态代理的实现过程中还有另一个更为重要的类Proxy,准确的来说,Proxy负责生成代理对象,而InvocationHandler是根据生成的代理对象……

原子操作CAS和相关原子操作类的实现原理

众所周知锁有两种:乐观锁与悲观锁。独占锁是一种悲观锁,而synchronized就是一种独占锁,synchronized 会导致其它所有未持有锁的线程阻塞,而等待持有锁的线程释放锁。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。而乐观锁用到的机制就是CAS。

博客建站(一):centos6.9+git+nvm+nodejs+hexo 阿里云安装hexo踩坑篇

这个安装过程无限踩坑,找了好多博客技术文档,基本都是如出一辙,有的甚至直接复制粘贴,还有就是只写成功过程,里面遇到的问题一个都不提,让人很头疼。关于官方文档,之前在windows系统上参考官方文档安装成功,后来准备发布到阿里云上的时候,在Linux系统下一直没有安装成功,是因为官方文档的命令有问题,这个真心尴尬。有时候官方文档也是个坑……

java基础位运算基本原理分析

位运算是编程语言的基础,在看源码的时候会看到很多位运算代码,但是在项目代码中很少会看到位运算。因为应用代码中,有很多判断和计算都可以直接用数值的判断和计算完成,没有必要去用位运算,以至于这些基础的东西慢慢用的越来越少,慢慢也就忘了。导致的一个结果就是看代码很费力,因为大量的位运算逻辑,看不懂。作为程序员感觉数据位运算是非常必要……

项目发布成功、失败,Java项目来实现邮件通知相关人员,实时反馈提醒信息

在开发的流程中必须涉及的项目的部署发布,这个过程也肯定会有成功、失败,作为开发能够实时的得到反馈是很有必要的,在不同的公司里采用的提醒方式不同。在说明下面的方案前,需要首先说明一下基本应用的场景。纯后台应用,现在项目基本都是前后端分离,因为一个前端服务可能会对应多个后端服务的支持,随着整个开发大环境的完善和技术的成熟,之前那种前后端耦合……

项目上线,旧数据需要修改,写SQL太麻烦,看Excel配合简单SQL的强大功能

A项目前期上线后有两张表,第一张表里面有订单的基本信息(重点:没有订单完成时间),第二张表记录订单的流程节点信息,如买车这个订单,走的流程节点有交定金、交首付、贷款申请、贷款审批……取车,每个节点都有开始时间和完成时间记录,当所有节点都完成后,会自动将订单的状态更新为完成状态。后期迭代需求生成报表,需要统计订单整个执行流程的时间 ……