- 博客(256)
- 收藏
- 关注
原创 Mockito升级
系统是SpringBoot的,原来单元测试用的 Mockito,不过由于版本较低,对静态方法无法Mock,所以又引入了 PowerMock;好长时间没动过了,现在刚好有一个项目需要写测试代码,顺便也把Mockito升升级;现在Mockito版本已经到了 5.2.0了,不过需要Java11的支持;目前项目还使用的是Java8,因此只能使用到 Mockito4,最高版本为 4.11.0;而且从Mockito3的某个版本开始,已经支持了 静态方法的Mock,所以可以暂时抛弃PowerMock了;
2023-03-23 20:12:27 1984 1
原创 202111项目总结:取MySQL UUID_SHORT后几位做流水号带来的重复问题
目录问题背景:问题爆发:分析原因及临时解决方法:分析原因临时解决方法:使用UUID_SHORT的一些其他限制或可能发生的问题:MySQL中的Sequence问题解决问题背景:老项目从Oracle --> MySQL,原来Oracle中有Sequence,而MySQL中没有。项目工期又很紧,得知MySQL有UUID_SHORT,就拿来用了;不过UUID_SHORT返回的位数太多,值太大,就取后10位作为流水号。问题爆发:不过在使用了1、2年后,系统突然..
2021-11-06 06:33:00 1043
原创 202109项目总结: MyBatis Cursor + Parallel Stream使用
最近刚完成一个项目,总结一下项目中使用到的新技术。可能这些技术已经推出很久很久了,可能很多人每天都在用的,但自己而言以前没使用过的,那就是新的技术;平时做项目,使用的不少技术,甚至很多代码都是从原有的老系统的代码中复制过来的,相当于一年经验用了3年,5年;因此从这次项目开始,写代码在原来的习惯上有所改变,每次都加入一些新东西;记录一下。这个项目现在还记得用的新技术有:1. MyBatis的Cursor2. stream中的parallelStream
2021-10-04 05:22:17 1768
原创 MySQL的varchar类型字段
业务变化,前端要求增加一个传输字段的长度,得到的一些mysql varchar字段的知识;目录varchar长度是字符长度,不是字节长度:VARCHAR的存储: VARCHAR的长度扩充--能不能快速varchar长度是字符长度,不是字节长度:现在使用的,应该都是 mysql5 以上的版本,所以才会说 varchar的长度是字符长度,不是字节长度;这个是mysql4到mysql5的变化,mysql4和以前版本,varchar是按照字节长度来算的;到了mysql5开始,按照字...
2020-07-13 20:00:05 692
原创 参数校验
目录简述:Spring的参数校验:程序基本框架:创建一个DTO对象:Controller程序:发起请求:打印结果:增加校验@Validated 注解:@Validated 和 @Valid 区别增加参数校验注解:java validation注解hibernate validation 注解在Bean上增加需要校验的设置自定义validation注解定义注解校验的实现简述: 对于后台系统来讲,在入口处进行参数校验是非常必要的,这..
2020-06-21 16:48:59 227
原创 MySQL字符集(表情包)
刚上mysql,经常发生前段传过来的内容入库发生异常,数据库报: java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘mechant_name’ at row 1发现,数据库建表时候,用的是utf8字符集,传进来了表情包,表情包是4个字节的;通常情况,Mysql数据编码格式为“utf-8”,对于汉字来说足够;Mysql中utf8占3个字节,但是,3个字节对于表情符号是不够的,需4个字节;此时
2020-06-21 12:36:01 1036
原创 Docker实现原理
来源: “极客时间”:深入剖析K8S目录Namespace:Docker和虚拟机比较Docker核心技术容器核心技术: 通过约束和修改进程的动态表现,从而为其创造出一个“边界”;对于Docker等大多数Linux容器来说,Cgroups:用来制造约束 Namespace:用来修改进程视图 其实是Linux创建新进程的一个可选参数Namespace:Linux提供了多种NamespacePID: 进程ID,在当前Namespace中新创建的进程PID重新..
2020-05-29 17:49:51 192
原创 MySQL自增列id:插入的值大于id的自增值
从Oracle切换到阿里云; 云下的Oracle数据需要同步到Polardb(mysql8),云上的新系统(rds--mysql5.7)数据也要同步到PolarDB的同一张表里;rds库中,有自己的id自增列, 同步到polardb上使用rds自己生成的值(不使用polardb的id自增值);Oracle数据没有id列,通过Polardb的id自增列自动生成值;因此为了避免id冲突,将...
2020-04-29 10:56:45 548
原创 MySQL设置了useCursorFetch,FetchSize参数的影响
从MySQL中获取一定量的数据出来,如果不设置 useCursorFetch,mysql会把所有的数据从数据库端搬到客户端后再做处理,这样我们原先使用ResultHandler的方式节省内存的打算就落空了。还好MySQL在连接串上,使用了useCursorFetch=true,就可以达到将部分数据搬到客户端就进行处理,那么这时 FetchSize 对系统会产生什么影响;以下FetchSiz...
2020-04-28 19:16:37 8032
原创 MySQL数据库连接串的两个参数:rewriteBatchedStatements=true&useCursorFetch=true
最近在将数据库,从Oracle迁移到MySQL,遇到了不少数据库不同造成的问题,尤其是在批处理的时候,MySQL的表现和Oracle完全不一样,查了不少资料,问题解决了,除了程序部分,MySQL的数据库连接串上,要增加 useCursorFetch 和 rewriteBatchedStatements 参数useCursorFetch : 这个在前面的记录中已经写过,在查询大批量的数据时,My...
2020-04-27 16:17:03 4070 1
原创 多个auto-focus=true,造成数据被覆盖
写了一个小程序,在页面上(wxml),有多个input元素,都绑定了数据;在onload时候,从后台加载数据,看后台返回的数据都有的,但是就有那么几个input中显示0(input的type=digit);看函数调用的次序,是在onload加载完数据后,才发生 input 的 bingchange事件,而且值是0;仔细研究下来,发现当初写代码,是写好一个input,其他就整行复制,修改...
2020-04-26 23:56:58 338
原创 Mybatis/MySQL的大数据量查询占用内存的问题
在这里先简单的记录一下,详细信息后续再不上;现在都流行Oracle切换成mysql,公司也在这么做,系统改好进行压测时,发现使用的内存比使用Oracle的程序要大很多;原来使用Oracle的时候,最初版本是一次性将查询结果,转换成List,然后一条条处理;随着数据量大,偶尔系统会爆出OOM,改变了使用方式,从一次性将查询结果转换成List,改成使用 ResultHandler的方式,...
2020-04-26 17:50:21 2451
原创 CKA考试
kubernetes有自己的认证: CKA,这里有一篇考试心得:https://www.jianshu.com/p/629525af31c4
2020-04-22 20:34:34 557
原创 在CentOS7上安装docker
环境:virtualbox:6.1CentOS:CentOS Linux release 7.7.1908(Core) 内核: 3.10根据docker网站上,CentOS安装Docker的方式进行安装(https://docs.docker.com/engine/install/centos/):系统的要求: CentOS7, 并且 centos-extras ...
2020-04-22 19:08:53 126
原创 安装virtualbox,分析网络连接方式比较,选用Bridged Adapter
在自己机器上安装virtualbox,版本:6.1,安装没啥问题,选择网络连接方式上一开始遇到点问题,网上翻阅了一些资料,总结一下:网络方式 特点 应用场景 网络地址转换(NAT) 主机可以上网,虚拟机可以上网 虚拟机之间不能 ping 通 虚拟机可以 ping 通主机.(虚拟机网关即主机) 主机不能 ping 通虚拟机 只满...
2020-04-22 17:23:00 132
原创 windowns上的DockerDesktop 和 Linux下docker的差别
最近要上云,所以在自己的机器上自己先用一下;估计步骤是使用 docker -- > k8s ;虽然在windwos机器上也装了 Docker Desktop,总觉得和安装在linux下的docker有所差异,但不知道是哪里差异,直到看了一篇文章才清楚:Docker使用: Namespace、Cgroups、以及 rootfs 三大技术构建出来的隔离环境,在linux环境上,doc...
2020-04-22 16:49:39 9804
原创 查询某个字段都是字母
select * from (select case when regexp_like(bank_account_name,'.([a-z]+|[A-Z])') then bank_account_name else null end ccfrom tb_pay_business ttwhere tt.uss_trans_date = '20170124') bbwhere bb.cc is ...
2017-02-07 14:33:24 263
原创 Oracle的全文检索
Oracle的全文检索,以前用过,效果还可以,就是耗资源。 现在这里也在考虑使用全文检索,自己印象中有两种:1. Oracle的全文检索(CTX),虽然其他数据库也有全文检索,不过这里用的是Oracle,也就看看Oracle的全文检索 --- 以前用的全文检索也是Oracle,正好数据库一样; 2. Apache基金会的Lucene, 后续有企业级升级版应用 Solr...
2016-08-09 15:43:23 193
原创 新公司新的环境 --- 开发环境说明
到了新公司,开发环境和原来的公司几乎不同,虽说开发环境不同简单的学学就可以上手,但是还是要适应一段时间才能使用的得心应手,熟能生巧吗。 IDE:Eclipse,这个和原来一样,如果这个还不一样,真的就没有什么一样了; Web框架: 使用的是spring mvc,原来使用struts2.XORM: 使用的是Mybatis, 原来使用hibernate3工程构建工...
2013-10-17 05:37:46 217
原创 银行 核心系统的清算与结算
来源: http://yangzb.iteye.com/blog/483191 清算与结算本来是两种业务,不过因为结算中通常又会包括清算,要分成两小节,每小节又说不了太多话,所以干脆放在一起算了,而且这一节只谈流程,不讲设计,这种业务流程理顺了自然就可以设计了。先约定一下,商业银行的级别,一般是 分行—支行两级,有的可能还会有储蓄所这种第三级。简化起见,暂时就分两级来说吧。如果对应到...
2013-10-15 09:26:56 1158
原创 Java中JSON解析器的一点见解
最终采用了Jackson JSON,使用起来相当方便。 ===========================================================================本文地址:http://blog.csdn.net/chaijunkun/article/details/7208828,转载请注明出处。本博客会不定期对以前的文章内...
2013-08-15 17:25:50 89
原创 npm设置代理 以及 重定向
node.js通过npm安装模块,npm的代理设置法:npm config set proxy=http://192.168.0.2:8080重定向其他镜像网站:npm config set registry http://registry.npmjs.vitecho.com或者在:~/.npmrc 加入下面内容registry = http://registry.npmjs.vitecho.c...
2013-07-30 10:49:31 300
原创 windows7访问xp的共享目录
新装了了一台win7,无法访问到xp的共享目录,怎么调都不行,按照以下方式解决了问题: http://wangpfsir.blog.163.com/blog/static/67963727201211631425199/.(以下方法,第一次重启后就可以了)windows7 访问 xp ,提示没有权限 解决方法 2012-12-06 15:14:25| 分类: ...
2013-07-18 20:17:32 176
原创 如何在 Visual C++ 中使用的 map::end、 map::find、 map::insert、 map::iterator 和 map::value...
源自: http://support.microsoft.com/kb/157159/zh-cn如何在 Visual C++ 中使用的 map::end、 map::find、 map::insert、 map::iterator 和 map::value_type 标准模板库 (STL) 函数文章编号: 157159 - 查看本文应用于的产品查看机器翻译免责声明点击这里...
2013-03-25 15:55:07 359
原创 Access restriction: The type XXX is not accessible due to restriction on require
引用rt.jar中的一个类,结果发生了标题中的错误"Access restriction: The type XXX is not accessible due to restriction on required library c:\jdk\jre\lib\rt.jar " 这个类应该没有什么问题的,估计是eclipse编译器的问题,网上查资料,发现eclipse中此类的问题不少,...
2013-01-06 09:14:53 183
原创 JVM崩溃
程序本来好好的, 做了一次大修改,测试的时候发现在某些场合下,程序突然消失了,检查后发现JVM崩溃了. 在运行目录下,生成了一个错误log文件: hs_err_pid26290.log 打开看, 能看到一些信息; 同时查了一下网上的一些资料. JVM的崩溃, 在网上找了一下一般以以下几种情况居多: 1. 内存不够, 尤其是Heap不够造成的, 具体的例子如: ht...
2012-07-03 10:19:54 215
原创 关于泛型中<? extends A> 和 <? super A>的差别
天下文章一大抄, 继续抄 来源: 百度上搜索"泛型 super extends" , 出来一大堆 "泛型中super与extends的形象解释", 也不知道哪个是原创,也就不炒了,反正大家一搜索, 到处都是; 理解: 定义:List<? extends A> alist = new ArrayList<TypeA>(); 这个说明Ty...
2012-05-22 16:05:28 139
原创 泛型类型的子类及通配符的使用
最近碰到一个泛型的问题, 就在网上找技术贴, 挖坟挖出个08年的技术贴, 解决了问题 来源: http://webservices.ctocio.com.cn/wsjavtec/128/8571628_1.shtml 原文: 在java语言中,我们通俗讲一个类是另一个类的子类型,是通过使用extends关键字去继承某一个类或者使用implements关键字...
2012-05-22 15:30:43 116
原创 Calendar中的Time/isTimeSet
在调试程序,在Eclipse的watch窗口,发现Calendar变量的long是一个数值,但是print出来却是另一个数值,不解,看了一下Calendar中的代码,发现还有一个变量isTimeSet. Calendar的时间设置,可以通过Set一个long数值确定时间, 也可以通过设置年月日十分秒方式设置时间. 如果是通过设置一个long数值的话, 这个数值直接赋值给tim...
2012-05-03 14:15:02 336
原创 Java中getResourceAsStream的用法
Java中getResourceAsStream的用法首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoad...
2012-02-14 10:12:09 98
原创 做网站需要注意的地方以及需要采用的技术、产品
整个网站:内容组织 1. 前台技术2. 后台技术 前台技术:1. Yahoo的14条规则2. 最重要的一点: 能静态化的静态化、缓存失效法则 编辑器:1. 博客等,所见即所得编辑器2. Wikitext编辑器 后台:1. 采用分层框架2. 多使用CacheDB:多级CacheDB3. 后台服务器:...
2012-01-16 10:24:06 111
原创 【HTML】块级元素的盒子属性
html中的块级元素:标记节、division、标题、段落、列表、表格、块引用、地址块、代码段 -- 只是部分 这些块级元素的盒子属性有:margins(边距)/borders(边框)/padding(补白)/height/width(/depth) ...
2012-01-09 09:42:20 213
原创 CSS几种定义方式
1. 针对标记的定义: <style type="text/css"> h1{color:red;></style> 这个对页面中的所有h1都起效果 2.针对HTML中的某个id <style type="text/css"> #title{color:white; background-color:s...
2012-01-09 09:26:45 372
原创 HTML中的注释
在HTML中的注释是 <!-- --> 在CSS和JavaScript中的注释是: /* */ 在早期的IE中,会包含一些条件测试的注释: 如<!--[if lte ie 6]><link rel="stylesheet" type="text/css" href="/css/ie6.css"><
2012-01-09 09:05:24 136
原创 jBPM4.4+SpringSecurity用户合并到自己体系中来
jbPM4.4中的用户:见:http://zybing.iteye.com/admin/blogs/778919在jbpm.wire.bindings.xml配置中,这2个和用户相关: <binding class="org.jbpm.pvm.internal.wire.binding.IdentitySessionBinding" /> ...
2011-12-30 10:53:28 161
原创 警告:编码 UTF8 的不可映射字符
今天也遇到了这个问题,网上查了一下,天下文章一大抄,也抄了过来,不写来源了,太多的一样了 今天接手一个公司的老项目,刚从CVS上check out后用Ant Build的时候总是报“警告:“编码 UTF8 的不可映射字符”。看了下都是代码中的中文注释,因为我的Eclipse默认采用UTF-8的编码,而这个项目以前是用的GBK,改了一下项目的properties,注释在代码中能正...
2011-12-27 10:38:15 205
原创 从JBPM4以后的走向
从JBPM4以后, 原来jBPM的设计师Tom Baeyens改投了Alfresco,开始一个新的BPM项目Activiti;其核心是超快速,稳定的BPMN 2.0流程引擎。它易于与Spring集成使用。 Activiti从jBPM4发展来,从jBPM4学习Activiti的成本小,反而jBPM5和原来的jBPM基本没任何关系,好像是另一套系统。Activiti的Maven库位...
2011-12-23 09:47:05 97
原创 一些Maven库
JBoss: http://repository.jboss.org/nexus/content/repositories/releases/ Activiti: http://maven.alfresco.com/nexus/content/repositories/activiti/
2011-12-23 09:34:05 83
原创 【】ActiveX回调JS函数
控件回调JS函数 http://blog.163.com/chen_xinghuan/blog/static/1722015822010948494145/ http://blog.csdn.net/tingsking18/article/details/4278619 只记录链接,
2011-11-03 14:11:02 140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人