- 博客(93)
- 资源 (9)
- 收藏
- 关注
转载 Java:将异常的完整堆栈追踪信息保存到字符串中(详解)
在Java开发中,我们经常要处理各种异常,我们一般用e.toString()或e.getMessage()得到异常信息,但是有时候异常堆栈中会存在很多信息,比如用下面的代码抛出异常:try {// code throws SomeException} catch (SomeException e) {throw new MyException( "Caught some exception " , e);}这种情况下用e.toString()或e.getMessage()是无法得到全部
2021-01-12 11:07:02 2143
翻译 工具类自动生成数据库表结构数据库字典
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言前言项目开发完毕后,需要写文档,其中有一个就是整理数据库的表结构,一个一个手写太麻烦了,网上找了一个工具类自动生成excel文档代码如下(示例): package com.guidao.pathwayManage.web.util;import java.io.FileOutputStream;import java.sql.Connection;import java.sql.DriverManager;i
2021-01-07 09:44:11 531
原创 Jfinal 联合查询返回数据库以外结构字段并返回json
在使用jfinal的过程中遇到了一个奇怪的问题,就是列表查询的时候,联合查询,一对多的表结构,比如订单和订单明细表,这种一个model里含有另外一个model类型的List的结构官方有解决方案,现在要说的是左链接查询明细表,是明细表中包含订单的某几个字段,这几个字段不是详情表的字段结构,但是是订单表的。一开始的解决方案是在明细表中添加了几个字段,并给其get,set方法,但是这样弄以后,new BuyOrderDetail().dao().paginate 通过此分页方法查询后,我自己填写的那几个字段
2021-01-05 16:33:14 825
原创 Jenkins从svn下载项目构建后打war包发布到远程Linux服务器[图文]
Jenkins从svn下载项目构建项目打war包发布到远程Linux服务器需求Jenkins的安装和插件的安装功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FL...
2020-01-06 10:53:15 498
原创 备份mysql多个数据库的shell脚本
需求: 一台linux服务器上数据库有多个数据库,需要每天备份一次,防止意外发生,记录一下估计以后还会用到#! /bin/bash# MySQL用户user="root"# MySQL密码userPWD="mima"# 需要定时备份的数据表列表dbNames=(db1 db2 db3)# 每次的备份数据以日期创建文件夹存放,同时删除过期备份# 此处以保留1个月的备份数据为例...
2019-04-24 15:02:07 3653
原创 设置linux服务器时间自动同步
设置linux服务器时间自动同步公司项目中调用接口,其中有一些接口需要以当前时间加密,接口要求误差时间不能超过一分钟,但是LINUX服务器长时间运行,时间会不准确导致接口调用失败。ntp常用服务器:中国国家授时中心:210.72.145.44NTP服务器(上海) :ntp.api.bz美国:time.nist.gov复旦:ntp.fudan.edu.cn微软公司授时主机(美国) :t...
2018-11-23 11:41:41 4550
原创 将参数拼接form表单后台自动跳转提交
原理就是一个将一个map中的参数拼接成html和js代码,自动用js提交跳转,直接上代码/** * 功能:前台交易构造HTTP POST自动提交表单<br> * @param action 表单提交地址<br> * @param hiddens 以MAP形式存储的表单键值<br> * @param encoding 上送请求报文域encod...
2018-11-15 08:49:46 2012
原创 nginx 辅助 同一个tomcat绑定多个二级域名及辅助多个tomcat绑定多个二级域名
公司现阶段部署环境,一台Linux服务器,部署了4个项目,一个项目A 单独使用一个tomcatA ,项目B,C,D 使用同一个tomcat B。一开始BCD项目通过配置tomcat 配置文件中Server.xml 中的HOST 节点来达到同一个tomcat使用不同二级域名的目的的:如下<Host name="B.xxx.com" appBase="webapps"
2017-10-20 16:24:30 599
原创 部署到linux线上服务器webSocket链接失败404
这篇文章是我上一篇文章《 jfinal+H5的websocket 实现同一账户在不同地点不同电脑只能登陆一个(互相踢下线)》的后续。本地测试好以后,发布到了linux线上环境,线上测试竟然不成功,WebSocket connection to 'ws://xxx/websocket' failed: Error durin 就是类似的错误,找遍了百度竟然好多问这个问题的,但
2017-05-12 16:07:39 8095
原创 jfinal+H5的websocket 实现同一账户在不同地点不同电脑只能登陆一个(互相踢下线)
公司项目需求,因为项目是开账户卖钱的,为了避免有的用户开一个账户N个人用,所以要求A账户只能在一个地点登录,别人如果使用A账户在别的电脑或者地点登录后就会吧上一个人给踢下线,当然也可以让后一个登录的人登录不了,这都是看你逻辑怎么控制的。效果类似是qq登录的效果,先来张实现后的图具体实现: 分两步,第一步使用 HttpSessionAttributeListene
2017-05-12 12:02:33 4372 3
原创 Jfinal 事物应用回滚
直接上代码,SpringMVC做的控制层要保证账户余额的变动和财务的流水表在同一个事物内。/** * 加款或者减款 * @param model * @return */ @RequestMapping("updateYuE") public String toEdit(Model model,HttpServletRequest request,final Stri
2017-05-09 09:55:02 569
原创 JS二级联动——同一个页面多个省市二级联动互不影响
直接上代码了 js全国省市二级联动下拉选择菜单 initCities('山西','太原','provinceId','cityId') initCities('山西','太原','provinceId2','cityId2') js引入文件 city.
2017-04-18 14:16:55 3338
原创 mysql优化(三) 逆规范化与反三范式
数据库设计时要满足规范化这个道理大家都非常清楚,甚至有数据库的三范式, 好吧, 这有点让我想起了机器人的三定律.但是否数据的规范化程度越高越好呢?这还是由实际需求来决定。因为规范化越高,那么产生的关系就越多,关系过多的直接结果就是导致表之间的连接操作越频繁,而表之间的连接操作是性能较低的操作,直接影响到査询的速度,所以,对于査询较多的应用,就需要根据实际情况运用逆规范化对数据进行设计,通过逆规范化
2017-01-06 11:48:45 5463
原创 mysql优化(二) 通过拆分提高表的访问效率
这里所说的”拆分”,是指对数据表进行拆分。大体有两种拆分方法。1 第一种方法是垂直拆分,即把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。如果一个表中某些列常用,而另一些列不常用,则可以采用垂直拆分,另外,垂直拆分可以使得数据行变小,一个数据页就能存放更多的数据,在査询时就会减少I/O次数。其缺点是 需要管理冗余列,査询所有数据需要联合(join)操作。2 第二种方法是水平拆分,即
2017-01-05 18:09:57 2604
原创 mysql优化(一) procedure analyse()优化表的数据类型
在创建数据库表之初, 需要考虑好表内每个字段的数据类型选择什么, 长度是否应该留有一定冗余.MYSQL 提供了一个PROCEDURE ANALYSE() 函数可以对某张表进行分析, 同时还对数据库表列的数据类型提出了优化建议, 用户可以根据实际情考虑进行优化.实用实例: select * from login_logger PROCEDURE ANALYSE(); select * from l
2017-01-05 18:01:31 861
原创 如何定位 问题SQL的【一般套路】
拿到了一个运行了一段时间的mysql数据库, 该如何进行系统的分析, 尽快的定位问题SQL并解决呢?一 首先,通过show status命令了解一下当前数据库各种SQL执行的频率. 格式:mysql> show [session|global] status; 其中:ses
2016-12-27 16:32:41 4906
原创 Fastjson 常用API介绍及 下载地址
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。GitHub下载地址: https://github.com/alibaba/fastjson最新发
2016-12-26 09:56:58 19870 1
原创 windows安装两个mysql数据库 5.5 5.7 【图】
本来电脑上有一个5.5版本的数据库, 项目开发的时候有个特殊的需求, 要用到mysql5.7新特性的 JSON类型字段存储东西. 于是开发阶段, 需要再在本机上搞一个5.7版本的.废话不多说:1 第一个数据库5.5正常安装. 2 下载mysql 5.7 压缩版,官网 http://dev.mysql.com/downloads/mysql/ 3 解压到你电脑的路径,并copy mysql配置文
2016-12-20 11:47:18 8991 1
转载 深入解析MySQL分区(Partition)功能
自5.1开始对分区(Partition)有支持= 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。=== 水平分区的几种模式:===* Range(范围) – 这种模式允许DBA将数据划分不同范围。例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990'
2016-12-15 18:12:26 560
原创 Mysql分区/分片 精炼详解
一 分区概念mysql 5.1 以后支持分区, 有点类似MongoDB中的分片概念.就是按照一定的规则, 将一个数据库表分解成很多细小的表, 这些细小的表可以是物理的分区, 就是在不同的位置. 但是站在应用的角度来看,分区又是透明的, 整体上看起来还是一个表,不影响使用.二 分区优点 1 可以存储更多的内容, 因为物理上可以放在不同的位置. 2 提高查询效率, 如果分区
2016-12-15 18:08:55 15037 1
原创 mysql 一次性导出全部数据库【数据库备份及迁移】
像SQLyog 和NavCat 等mysql可视化工具都是自带数据库同步工具的. eg: 但是如果数据库少还可以使用,如果多则几十个数据库的话, 这样一个 一个复制太慢了.于是,我们可以使用mysqldump 命令进行所有数据库的一次性导出,然后用source命令, 再新的数据库一次性导入. mysqldump -h 192.168.1.200 -uroot -p –all-databases
2016-12-13 15:07:18 10745
原创 根据当前日期获得所在周的日期区间(周一和周日日期),一个月有多少天
/** * 根据当前日期获得所在周的日期区间(周一和周日日期) * * @return * @author liuyifeng * @throws ParseException */ public static String[] getTimeInterval(String date) throws ParseException
2016-12-13 14:07:01 4427
原创 mongoDB 按照时间字段分组 【24小时,周,月,年】
最近在做mongoDB的统计, 有需求是按照一天24小时分组,按照一周的7天分组, 按照一个月30天分组,按照一年12个月分组统计,mongodb 入库的时间字段是 2016-12-12 这样的字符串格式,并没有用mongodb的格式UTC,有时差问题. 思路是,只能通过mongodb的 管道 进行层层筛选, 分组的时候使用mongodb的自带函数,$substr 进行截取
2016-12-13 11:56:04 11889 1
原创 setFirstDayOfWeek 不起作用,疑惑?
做项目的时候,遇到个问题,要根据传递的日期获取这个日期是一周中的第几天.于是这么搞, SimpleDateFormat simpleDateFormat = DateTools.getSimpleDateFormat(); simpleDateFormat.applyPattern("yyyy-MM-dd"); Date parse = simpleDateFormat.parse
2016-12-12 15:29:29 3257 1
原创 Nginx+SFTP 做图片服务器
安装nginx之前需要安装nginx依赖的软件库.1 gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ 2 PCREPCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl 兼容的正则表达式库。nginx的ht
2016-12-02 14:44:11 3421
原创 MongoDB 常用语句
记录一下自己用到的MongoDB的语句,说实话,这东西时间一久,不常用的话,就都忘记了.1 存在就更新,不存在就插入 $setOnInsert (根据id和日期更新数据,如果存在则更新,不存在符合条件的插入)db.dayCollect.update({"advId":"333333333","date":"2016-11-29"},{$setOnInsert: {"name":"m
2016-11-30 11:09:23 1517
原创 配置log4j 打印mybatis sql以及执行结果
主要是在自己的log4j文件中配置这一句话就够了log4j.logger.advertisement =TRACEadvertisement 是我自己的mybatis的命名空间,就这么简单。执行结果
2016-11-28 11:24:13 1474
原创 PipedReader/PipedWriter 管道流进行多线程通讯
管道流(pipeStream)是种特殊的流,用于在不同线程间传送数据,一个线程一端发送数据到管道,另外一个线程从输入管道读取管道流有两种:字符流:PipedReader、PipedWriter字节流:PipedInputStrean、PipedOutputStram 以下为字符流实例代码package com.yifeng.PipedOutputStream;impor
2016-11-27 22:34:47 1606
原创 设计模式二—门面模式(外观模式)
门面模式( Facade Pattern) 也叫做外观模式, 是一种比较常用的封装模式,特别重要的就是封装二字,看完下面的介绍,也许你会发现在工作的过程中,很有可能你就用过外观模式,只不过当时并不知晓这样写还是一种设计模式呢。 其定义如下: 要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。 门面模式提供一个高层次的接口, 使得子系统更易于使用。类图就这么简单, 但是它
2016-11-17 14:55:17 407
原创 JAVA多线程 join() 方法详解及应用场景
在某些情况下,主线程创建并启动了子线程,如果子线程中需要进行大量的耗时运算,主线程往往将早于子线程结束之前结束,如果主线程想等待子线程执行完毕后,获得子线程中的处理完的某个数据,就要用到join方法了,方法join()的作用是等待线程对象呗销毁。public class Test { public static class MyThread extends Thread { @Over
2016-11-17 11:40:56 12558
原创 ThreadLocal的使用,保证每一个线程都有自己的共享变量。
变量的共享可以使用public static 修饰,所有的线程都使用同一个public static 变量,那如何实现每一个线程都有自己的共享变量呢,ThradLocal类就是干这个用的。package com.wupao.controller.test;public class ThreadLocalTest { static ThreadLocal threadLocal =n
2016-11-16 14:56:23 3131 1
原创 Timer的缺陷-不按定时时间执行【已入坑】
公司做项目,其中涉及到一个游戏的业务逻辑,需要使用定时类去执行,在使用Timer的时候,发现总是出现奇怪的问题。如下代码:package com.yifeng.test22;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util
2016-11-11 10:20:50 10926
原创 myeclipse插件—SVN分支与合并详解【图】
svn作为版本控制软件被广泛用于众多公司的开发团队中,最多的场景就是一个项目上传svn后,一个组内的小伙伴在上边提交和更新代码以及解决冲突,其实这只是发挥了svn的很小的一部分功能。先稍微介绍一下svn的两种开发和发布的规范:一 主干修改,分支发布代码都在trunk上修改,需要发布的时候,从主干上拉出一个版本,如果该版本发现BUG则继续从该分支上修改,并将修改合并到主干上。二 主干
2016-11-10 18:28:20 12680 1
原创 MyEclipse安装FindBugs 插件
1 首先打开MyEclipse的超级市场。2 在超级市场里搜索到findBUGS ,并进行安装。3 安装完成后重启myeclipse进行插件的加载,show view 出findBUgs的窗口。4 右键项目-》findBugs,就可以进行BUG的扫描了。如果又问题的代码,他会用他特有的标记给标记出来。
2016-11-09 11:06:17 1116
原创 懒汉式单利模式多线程终极解决方案
首先要说的是,饿汉式的单利是能保证多线程安全的,开发都是这么玩的,除非你要单利的对象有特殊情况,比如创建这个对象很消耗系统资源,个人感觉大部分的懒汉式的单利模式却被当成了面试题问的比较多。比如 连珠炮先回问你,单利模式知道吗?什么是懒汉式,什么是饿汉式?有笔吧?来!把代码写出来等你搞定以后,又问你,你看你写的懒汉式的单利模式有没有什么问题?你可能低头看了一眼代码,然后回
2016-11-01 17:04:22 860
原创 JAVA-多线程-停止线程
多线程编程中,想要要正在运行的线程停止,主要有两种方式:**1. 使用stop方法强行终止线程,但是不推荐此方法,因为stop方法和suspend及resume一样,都是过期作废的,使用它们很有可能会有不可预料的结果。2. 在多线程的run方法中,通过加入标志位判断配合着 interrupt 标志方法,进行线程的业务逻辑上的停止。**第一种方式不说了,强烈不建议使用stop方法,因为如果强制停止
2016-10-09 17:43:32 318
转载 利用缓存实现APP端与服务器接口交互的Session控制
与传统B/S模式的Web系统不同,移动端APP与服务器之间的接口交互一般是C/S模式,这种情况下如果涉及到用户登录的话,就不能像Web系统那样依赖于Web容器来管理Session了,因为APP每发一次请求都会在服务器端创建一个新的Session。而有些涉及到用户隐私或者资金交易的接口又必须确认当前用户登录的合法性,如果没有登录或者登录已过期则不能进行此类操作。 我见过一种“偷懒”的方式,就是在用户
2016-09-07 16:50:43 2069
myeclipse SVN1.8 最新插件下载 离线版本
2016-02-24
libsigar-amd64-linux.so,Sigar
2015-07-10
PowerDesigner12.5破解
2014-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人