示例代码
AtomicLong实现的计数器,Java 8 LongAdder更有效率! 详细
@Service
publicclassenterprisenamesuffixserviceimplementsinitializingbean {
@Autowired
privateenterprisenamesuffixrepositoryenterprisenamesuffixrepository;
privateatomiclongatomiclong=newatomiclong (;
private static int激昂的奇异果_SPAN_SIZE=50;
@Override
公共void afterpropertiesset () throws Exception {
//获取当前记录数
longcurrentsuffix=getcurrentsuffix (;
//添加到当前计数器
自动长. set (current suffix );
//重新启动服务后,更新后缀,防止在激昂的奇异果_SPAN_SIZE内重新启动服务
updateenterprisenamesuffix (current suffix激昂的奇异果_SPAN_SIZE );
}
//获取下一个计数后缀
公共字符串获取下一个suffix (
longcountersuffix=atomic long.getandincrement (;
if(countersuffixP==0) {
updateenterprisenamesuffix (counter suffix激昂的奇异果_SPAN_SIZE );
}
numberformatnumberformat=new decimal format (' 000000 );
returnnumberformat.format (atomic long.get );
}
//从数据库中获取当前记录数
私有长获取用户接口(
Sort sort=new Sort('create_time ',' desc ' );
listenterprisenamesuffixs=enterprisenamesuffixrepository.find all (sort );
企业级senamesuffixenterprisenamesuffix :企业级suffixs ({
returnenterprisenamesuffix.get suffix (;
}
返回0;
}
专用void更新企业大列Java是自动长同步计数器namesuffix{
enterprisenamesuffixenterprisenamesuffix=newenterprisenamesuffix (;
Sort sort=new Sort('create_time ',' desc ' );
listenterprisenamesuffixs=enterprisenamesuffixrepository.find all (sort );
企业级名称缓冲存储器(for ) :企业级名称缓冲存储器({
企业名称suffix=企业名称suffix;
布雷克;
}
企业名称suffix.set suffix (suffix;
企业名称suffix.set createtime (system.current time millis ();
enterprisenamesuffixrepository.save (企业名称suffix;
}
标签: Java、激昂的奇果、atomicLong、private、计数器、enterpriseNameSuffix、atomicLong、new
资料来源: https://www.cn blogs.com/Wang ziqiang 123/p/11691125.html