比较简单,直接干货,说明写在工具方法的注释里了: # bytes 文件大小,单位:字节数bytes # precision 小数点后位数,可以是0 def readable_file_size(bytes, precision): for unit in ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB']: if abs(bytes) < 1024.0: return '%s %s' % (format(bytes, '.%df' % precision), uni…

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

最近发现一个问题,Tomcat运行一段时间后,就会发生崩溃现象,查找tomcat的logs/catalina.out日志,发现很多 java.io.IOException: Too many open files这样的错误日志 继续查找,ps au|grep java 找到tomcat的PID,lsof -p PID 看到具体的打开文件很多都是我最近添加的代码里Files.list(Paths.get(baseDir)).filter(...)这里的文件 可是Files.list这种Stream的方式浏览文件,最后…

2021-01-11 1条评论 2152点热度 1人点赞 admin 阅读全文

重复N个字符连成一个字符串,比如生成5个连续的a的字符串aaaaa 最不用动脑筋的方法就是for循环里面用String/StringBuffer/StringBuilder等把string拼接起来 String repeatedString = ""; for (int i = 0; i < n; i++) { string = string + s; } 下面介绍稍微优雅一点的实现 //s是要重复的字符,n是重复次数,各种JDK版本通用 String repeatedString = new String(…

2021-01-10 0条评论 4893点热度 5人点赞 admin 阅读全文

比较简单,直接干货 /** * * @param bytes 文件大小,单位:字节数bytes * @param precision 小数点后位数,可以是0 * @return 得到可读的文件的大小, 比如1.51 GB */ public static String readableFileSize(long bytes, int precision) { if (bytes <= 0) return "0"; final String[] units = new String[]{"B", "KB", "…

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

//参数bytes是文件大小字节数(整数) 参数precision是小数点后面的位数 function readableFileFize(bytes, precision) { if (isNaN(parseFloat(bytes)) || !isFinite(bytes)) return '-'; if (bytes <= 0) { return '0'; } if (typeof precision === 'undefined') precision = 1; var units = ['B', 'KB…

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

编写Linux脚本的时候,有时需要等待用户输入变量,然后根据变量不同来执行接下来的操作, 举例如下: #!/bin/sh echo -n "Enter file name and press [ENTER]: " read file_name echo "file name is: $file_name" if [ -z "$file_name" ]; then echo 'empty file name, exit' else #执行接下来的操作 #... fi  

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

我们可以通过设定iptables防火墙来做到让特定的IP访问网站,但是有时候需要网站可以全部访问,但是只针对某个页面(比如管理页面)只运行特定IP访问,这个时候可以用nginx来设置 假设需要让/admin只允许202.202.xxx.0-255来访问,而且如果不允许的IP访问,会显示404,以为是网页不存在,nginx如下设定即可 server { #省略部分配置 #这样做,让403 forbiden 也显示成404,外面访问的人以为 page 不存在 error_page 403 404 /404.html; …

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

比如执行SUM的时候,如果没有数据,有时候会返回NULL,但我们有时候希望返回0,可以简化程序的判断 NVL(Expr1,Expr2) --如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值 select NVL(SUM(MONEY) ,0) from TEST_TABLE select COALESCE(sum(momeny),0) as sm from test_table ...    

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

需求: 根据某个主键查询,如果存在某条记录,就更新这条记录,否则新增一条记录 假设student表,结构如下 +-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ | id | int | NO | PRI | NULL | | …

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

先准备好工具类: package com.terrynow.test.imagecompare; import java.awt.image.BufferedImage; public class HistogramFilter { private int redBins; private int greenBins; private int blueBins; public HistogramFilter() { redBins = greenBins = blueBins = 4; } public void …

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