在得到用户上传后的图片后,或者直接处理图片的时候,如果太大可能要进行缩放操作,或者要生成其他尺寸的图片。 下面整理了如何对图片进行缩放后者调整长宽的代码: BufferedImage src = ImageIO.read(new File("/path/to/image_file")); // 读入图片文件 int width = src.getWidth(); // 得到源图宽 int height = src.getHeight(); // 得到源图长 int newWidth = width / 2; int…

2021-06-05 0条评论 1084点热度 0人点赞 admin 阅读全文

可能使用的时候没有注意,在做时间的解析和格式化的时候,写了一个全局的工具类或者把SimpleDateFormat的初始化,放在全局变量里面,导致在多线程或者高并发调用的时候,解析或者格式化出来的时间不正确或者直接报错的问题,刚开始查的时候,始终没看出来程序哪里的问题,简单的单元测试也正常,后来才发现是SimpleDateFormat线程不安全引起的! JDK的文档如下: Synchronization: Date formats are not synchronized. It is recommended to …

2021-06-03 0条评论 1132点热度 0人点赞 admin 阅读全文

工具方法,收藏备用,前端JS利用正则表达式判断所给String是否是有效的URL网址,支持http和https, 网上查到的比较复杂的正则表达式,但是对一些比较特殊的网址都不适用了,如带端口号的、带参数的(可能还有中文),所以整理一个不算特别严格的正则表达式,但是有效! 如下方法: // 是正确的网址URL返回true,否则返回false function checkUrl(url) { if(!url) { return false; } var regExp = /http(s)?:\/\/.+/; retur…

2021-06-01 0条评论 1813点热度 0人点赞 admin 阅读全文

遇到一个比较诡异的问题,先说下环境: Tomcat服务器是运行在普通的user下的(非root帐号),例如tomcat用户帐号 我们在服务器上mount了NFS的存储(版本v4,/storage目录) Tomcat跑的一个程序调用: File file = new File("/storage/a.jpg");// /storage是一个nfs mount过来的文件夹 BufferedImage bufferedImage = // 得到bufferImage并处理的逻辑,省略 ImageIO.write(buff…

2021-05-30 0条评论 1411点热度 0人点赞 admin 阅读全文

工具方法,收藏备用,前端JS利用正则表达式判断所给String是否是有效的Email地址,如下方法: // 是正确的Email返回true,否则返回false function isValidEmail(email) { if(!email) { return false; } var regExp = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; return regExp.test(email) }  

2021-05-29 0条评论 752点热度 0人点赞 admin 阅读全文

在IDEA里编辑、查看properties或者ini文件的时候,发现如果是中文,保存下,下次打开再去看,里面的中文都变成了\u开头的unicode了,如下: #\u8BBE\u7F6E sys.webBase = http://localhost:8080 IDEA也是好意,防止中文字符在其他操作系统下因为兼容性读取异常,不过现在的计算机基本上很少会出现不兼容中文的情况,变成了\u开头的unicode,反而影响了我们的阅读,这样很不直观,谁能一眼演出中文写的是什么?! 所以要怎么样才能让IDEA不把中文自动改成un…

2021-05-27 0条评论 996点热度 0人点赞 admin 阅读全文

先接触Java或者其他语言的程序员,如果刚接触Python的话,需要对Python的变量作用域特别了解下,可能对Python里的变量作用域有点不是很理解,比如如下的程序,如果用Java的思维来看,我也以为会输出x=20 x = 50 def func1(): x = 20 func1() print(x) #x=50还是x=20? 在函数定义中声明的变量,他们与在函数外使用的其它同名变量没有任何关系,即变量名称对函数来说是局部的。 类似函数def的还有class、lambda等语句也产生局部变量作用域 但是if、t…

2021-05-25 0条评论 982点热度 0人点赞 admin 阅读全文

在Python里dict正好是和JSON相对应的,所以处理JSON基本上是dict和JSON String的互转 使用json.loads() import json ## 解析JSON String到dict student_json = '{"name": "Terry", "age": 18, "languages": ["English", "中文"]}' student_dict = json.loads(student_json) # 接下来就是dict的操作了 # Output: {'name': '…

2021-05-23 0条评论 971点热度 0人点赞 admin 阅读全文

iView中用到一个this.$Modal.confirm对话框,确认后再执行确定动作后,弹出this.$Modal.info对话框告诉用户执行结果,结果是第二个info对话框闪了以下就消失了; debug发现,如果confirm后,执行的动作花的时间长一点的话,第二个info对话框就能显示了!估计是这里的Modal采用的隐藏开关用的同一个变量,第一个消失的时候,导致第二个也跟着消失了。 既然执行的动作花的时间长一点就能解决,也就是说只要给第一个对话框足够的时间让它消失,再执行下一步的动作就可以了,我们可以在第一个…

2021-05-21 0条评论 1309点热度 0人点赞 admin 阅读全文

如题,SQL下,想要知道两个时间相隔多少(持续时间) 假设表table1的两个字段date1和date2都是datetime类型,使用TO_NUMBER(date1-date2)可以得到时间的天数(小数),想要得到其他的时间单位,只要在天数上做换算就可以了,如下: -- 得到当前日期的毫秒数(和1970年相比) --使用round后得到整数 SELECT ROUND(TO_NUMBER(SYSDATE-to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) *…

2021-05-19 0条评论 1015点热度 0人点赞 admin 阅读全文
1434445464756