avoid using equality check when working with decimal fraction

think about it
分类: 编程语言 发布时间: 11-30 23:17 阅读次数: 0

安装Disconf需要的环境

版权声明:本文为博主原创文章,未经博主允许不得转载,装载请注明出处。 https://blog.csdn.net/u013038861/article/details/66491226 Disconf是一个分布式配置管理平台,用于管理分布式系统配置文件。分布式系统越来越流行,随着节点的增加,配置文件修改起来也越来越困难,百度的分布式配置管理平台由此而生。它能够统一管理各个节点的配置文件,统一配置和修改。 安装Disconf需要的环境 安装Linux:CentOS7 安装Zookeeper:zo
分类: 编程语言 发布时间: 11-30 23:16 阅读次数: 0

Java 线程Thread.Sleep详解

https://www.cnblogs.com/565261641-fzh/p/5756242.html 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢? 思考下面这两个问题: 1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒? 2、某人的代码中用了一句看似莫明其妙的话:Thread.S
分类: 其他 发布时间: 11-30 23:16 阅读次数: 0

postgresql 触发器、触发函数 动态建表

PostgreSQL 创建分区表,SQL优化之PostgreSQL Table Partitioning PostgreSQL中使用动态SQL-实现自动按时间创建表分区 declare createOn varchar(32); createYY varchar(4); tableName VARCHAR(48); isExist int; r record; sqlStr text; sqlDel text; sqlIn text; begin //通过以下语句给createOn变量赋值
分类: 其他 发布时间: 11-30 23:15 阅读次数: 0

对list执行add时,遇到java.lang.NullPointerException

因为我直接List list = null, 这样应该并没有把List实例化吧。Java中当操作一个空对象(不存在或者已经释放的对象)就会抛出空指针错误,提示你操作了一个不存在的对象. 改为List<String> list = new ArrayList<>(); 再执行list.add(...)就可以了
分类: 其他 发布时间: 11-30 23:15 阅读次数: 0

关于null != a 与 a != null 的区别

null != a 要比a != null 好在于避免由于编码失误造成把a赋值为null 只是编码风格上的区别,效率是一样的; 这个与equals是类似的。比如 String str = ..; if(str.equals("admin")) 这样使用的话,一旦str是null将导致空指针异常,所以我们推荐使用 if("admin".equals(str)) 这样就没有问题了。
分类: 其他 发布时间: 11-30 23:15 阅读次数: 0

MyBatis动态传入表名,字段名参数的解决办法--用于分表--表名是动态的

MyBatis动态传入表名,字段名参数的解决办法--用于分表--表名是动态的 一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能。今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到。这种情况下,就需要构建sql来动态传入表名、字段名了。现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助。   动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动
分类: 其他 发布时间: 11-30 23:15 阅读次数: 0

swagger传参和浏览器传参的区别

我的一个方法是用对象封装了几个属性来接收前端传过来的参数.用swagger测试时,显示结果正常;而浏览器却不可以.因为我在判断时是用的 if (null == object.getXxx() );swagger是直接填或不填字符串,不填是null.而浏览器没设置的话,就默认填入""了,而不是null,所以就走不进if下的语句了.
分类: 其他 发布时间: 11-30 23:14 阅读次数: 0

前端传来中文参数,后台接收到乱码

新建的任务名称是中文,F12显示也是中文,然而在control层打断点,显示接收的参数是乱码,存入数据库的也是乱码.后来,在control层加了一个转码的语句: String taskName1 = new String(taskName.getBytes("ISO8859-1"), "utf-8"); 才显示中文字符.
分类: 其他 发布时间: 11-30 23:14 阅读次数: 0

根据list里面对象的某个特定属性排序

Collections.sort(fileRecordDOList, Comparator.comparing(FileRecordDO::getOperateTime).reversed()); reversed()逆序排序,从大到小..比较的是list中存储对象FileRecordDO的operateTime属性. 对于string这种已经重写compareTo的对象逆序排序 Collections.sort(result, Collections.reverseOrder())
分类: 其他 发布时间: 11-30 23:14 阅读次数: 0

java核心技术—14.并发

1.由于Runnable是一个函数式接口,可以用lambda表达式建立一个实例 Runnable r = () -> { task code}; 由Runnable创建一个Thread对象 Thread t = new Thread(r); 启动线程 t.start(); 2.线程因如下两个原因之一而被终止: a).因为run方法正常退出而自然死亡。 b).因为一个没有捕获的异常终止了run方法而意外死亡。 3.守护线程 :唯一用途是为其他线程提供服务。例如计时线程,它定时地发送“计时器滴答
分类: 其他 发布时间: 11-30 23:14 阅读次数: 0

java核心技术_6.1接口6.2接口示例

接口中的所有方法自动地属于public,不必提供关键字public.接口中绝不能含有实例域.在java8中,接口可以提供简单的实现方法了,这些方法不能引用实例. 尽管不能构造接口的对象,却能声明接口的变量: Comparable x; 接口变量必须引用实现了接口的类对象: x= new Employ(...) 也可以使用instanceof检查一个对象是否实现了某个特定的接口. 接口也可以被扩展 public interface Power extends Moveable {} 接口中不能包
分类: 其他 发布时间: 11-30 23:13 阅读次数: 0

java核心技术——lambda表达式

lambda表达式是一个可传递的代码块,以及必须传入代码的变量规范。 形式:参数 () 箭头 -> 表达式 {....} 如果可以推导出一个lambda表达式的参数类型,则可以忽略器类型: Comparator<String> comp = (first, second) -> first.length() - second.length(); 编译器可以推导出first、second必然是字符串,因为这个lambda表达式将赋给一个字符串比较器 如果方法只有一个参数,而且这个参数的类型可以
分类: 其他 发布时间: 11-30 23:13 阅读次数: 0

Socket类的getInputStream与getOutStream

客户端上: 1.getInputStream得到一个输入流,客户端的Socket对象上的getInputStream方法得到输入流其实就是从服务器端发回的数据。 2.getOutputStream得到一个输出流,客户端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给服务器端的数据 服务端: 1.getInputStream得到一个输入流,服务端的Socket对象上的getInputStream方法得到的输入流其实就是从客户端发送给服务器端的数据流。 2.get
分类: 其他 发布时间: 11-30 23:12 阅读次数: 0

为什么不推荐通过Executors直接创建线程池

通过Executors的方法创建出来的线程池都实现了ExecutorSerivice接口。常用的方法有 newFixedThreadPool(int Threads):创建固定数目的线程池。 newSingleThreadPoolExecutor():创建一个单线程化的Executor newCacheThreadPool():创建一个可缓存的线程池,调用execute将重用以前构成的线程(如果线程可用)。如果没有可用的线程,则创建一个新线程并添加到池中。终止并从缓存中移出那些已有60秒钟未
分类: 其他 发布时间: 11-30 23:12 阅读次数: 0

java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠

java replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠 例如 str1="aa\bbb"; str2="aa'bbb"; 要想替换成 str1="aa\\bbb";str2="aa\'bbb"; 必须这样替换: str1 = str1.replaceAll("\\\\", "\\\\\\\\"); str2 = str2.replaceAll("'", "\\\\'"); 原因如下: String 的 replaceAll() 方法,实际是采用正则表达式的规则去匹配的, \
分类: 其他 发布时间: 11-30 23:12 阅读次数: 0

postgres 删除重复数据、生成随机数、跨库查询、一段间隔后的时间

postgres删除重复数据 sql语句: delete from table where ctid not in (select min(ctid) from table group by tableColumn) 其中: table是数据表表名, tableColumn是判断数据是否重复的关键列,根据情况替换; ctid是postgres中的关键字,不可替换。 可以将min(ctid)换成max(ctid),如果需要保存的是最新插入的数据,使用max 针对 Postgres生成数据方法
分类: 其他 发布时间: 11-30 23:12 阅读次数: 0

vue解决浏览器请求头携带参数问题

需求:当需要多传一个参数时,改接口非常麻烦,所以解决方案是把需要的信息放到请求头上传到后台 // //设置axios发送请求时的添加请求头 // axios.defaults.baseURL = "http://localhost:9091/v1" // //设置axios请求的超时时间 // axios.defaults.timeout = 3000 // //设置提交数据是的格式 // axios.defaults.headers.post['Content-Type'] = 'appl
分类: 其他 发布时间: 11-30 23:11 阅读次数: 0

RabbitMq的安装和基本介绍

1 下载和安装 1.1 下载地址 (Erlang,因为rabbitmq使用Erlang语言编写的)http://www.erlang.org/downloads 1.2 RabbitMq下载地址 http://www.rabbitmq.com/download.html 1.3 先安装Erlang,再安装RabbitMq,直接一路下一步就行了 1.4 直接去启动即可 1.5 打开浏览器 输入默认端口:15672 账号密码:guest guest 出现以下画面说明成功了 1.6 如果出现闪退现象
分类: 其他 发布时间: 11-30 23:11 阅读次数: 0

php pdo事务模式

摘要: php pdo事务模式 注意:beginTransaction方法,需要数据库引擎的支持 如mysql5.1开始,默认引擎为InnoDB才能使用 不支持的数据库,需要手动,关,开,数据库的自动提交功能 try{ /* 开始一个事务,自动关闭自...
分类: 其他 发布时间: 11-30 23:10 阅读次数: 0