- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 CAS的三大问题
CAS的三大问题(1)、经典的ABA问题。(2)、循环CAS带来的CPU性能开销(3)、只能保证一个共享变量的原子操作(1)、经典的ABA问题。在进行CAS操作数据时,会检查原始数据是否被发生改变,如果没有发生改变,则更新数据为期望值,但是如果原始数据是A、期望值是B,数据又被更新成A,这时候,CAS操作就无法确定数据是否被发生了变化,其实,要被更改的数据已经发生变化,由A->B->A。解决ABA问题的思路是对更改数据操作增加版本号,每次对数据操作时,在操作的数据前增加版本号,自动加一
2020-12-26 14:39:22 806
原创 判断IP地址是否在指定的IP号段内
在开发项目时,遇到ip白名单是ip地址段的情况,之前只是对某个ip进行拦截匹配,现在要支持ip地址段的匹配,查了好多文章,大致思路就是把ip地址转化成long类型,然后匹配long类型的大小。具体实现方式如下:private static long ip2Long(String ip) { String[] ipArr; double num = 0; if (ip != null && !"".equals(ip)) { ipArr = ip.
2020-11-24 22:33:55 832
原创 Maven工程将本地jar包打包进本地仓库
近期在开发项目时,公司搭建的远程maven私库暂停服务了,公司电脑上的Maven本地库有之前使用的jar包,但是在家里干活的时候,发现项目一直报错,一直在远程仓库找不到jar包。所以从公司电脑拷贝了maven本地库的jar包,在家里电脑上install到maven库里。mvn install:install-file -Dfile=.\isc-1.1.jar -DgroupId=com.d9i...
2020-04-09 11:47:57 537
原创 自定义IDEA编辑模板所有变量解释(Edit Live Templates)
annotated(“annotation qname”)注释(“注释属性”)创建带有指定位置的注释的类型符号。例如,在迭代组中查看活动模板。arrayvariable()建议适用于当前范围的所有数组变量。例如,在迭代组中查看活动模板。anonymoussuper()提出一种科特林级对象表达类型。сamelcase(字符串)返回作为参数传递的字符串,转换为骆驼格。例如,我的文本...
2019-10-29 15:30:21 1707
原创 Android 通过java bean 将数据写入csv文件
前几天遇到了将csv文件导入到android应用中的需求,自己运用java反射技术实现了该功能,今天又遇到了将android SQLite数据库中的数据导出到csv文件中并同步到后台服务器中的需求。于是乎,基于上一篇文章Android 读取csv文件并转换为java bean,继续改造代码,让其支持Java Bean导出数据到csv文件中。废话不多说,直接上代码:改造后的CsvField.jav...
2019-09-26 13:21:18 872
原创 Android 读取csv文件并转换为java bean
在开发android读取csv文件时,在网上翻来翻去并没有找到一个合适的工具包,然后自己就花了半个小时写了一个。废话不多说,上代码。代码并没有做特殊错误处理,或许有很多欠缺的地方,大家可以参考参考,自己完善。CsvReader.javapackage top.latestwin.osa.common.csv;/*import java.io.*;import java.lang.re...
2019-09-23 10:28:55 707
原创 Mysql死锁
在学习的过程中,遇到了一个问题,MySQL死锁是如何产生的,今天,带着这个疑问来探讨下。什么是死锁?两个线程在互相同时等待对方释放资源。即:进程A战友资源R1,等待进程B占有的资源R2;进程B占有资源R2,等待进程A占有的资源R1.而且资源R1和R2只允许一个进程占用,不能亮哥进程同时占用。结果就是两个进程都不能继续执行,若不采取其他措施,这种循环等待的情况会一直持续下去,就发生了进程死锁。...
2019-04-22 17:27:57 428
原创 Java解决Excel导出大批量数据(附上测试代码)
记录一次项目中使用POI导出Excel报错的修改方案。 参考了作者:happyljw的文章 JAVA使用POI如何导出百万级别数据,对代码进行封装扩展。由于项目时间太紧,并未对写的代码进行严格测试,遇到问题的朋友可以一起探讨。 修改结果:100万条数据导出花费58s。比之前效率高多了。package star;import org.apache.poi.ss.usermodel.C...
2018-03-03 01:25:46 4400 1
原创 Windows平台安装Git Flow
1.克隆项目:gitflow首先电脑中得安装git,然后执行命令git clone --recursive git://github.com/nvie/gitflow.git2.下载两个文件:util-linux-ng-2.14.1-binutil-linux-ng-2.14.1-dep3.复制两个压缩文件中bin目录的所有文件到git安装文件夹...
2018-01-17 11:10:14 424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人