- 浏览: 34290 次
- 性别:
- 来自: 广州
最新评论
文章列表
如何高效的合理的输出程序的日志,我收藏了一篇技术干货,很实用
《为什么你的日志又长又臭?从传统日志到微服务日志的演进和实现》https://www.toutiao.com/i6622269025802011150/
微信红包首先将金额M元按照要发的人数N分成随机的N个金额不等的红包份额。生成N个份之后,用户请求到了就将1份红包发个用户。
生成红包金额数的算法采用线段切割法:将金额看成一条线段,线段的长度范围是0到M*100,首先需要生成1~(M*100-1) 中间的(N-1)个随机的且不重复的数,可以使用这(N-1)个数去切割线段,切割后的每一份就是红包的金额数。
具体代码实现如下:
import java.math.BigDecimal;
import java.security.NoSuchAlgorithmException;
import java.security.Secu ...
mysql将字符串转换为数字类型
- 博客分类:
- mysql
使用cast和CONVERT,如下:
SELECT
cast('1.00' as UNSIGNED INTEGER) as intval,
CONVERT('1.00',UNSIGNED INTEGER) as intval,
cast('1.234' as DECIMAL(4,3)) as decVal,
CONVERT('1.234',DECIMAL(4,3)) as decVal
查询结果:
111.2341.234
200 请求成功
400 错误请求 — 请求中有语法问题,或不能满足请求。
403 禁止 — 即使有授权也不需要访问。
404 找不到 — 服务器找不到给定的资源;文档不存在。
500 内部错误 — 因为意外情况,服务器不能完成请求。
503 无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
public static String toAmount(long price){
List<String> str = new ArrayList<>();
BigDecimal divisor = null;
BigDecimal remainder = null;
BigDecimal dividend = new BigDecimal(price);
do {
BigDecimal[] result = dividend.divideAndRemainder(new BigDecimal(1000));
divisor = result[0] ...
利用反射比较同一个对象的两个实例的具体值的异同
- 博客分类:
- 互联网技术
/**
* 比较同一个类的两个对象示例的不一样的内容,并输出不一样的字段内容
* <br/> 属性字段为基本数据类型
*
* @author FALSE KING create
* @date 2016年9月23日 下午4:36:38
*/
public class ModelComparator<T> {
/**
* 比较内容,输出不一样的字段内容<br/>
* 属性字段为基本数据类型
*
* @param oldModel 修改前的对象
* @param newModel 修改后的对象
* @para ...
private static String f2y(long fen){
String yuan = "";
BigDecimal fenPrince = new BigDecimal(fen);
BigDecimal[] result = fenPrince.divideAndRemainder(new BigDecimal(100));
if(result.length == 2){
if(result[1].compareTo(new BigDecimal(10)) < 0){
yuan = result[0] + " ...
场景:
现有很多txt文件,需要合并到一个文件里面,如何不使用机械的拷贝粘贴,高效的合并文件,请参考如下示例的步骤:
0.不如E:\temp\res下有很多文件
1.在e盘建立一个文件夹,E:\temp\reg,用于存放目的文件
2.进入cmd,输入指令 copy /y E:\temp\reg\*.txt E:\temp\res\test.txt
解释上面的指令
格式为 copy /y [原文件绝对路径\*.txt] [目的文件路径]
copy表示拷贝文件
/y 是不进行提示,直接覆盖原有的文件
*.txt 表示该目录下的所有txt文件
dubbo框架的接口如果在默认时间内调用失败或者超时,会重试2次,这样会导致有时会有3条数据,比如电商的下订单的情况,会导致有3条订单数据,实际只有一条数据。
修改方法:
<dubbo:reference id="xxxxService" interface="xxxx.xxxxService"> <dubbo:method name="aaaaaa" timeout="10000" retries="0" /> </dubbo:reference> ...
git回滚到之前的提交版本
- 博客分类:
- git
git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id
【本地代码库回滚】:
git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除
git reset --hard HEAD~3:将最近3次的提交回滚
【远程代码库回滚】:
这个是重点要说的内容,过程比本地回滚要复杂
应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
操作步骤:
1、git checkout the ...
场景:
做移动开发时,往往需要调试手机app端调用后台服务接口的问题,通常我们需要打印很多log去观察数据问题,很难调查处问题所在点。此时,通过fiddler可以解决客户端调用本地服务,进行联调debug排查问题。具体做法如下:
1.下载fiddler并安装,如: Fiddler Web Debugger (v4.6.2.3)
2.tools->connections进行设置
3.进行host的设置
说明下格式:要转发到的服务器IP和端口 客户端请求的地址
比如123.45.67.89:8989 www.asdf.com ,则表示 客户 ...
http://www.cnblogs.com/crazy-fox/archive/2012/02/18/2357705.html
java
mysql
byte
tinyint
short
smallint
java51.泛型2.枚举类型3.自动拆箱装箱,int->Integer boolean->Boolean4.可变参数,Object ...param,一般在springjdbc的底层方法中多见5.注解,annotations6.迭代器7.静态导入,import static静态导入比较少用8.新的格式化方法 Formaterjava61.脚本支持2.更好的webservice支持3.更通用的注解java71.switch可以支持字符串匹配2.泛型的类型的自动推断,如List<String> lst = new ArrayList();3.char之间的equals比较 ...
如何在亿级mysql数据库中随机抽任意n条数据
- 博客分类:
- mysql
三种方案:
1.通过by rand()的方式,最low的方式,不过对于小数据量了完全可以,简单方便
2.通过sql语句实现SELECT * FROM opus WHERE player_id >= ((SELECT MAX(player_id) FROM opus)-(SELECT MIN(player_id) FROM opus)) * RAND() + (SELECT MIN(player_id) FROM opus) LIMIT 200
但是根据执行计划来看,效率还是不怎么好,如果表中有索引字段,则将会放弃使用索引来执行查询;
3.SE ...