本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 原子类型字段更新器 在java.util.concurrent.atomic中,原子类型字段更新器有以下三种: AtomicIntegerFieldUpdater:基于反射的工具类,可以原子性的更新指定对象的指定int类型字段. AtomicLongFieldUpdater:基于反射的工具类,可以原子性的更新指定对象的指定long类型字段. Atomic…
AtomicReferenceFieldUpdater是基于反射的工具类,用来将指定类型的指定的volatile引用字段进行原子更新,对应的原子引用字段不能是private的.通常一个类volatile成员属性获取值.设定为某个值两个操作时非原子的,若想将其变为原子的,则可通过AtomicReferenceFieldUpdater来实现.如下面例子: public class AtomicReferTest { public static void main(String[] args) thr…
GO USE [JC2010_MAIN_DB] 1.新建备份表JobObjectVersion_JCSchemVersion_BCK) GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[JobObjectVersion_JCSchemVersion_BCK]') AND type in (N'U')) DROP TABLE [dbo].[JobObjectVersion_JCSchemVers…
CRM中通过Odata方式去创建或者更新记录时,各种类型的字段的赋值方式各不相同,这里转载一篇博文很详细的列出了各类型字段赋值方式,以供后期如有遗忘再次查询使用. http://luoyong0201.blog.163.com/blog/static/112930520144138043423/…
Java更新Oracle的clob类型字段 1.查询该clob字段 2.处理该clob字段查询结果 3.更新该clob字段查询结果 1.查询该clob字段 <select id="selectItsmTask" resultType="java.util.HashMap" parameterType="java.util.HashMap"> select a.task_oid,a.task_history from itsm_task…
在项目中也经常可以见到原子类型(AtomicXXX)的使用,而且AtomicXXX常用来代替基本类型或者基本类型的包装类型,因为其可以在不加同步锁的情况下保证线程安全(只对于原子操作). 下面以AtomicInteger为例子研究原子类型的线程安全性. 0. AtomicInteger 原子类型的基本使用 其实在  AtomicInteger  里面将一些复合操作合并为原子操作,比如常见的"先改值,后取值"."若相等则替换"."获取到原值并赋予新值&quo…
深入解析Java AtomicInteger原子类型 在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是实现线程安全.线程安全的定义如下: 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么这个类就是线程安全的. 举个线程不安全的例子.假如我们想实现一个功能来统计网页访问量,你可能想到用count++ 来统计访问量,但是这个自增操作不是线程安全的.coun…
深入解析Java AtomicInteger原子类型 在并发编程中,需要确保当多个线程同时访问时,程序能够获得正确的结果,即实现线程安全.线程安全性定义如下: 当多个线程访问一个类时,无论如何调度运行时环境或如何交替执行这些线程,并且主代码中不需要额外的同步或协作,该类都可以正确地运行,因此该类是线程安全的. 线程安全需要两件事: 保证线程的内存可见性 保证原子性 以线程不安全性为例.如果我们想要实现一个函数来对页面访问进行计数,那么您可能想要count+,但是这个增量操作不是线程安全的.Cou…
在实际更新Mongo对象时发现,原有的更新代码无法更新复杂的数据类型对象.恰好看到张占岭老师有对该方法做相关的改进,因此全抄了下来. 总的核心思想就是运用反射与递归,对对象属性一层一层挖掘下去,循环创建父类及之类的更新表达式. 相关代码如下: #region 递归获取字段更新表达式 private List<UpdateDefinition<T>> GetUpdateDefinitions<T>(T entity) { var type = typeof(T); var…
在数据上我们往往会遇到ntext大文本类型,这种类型如果和 nvarchar类型相加会出现问题,所以有一中方法可以解决这种问题. 使用的sql   函数: TEXTPTR:返回要更新的 text.ntext 或 image 数据的文本指针的值. UPDATETEXT :在适当的位置更改 text.ntext 或 image 列的一部分 WRITETEXT: 来更新和替换整个 text.ntext 或 image 字段 举例: CREATE TABLE [dbo].[aa]( [ID] [int]…