数据库序列使用数据库序列生成id时,事务A在使用序列的时候,不会影响事务B使用同一个序列,比如:SELECTdemo.nextvalFROMdual;每次访问都会自增1
首先请读者思考一个问题:Linux系统下面这么多的文件是如何来管理的?新建一个文件都是经历了什么样的过程?1.Ext文件系统的特点1).文件系统的特点权限与属性放置到inode中,至于实际数据则放置到datablock块中。还有一个超级块superblock会记录整个文件系统的整体信息,包括inode与block的总量、使用量、剩余量等;superblock:记录此文件系统的整体信息,包括inod
最近,总是听到同事在面试的时候问候选人java中的锁相关的知识,大部分同学在问到CAS的时候会有些一知半解;1.原子操作说到原子操作,会想到数据库事务中的原子性,道理都差不多,指一行或多行代码要么都执行成功或失败。比如:i++这行代码,在执行的过程中会分为三步去执行:1.取出i的值;2.将i的值+1;3.将+1后的赋值给i;在单线程的情况下,这种操作不会有问题,但是多线程的情况下呢:出现了线程B的
关于volatile关键字的话,工作中没有遇到使用场景,大部分是面试的时候必问的一个题目;本文主要内容摘自《JAVA高并发编程详解》1.CPUCache模型CPUCache主要是为了解决CPU与内存之间访问速度的差异问题,Cache则是在程序运行的过程中会将运算的所需数据从主内存复制一份到CPUCache中,这样CPU在计算的过程中,可以直接从CPUCache中读取或写入,当运算结束之后,CPUC
这里主要记录一下工作中遇到的一些常用shell1.jenkins部署远程tomcat#/bin/bashexportTOMCAT_HOME_PATH=/usr/local/soft/tomcat-8.5.53cd$TOMCAT_HOME_PATH#停服;pid=`ps-ef|greptomcat|grep-vgrep|awk'{print$2}'``kill-9$pid`#备份war包export
在项目中经常使用到多线程来提升业务处理速度,但线程池的大小该定义为多大,这块该怎么确定?1.IO密集型单核心最佳线程数=1+(IO耗时/CPU耗时)多核心线程数星佳线程数=CPU核数*(1+(IO耗时/CPU耗时))注:如何获取CPU耗时和IO耗时,可以通过APM之类系统2.CPU密集型最佳线程数=CPU核数+1说明一下这个1哪来的,是为了防止突然有线程出现内存页失效或者其它原因导致阻塞;3.总结
guava是goog1e开源的一套针对javaapi的扩展工具包,里面包含很多非常实用的方法,在工作中可以提高我们的编码效率;1.Joiner将集合按指定字符拼接成字符串;privatefinalList<String>stringList=Arrays.asList("tom","jack","bob");privatefinalList<String>stringListWit
在编码中难免遇到ifelse过多情况,一方面是当初设计没有在意,另一方面可能是因为需求的不断变化。但代码中出现大量ifelse都知道这种情况不太好,那么我们就聊一下这种情况应该如何优化if(条件1){....}elseif(条件2){....}elseif(条件3){....}else{....}1.表驱动表驱动是指用查表的方式获取值privatestaticMap<Status,Funct
多线程对于编程人员都不陌生,比如我们常用的数据库连接池、tomcat等。本博客主要说一下我在工作中对多线程的使用的思考。具体多线程的使用方法就不在这里向大家介绍了。1.背景我最近做的项目是供应链相关的项目,而对于项目中涉及的各种单据都需要传给另外一套系统做账(财务系统),比如:合同单据、采购单据、收货单据等,每类单据都会有工作流。1)最初流程是这样的首先在系统创建单据,提交之后开始走审批流及各种通
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号