自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张相逢的博客

程序猿说:每天不进步,就是退步。

  • 博客(157)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入理解Tomcat

前言学习一个优秀的框架,总要循序渐进,了解->使用->原理->源码->改造。材料下载Tomcat-8.5.37 程序 https://tomcat.apache.org/download-80.cgi下载Tomcat-8.5.37 源码 http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.37/src/准备...

2018-12-26 22:51:57 2175

原创 关于IOS https图片上传失败的处理过程

问题现象一个图片上传接口,处理逻辑如下1.文件上传到服务端(nginx+service架构)2.服务器端上传到腾讯云对象存储3.上传完成之后返回图片的url但是:http上传成功,https上传失败(调试的时候:代码没走到控制器代码就返回了)PostMan上传Spring 控制器代码思考1.安卓http能成功,说明代码逻辑没问题2.接口传入参数类型是Multip...

2018-12-18 19:18:39 4220 1

原创 查看linux中某个端口(port)是否被占用

> 1.使用lsof lsof -i:端口号查看某个端口是否被占用 > 2.使用netstat 使用netstat -anp|grep 80 然后:kill

2017-08-31 09:39:47 1311 1

原创 上海市提取公积金攻略

实战攻略办理地点 浦东新区的办理地点如下: 上海浦东新区浦城路812号二楼,什么也不用带,官方要求的单子,什么的,办理点提供的都有。 人比较多。我早上9点到,门口已经排到1066号。 从1010号开始。。。。提取说明 一次最多提3个月的,一年最多提取4次(也就是说一年最多提取12个月的。)。每月租金自己随意写。 比如你写1700(实际是1500),3*1700=5100

2017-08-04 11:44:32 3075 1

原创 Linux环境部署 Tengine2.1.12(Nginx)+PHP5.6.30

突然想搞一下php的运行环境,做点小东西,于是乎开始百度.....忙活半天后,发现其他人的文章,不是照抄就是一点用处都没有,或者把你引入绝境!!!!!,自己去翻阅官网文档(纯英文,但是很无奈...)吧.这是记录一下过程,以便帮助其他人,至于为什么用php5.6 而不是7,感觉老版本稳定1.下载php5.6.302.编译安装tar zxf php-x.x.xcd ../php-x.x.x./

2017-05-19 11:22:49 1461

原创 linux,日志查找技巧

1.查询日志中含有某个关键字的信息cat app.log |grep 'error'2.查询日志尾部最后10行的日志tail -n 10 app.log 3.查询10行之后的所有日志tail -n +10 app.log 4.查询日志文件中的头10行日志head -n 10 app.log 5.查询日志文件除了最后10行的其他所有日志head -n -10 app.log 6

2017-05-05 10:51:36 25905 4

原创 JMS&MQ,从入门到精通(八)

本文我们来介绍一下TemporaryQueue和TemporaryQueue的使用, TemporaryQueue和TemporaryTopic,从字面上就可以看出它们是“临时”的目的地。可以通过Session来创建,例如: TemporaryQueue replyQueue = session.createTemporaryQueue(); 虽然它们是由Session来创建的,但是它们的

2017-04-28 18:01:57 1025

原创 JMS&MQ,从入门到精通(七)

上篇我们介绍了messageSelector的使用,本篇我们来实现一个基于messageSelector来实现一个稍微复杂一点儿的场景.介绍 创建了三个消息生产者A,B,C和三个消息消费者A,B,C。生产者A给消费者A发送一个消息,同时需要消费者A给它回复一个消息。B、C与A类似。 简图如下: 生产者A-----发送----〉消费者A-----回复------〉生产者A 生产者B-----发

2017-04-28 17:28:54 839

原创 JMS&MQ,从入门到精通(六)

本篇我们来介绍一下activeMq的Queue的细节之处 前面的例子中创建一个消息消费者使用的是: sesssion.createConsumer(destination)另外,还提供了另一种方式: sesssion.createConsumer(destination, selector)这里selector是一个字符串,用来过滤消息。也就是说,这种方式可以创建一个可以只接收特定消息的一个消费

2017-04-28 15:50:22 1684

原创 JMS&MQ,从入门到精通(五)

上篇我们介绍了,jms实现消息持久化的案例,本篇我们来介绍一个稍微复杂的场景场景介绍创建两个Queue,发送者给一个Queue发送,接收者接收到消息之后给另一个Queue回复一个Message,前一个发送者进行接受处理实现思路1.创建一个连接2.创建两个queue,sendQueue,replyQueue3.给队列sendQueue发消息,监听这处理从replyQueue回复消息给发送者一

2017-04-28 12:06:12 972 1

原创 JMS&MQ,从入门到精通(四)

上篇文章我们介绍了广播/收听的消息模式,本篇文章我们来介绍消息的持久化.持久化什么是持久化?就是把数据存储到磁盘,关机之后,重启,数据还在.实现的思路1.创建一个连接2.创建一个队列3.向这个队列发送一个持久化的消息,一条非持久化的消息4.关闭进程5.启动监听程序,看收到的消息是那一条?还是都能收到?拭目以待一个简单的实例先写发送消息的代码ActiveMQConnectionFact

2017-04-28 11:38:59 1033 2

原创 JMS&MQ,从入门到精通(三)

上一篇中我们介绍了,一对多的,生产消费队列模型,本篇我们来介绍发布/订阅模型,同样我们需要一个生产者两个消费者不同之处在于:上篇之中,我们的生产者的同一个消息,只能被消费一次,本篇之中,一个消息,多个消费者能收到所有的消息.广播/订阅场景如下图实现思路1.先利用activeMq,创建一个虚拟的注册中心(实际上要运行activeMq,和redis类似,先运行再连接,再操作)2.创建一个topi

2017-04-28 11:19:15 841 1

原创 JMS&MQ,从入门到精通(二)

上一篇,我们介绍了jms&mq的一对一的消息传输与消息处理,本章节我们再实现,2个消费者共同监听一个Queue,然后循环给这个Queue中发送多个消息,我们依然采用ActiveMQ来实现这个案例1个队列多个监听者场景如下图:实现思路new 一个queue,启动2个监听者对这个queue进行监听,处理数据,启动一个循环10次for循环,向这个队列里面放消息,让先前两个create的监听者进行处

2017-04-27 16:48:25 1115 1

原创 JMS&MQ,从入门到精通(一)

JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商(MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。)都对JMS提供支持

2017-04-26 17:53:45 1306 1

原创 EJB,JSF,RMI原理以及作用

EJB EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心

2017-04-25 13:41:13 1463 1

原创 linux下安装配置zookeeper

1.下载zookeeperdownload from zookeeper from www2.安装Jre环境export ZOOKEEPER_INSTALL=/software/zookeeper/zookeeper-3.4.9export PATH=$PATH:$ZOOKEEPER_INSTALL/binexport JRE_HOME=your java path3.配置启动cd /softw

2017-03-21 09:48:24 496

原创 使用nginx作为文件服务器

Nginx打开目录浏览功能(autoindex) Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件,在location server 或 http段中加入 autoindex on; autoindex_exact_size off; 默认为on,显示出文件的确切大小,单位是bytes。 改为off后,显示出文件的大概大小,单位是kB或者MB或者

2017-03-18 17:28:18 5437

原创 Centos7,配置防火墙,开启端口

1.centos7版本对防火墙进行 加强,不再使用原来的iptables,启用firewall 1.查看已开放的端口(默认不开放任何端口)firewall-cmd --list-ports2.开启80端口firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)3.重启防火墙firewall-c

2017-03-12 23:34:46 39663 6

原创 Centos7下,Vsftpd工具,搭建ftp服务器

Centos7安装Vsftpd工具1.下载与安装 1.1 安装环境 测试系统:Centos7.0 所用软件:vsftpd-3.0.2-21.e17.x86_64 下载地址: http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm 1.2 开始安装 1.2.

2017-03-09 18:28:59 4746 1

原创 centos7修改主机名

1.在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。$ hostnamectl status[root@simon-01 ~]# hostnamectl status Static hostname: simon-01 Icon name: computer-vm Chassis: vm

2017-03-04 15:37:25 1781

原创 Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类

废话不多说,贡献一下code 1.编号生成工具import org.apache.commons.lang3.StringUtils;import java.math.BigInteger;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/** * 编号生成工具 */@Su

2017-03-03 10:04:32 401

原创 Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类

废话不多说,贡献一下code 1.编号生成工具import org.apache.commons.lang3.StringUtils;import java.math.BigInteger;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/** * 编号生成工具 */@Su

2017-03-03 10:04:28 390

原创 linux上 nohup command >/dev/null 2>&1 &的含义

nohup command >/dev/null 2>&1 & 到底什么意思?1.nohupnohup 的用途就是让提交的命令忽略 hangup 信号,那什么叫做hangup信号?这里给出了答案https://www.tutorialspoint.com/unix/unix-signals-traps.htm2.command这个就是你要执行的命令3.>重定向操作符,定向把命令执行结果输出4./

2017-02-28 10:10:14 5968

原创 Gitlab服务器迁移

Gitlab服务器迁移最近公司新批了一台GIT服务器(Dell T130),需要把原来Git服务器的数据迁移到新服务器.这里对迁移过程做个简单的记录.备份原GIT服务器的数据gitlab-rake gitlab:backup:create RAILS_ENV=productionPS: 备份后的文件一般是位于/var/opt/gitlab/backups下, 文件名如1461165090_git

2017-02-28 09:51:32 3778

原创 Google翻译网站

Google翻译Urlhttp://translate.google.com/manager/website/add?hl=zh-CN无脑教程:1: 2: 3. 效果:

2017-02-07 11:20:21 1518

原创 nginx下http转https

if ($scheme = http) {return 301 https://$server_name$request_uri;}if ($server_port = 80) {return 301 https://$server_name$request_uri;}error_page 497 https://$server_name$request_uri;

2017-01-15 17:33:24 645

原创 linux查看在线用户并踢出用户

linux查看在线用户并踢出用户1、查看在线用户w [root@dbserver01 ~]# w 16:45:04 up 16 days, 8:48, 1 user, load average: 0.08, 0.07, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT oracle pts/0 192.168.1.116 15:18 0.00s 1

2017-01-04 10:02:56 8351

原创 web前端入门(一)--问题解决

1.gulp serve启动报错原因:gulp的watch需要监听很多文件的改动,但是fedora、ubuntu系统的文件句柄其实是有限制的解决方案: 设置文件watch个数:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

2016-12-22 16:32:24 391

原创 Java操作文件

需求如下: 一个文件夹有很多图片,图片名字混杂,要求把当前文件夹所有的文件复制到另一个文件目录下,但是名字要从从1开始,按照时间或大小或者名称先后排序code:import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;i

2016-12-19 19:08:34 859

原创 web前端入门(一)--NodeJs

1.NodeJS安装由于一些原因,npm在中国的下载速度并不是很理想,我们可以安装淘宝提供的cnpm来代替其功能。官方网址 : https://npm.taobao.org/执行以下命令即可全局安装cnpm。之后可以直接使用cnpm代替npm,命令格式是一样的。$ npm install -g cnpm --registry=https://registry.npm.taobao.org如果全局安

2016-12-07 15:20:40 1369

原创 Mysql函数实战

1.group_concat场景:一对多的查询,电影有多个类型,把多个类型拼装到一条电影语句查询里面sql:SELECT f.id, f.name, f.english_name, f.filmStatus, group_concat(t.name SEPARATOR ',')FROM jk_film f , relation r , jk_type tWHERE

2016-12-06 10:13:27 390

原创 Java生成二维码

场景:将某一段内容加密到二维码里面,如url,用户去扫描,打开网页....Java如何生成二维码 1.利用google的zxing,来实现 2.依赖jar包:zxing点击下载所有依赖jar包直接上Codeimport com.google.zxing.*;import com.google.zxing.client.j2se.BufferedImageLuminanceSourc

2016-12-02 09:40:28 975

原创 Git开发系列(二):实战

1.reset使用场景 1.commit到本地,但是不想把某个commit,push到远程. 2.reset回滚到某个版本,(1.中的作用,也用到了reset回滚的机制)当前位于local_simon分支查看commit的log现在如果push,会将这个test:commit提交到远程.现在我们用reset命令来终结这个commit,即不它提交到远程1.git reset --hard 0945

2016-11-10 13:10:29 367

原创 linux修改默认的编辑器

sudo select-editor 选择vim 搞定。。

2016-10-29 11:35:41 5346

原创 在线导出mysql,数据库表结构

1.自己写的一个工具(java实现):http://export.dtxzw.com/index.jsp使用方法输入host,你的数据库服务器ip输入port,你的数据库服务端口输入用户,你的登陆用户输入密码.你的登陆密码输入到导出哪个数据库如下图:导出结果:目前支持:mysql,其它数据库后续支持

2016-10-28 18:58:45 1584

原创 mysql查询对大小写不敏感的问题

**之前项目到遇到了这样的问题来总结一下**项目中经常用到模糊查询,如:有个username字段的的内容是:AA812135023,我们查询这条记录,查询的sql select * from 表 where username like '%AA%',能找到这条记录,但是用 select * from 表 where username like '%aa%' 也能查询到这条记录.问题出在哪里?出现

2016-10-26 10:20:40 5741 1

原创 Spring MVC实现文件上传下载

直接上代码该配置的还需要spring容器配置好.例如上传的组件..下载public void downLoadFile(HttpServletResponse response, File file) { if (file == null || !file.exists()) { return; } OutputStream

2016-09-02 09:32:55 1461

原创 Linux 定时任务的实现

crontab 定时任务:http://blog.chinaunix.net/uid-7552018-id-182133.htmllinux http请求:http://blog.sina.com.cn/s/blog_6e2d53050101k230.html

2016-08-31 18:31:46 604

原创 linux 服务器登陆管理方案

linux服务器面临问题,开发团队多人管理,为了安全起见,不能把密码告诉每一个人,通过ssh密钥登陆是一种不错的解决方案,既可以让其登陆,也可以限制其权限,不能用su/sudo超级命令给每个人创建一个用户的方案,这里赞不考虑服务器如何配置来实现呢?1.登陆到linux服务器,ssh root@ip 2.然后创建公钥文件存放位置并设置权限 mkdir /root/.ssh chmo

2016-08-31 18:19:07 957

原创 linux vim编辑器显示行号

在Linux环境下的编辑器有vi、vim、gedit等等。进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的。我们有两种办法可以解决: 第一种是,手动显示:在vim命令行模式下输入 :set nu 取消显示:在vim命令行模式下输入: set nonu 第二种是,永久自动显示:我们修改一个配置文件。 我们输入命

2016-08-31 10:23:05 617

excel-trans 使用说明.zip

转化Excel表格。

2021-04-09

flex for linux

flex for linux,tcpdump依赖

2017-05-04

pcre-8.10.zip

pcre-8.10.zip

2016-12-07

java生成二维码,zxing二维码jar

java生成二维码的jar包

2016-12-02

linux oracle 11g依赖的所有包

Linux oracle 11gR2安装数目及依赖包(找了好久才弄齐)。免费分享给大家。compat-libstdc++-33-3.2.3-61.i386.rpm,unixODBC-2.2.11-10.el5.i386.rpm等等。以及db_install.rsp文件。

2016-08-09

Jms做的一些的demo

Jms做的一些的demo,activeMq实现的,在项目的test目录下,这是一个maven项目额。

2016-06-20

Windows环境Apache,Tomcat集群,动静分离,负载均衡

Windows环境Apache,Tomcat集群,动静分离,负载均衡

2016-02-12

nginx,redis安装包,集群架构使用

nginx,redis安装包,nginx,redis安装包,集群架构使用

2016-02-12

2个tomcat8+nginx+2个redis(主从同步)+同步会话

2个tomcat8+nginx+2个redis(主从同步)+同步会话

2016-02-11

tomcat8同步会话

tomcat结合redis同步会话信息。

2016-02-11

tomcat7整合session所需的jar包

tomcat7整合session所需的jar包,使用redis同步session信息

2016-02-11

svn项目代码控制器插件

SVN插件,svn项目代码控制器,管理插件

2016-01-07

mybatis逆向工程插件

mybatis逆向工程插件,mybatis-generator工具

2016-01-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除