java笔记
快乐狗头
专业斗图20年!
展开
-
while循环-简化分页查询
当数据量过大时,通常会采用分页查询的方式,循环处理数据。比较常用的就是sql 中使用 limit 进行分页查询,然后for循环处理数据。但是这样的方式虽说可行,但是代码未免有些繁琐。比如说:sql 语句 要写两个方法 一个count 查询所有数据数量,第二个 limit 分页查出list 为了简化分页查询,可采用如下方式:1.sql语句:user表 每次查询1000条,原创 2016-09-09 12:50:06 · 2683 阅读 · 0 评论 -
任务调度系统
有时,我们需要程序进行不同的调度进行执行,比如每天早晨10点执行、每隔10分钟执行一次、今晚20:00执行等。所以,此处通过开源的作业调度框架Quart快速完成任务调度的工作.基本原理: 1、创建调度工厂(); //工厂模式 2、根据工厂取得调度器实例(); //工厂模式 3、Builder模式构建子组件 // builder模式, 如JobBuilder原创 2018-01-15 16:23:06 · 2277 阅读 · 0 评论 -
阿里云部署java环境(附:自动化部署脚本)
java环境(CentOS 7.2,jdk-8,tomcat-7.0.78,nginx-1.12.0)1.安装JDK首先检查系统是否已经安装了jdkrpm -qa | grep java有则执行下面命令卸载rpm -e --nodeps 这里为上面命令查询出来的jdk去官网下载jdk:http://www.oracle.com/technetwork/java/javase/原创 2017-11-23 02:12:13 · 3519 阅读 · 0 评论 -
jsp中比较数值精度丢失问题
现象: version 后台传值:float 9.66jsp中${version > =9.66} false${version 原因:1.jsp属于服务端代码,9.66默认是double类型。2.jsp中$取值是有类型的3.所以,${version > =9.66} 实际是float类型和double类型做比较时精度丢失导致的,具体是因为做比较时原创 2017-05-12 17:48:02 · 1303 阅读 · 0 评论 -
微信统一下单接口body为中文,报【签名错误】的解决办法
该处记录的是本人在开发过程中遇到的问题以及解决的方案。现象:微信支付,调微信的统一下单接口,本地jetty 和 tomcat 都可以调通,并能完成支付。但是部署到centos服务器上之后,就一直报签名错误。解决:经反复查找,确定是请求接口时发送的数据中,body是中文乱码,进而查找到xmap.toXML 方法生成xml 字符串时,中文就已经是乱码了。反复修改编码格式,无济于事。最终原因原创 2016-11-04 18:38:08 · 7562 阅读 · 3 评论 -
微信开发【坑啊】centos openjdk 不支持https方法!!
现象: 微信开发,通过用户默认授权获取到code后,程序中使用HttpClient的方式获取openId。本地测试时没有问题,部署到服务器之后,请求就报错。经查询,centos openjdk 不支持https方法!!而微信的接口链接全部都是https的。解决办法:服务器命令: yum install nss.x86_64 下载最新的nss版本然后找到 ${jre_hom原创 2016-10-31 23:47:29 · 2049 阅读 · 0 评论 -
java定时任务
该处介绍的是 ScheduledExecutorService定时周期性执行指定任务ScheduleExecutorService接口中有四个重要的方法,实现定时任务常用的方法是:scheduleAtFixedRate和scheduleWithFixedDelay。1.接口scheduleAtFixedRate原型定义及参数说明public ScheduledFutur原创 2016-09-06 14:11:56 · 1038 阅读 · 0 评论 -
高并发:阻塞队列 实现生产者-消费者模式
首先介绍一下非阻塞队列,比如PriorityQueue、LinkedList。在使用非阻塞队列时遇到的问题:不会对当前线程产生阻塞,在面对类似消费者-生产者的模型时,必须额外地实现同步策略以及线程间唤醒策略,这个实现起来非常麻烦。所以,阻塞队列恰恰不一样,阻塞队列会对当前线程产生阻塞,比如一个线程从一个空的阻塞队列中取元素,此时线程会被阻塞直到阻塞队列中有了元素。当队列中有元素后,被阻塞的线程原创 2016-09-12 11:32:16 · 6960 阅读 · 0 评论 -
高并发-数据埋点,统计延时入库
背景:在活动运营时,通常我们会统计一下数据,比如 页面访问次数,按钮点击次数等等数据,当访问用户过多,高并发情况下,这些数据实时入库必然给数据库造成巨大的压力。所以,对高并发情况的下的数据统计,可采取延时入库的方案。这里举个例子:1.定义 实体类/** * * 日活统计表 * * */public class SaleDailyLogModel extends Bas原创 2016-09-09 16:41:30 · 2148 阅读 · 0 评论 -
阿里云ubantu16 环境搭建
查看sudo权限vim /etc/sudoers添加管理员用户组sudo groupadd admin添加用户testsudo adduser test将用户添加到管理员组sudo vi /etc/groupadmin:x:1002:test 1.更新软件源:sudo apt-get update2.安装mysql:sudo apt-get instal...原创 2018-10-29 18:22:30 · 293 阅读 · 0 评论