自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒲公英的约定

最美的风景在路上,最好的人生在脚下

  • 博客(50)
  • 资源 (18)
  • 收藏
  • 关注

原创 部署SSL的一些总结

今天同事在客户现场部署SSL,遇到了一些问题,最后都得以解决。排查问题过程中有很多值得学习的地方,特此记录。机器A部署ssl时,如果tomcat成功启动,在外网却访问不了A的ssl端口(如8443),排查如下:1、在本机A telnet 8443,通则说明本机能访问2、在机器B telnet 机器A的8443,不通检查A的防火墙,是否对外屏蔽了84433、如果内网也通,外网不通,检

2017-10-27 12:00:00 876

原创 Http Session丢失

近段时间,客户生产环境遇到了一个问题。在点击一些按钮进入新页面时,偶尔会出现空白页面。这个空白页面,是因为后台收到请求后,需要获取HttpSession里的一些参数进行判断,session中少了参数,自然是进不去的。程序中使用 req.getSession() 来获取session对象,req.getSession()其实就是req.getSession(true),如果有指定id的sessi

2017-08-10 12:28:11 1683

原创 websocket的负载均衡

今天来说一说负载均衡的东西。    我们知道负载均衡在IT中是个很重要的概念,尤其是在互联网行业中,很多的产品都是web形式,提供基于http请求的服务。而单个服务器的处理能力是有限的,往往我们会用到集群。集群环境下,http请求是根据配置的策略来分发到指定的服务节点上的,一般在各个机器的性能都一致情况下,请求分发到每个结点的机率都一样。负载均衡的实现,有硬件上的,也有软件上的。硬件的有昂贵的

2017-07-20 14:37:40 8817

原创 保护性拷贝和不可变视图的学习,更面向对象的设计

最近在阅读《Effective JAVA》,感谢它让我重温了很多知识点。不过有些章节不是一时半会就能全懂,也是要多回头再看,结合一些实际经验就好理解了。今天看到“必要时进行保护性拷贝”有感,记录一下。JAVA是一门面对向象的语言,对象作为主体。对象中可能有不少内部组件,比如List,map等。按照惯例,我们可能会为一些属性提供setter和getter。这个时候我们可能就越过了对象控制属性,而

2017-06-20 16:02:51 485

原创 生产问题排查与程序设计的一些思考

最近处理生产上的一些问题,对程序设计和编程有了一些新的认识。浅谈一下。1、servlet这个东西,可以用来做对外服务的接口,发布一个上下文就可以使用http调用。也许很多时间我们只是简单地override了doGet和doPost方法,调用业务处理完print回去。如果这个业务处理很费时,那么这个servlet线程就会一直不能回收。我们知道一个tomcat能接受的最大并发是有限的。所以如果se

2017-06-01 23:13:51 541

转载 jconsole远程监控Linux tomcat和weblogic

最近对程序进行了优化,准备拿到 Linux的虚拟机上做一下压力测试,碰到了一些问题,所以想看看程序的状况,想到了Jconsole。Linux上不方便看啊,所以只能远程。以前配置过,但感觉并不是对所有都适用。这里结合别人的整理一下。环境:Linux  WebLogic12c1、修改WLS配置文件windows修改  E:\bea\user_projects\domains\bas

2017-04-17 16:40:08 1396

原创 两个重要的多线程辅助类之CyclicBarrier和CountDownLatch的用法

最近在做在线客服系统的并发测试,由于没有很专业的测试人员,所以手写了一个小程序来模拟并发。使用jetty-io模拟浏览器与服务端之间的websocket。现在想要的一个场景就是,看看系统在大并发下的情况。这就决定了socket不能是一个个new出来的,而是要在某一个时间点统一start。使用JUC下的CyclicBarrier即可实现这种效果。package com.yicong.kisp

2017-02-28 11:08:13 514

原创 多个应用共享一套配置文件怎么做

海客户上线的这个产品直到现在都还有很多可以记录的东西。今天来说点多套应用多套配置文件的事情。    产品有多个应用,每个应用的配置文件还挺多的。客户要求应用集群化,我们的做法是部署多套应用,数据共享。比如我有一个wsp应用,8个节点,那就要8个工程包。其实我们有3种应用,总共就是要24个工程包(捂脸....),所以客户说这样不行,到时运维就很麻烦。也是的,单种应用的代码全都相同的,就是若干配置

2017-02-08 13:55:08 1599 2

原创 Linux和Windows之间的各种挂载方式

很久不见了,年关已近。今天想记录的是有关于共享文件夹和挂载的一些事。平常的开发中,涉及到文件上传的,基本都是在一台windows的电脑上,配置个目录,程序写到指定的位置就是了。上了生产就不是了,也许不只有你一个程序,其他应用也要读取你上传的文件。所以就需要一个公共的存储目录,放在单独的机器上。分3种情况1、同windows如果所有的服务器系统都是win的,server A的D:\chat做为公共存

2017-01-18 17:38:56 2971 1

原创 websocket经过F5无法发送到服务端

这个项目做到要上线了,真是累。在这个关头,又冒出了一个新问题。我们做的是在线客服的产品,客户端页面中会使用websocket与服务端实时通讯,起先我们在nginx上做了转发规则,一切正常。到了生产,网络层面就没有那么简单了,又是双卡绑定,又是F5负载,网络一直是我的软肋。长话短说,js中创建ws的上下文是这样的 ws://cc.com/wsp/ws/websocket,cc.com是F5 ip

2016-11-22 01:02:07 8352 1

原创 同一个url重复调用无效,加随机数的解决

今天协助搞一个验证码的问题,点击图片本来应该重新生成一个码,但是老是没发出请求,一直以为是js语法错误,然而并不是。后来才知道,是浏览器的缓存,当我们在重复使用同一个url的时候,可以这样子解决:1:在url后面加时间戳。 $('#validateCodeImg').click(function() {       var src = 'validateCodeServ

2016-10-20 19:39:01 2508

原创 项目迁移到Linux WebLogic遇到的问题与解决

部门的产品之前都是在tomcat中开发的,上线也是使用tomcat,但现在这个客户要求高,要在wls上部署,过程中就遇到不少问题了。在这里一一记录。1、Log4j这是第一件头疼的事,实际上这和项目在wls上的部署方式有关。只是当前是用war包的,所以才碰到。最开初web.xml中的配置是         log4jConfigLocation        WEB-

2016-10-09 12:33:00 3648

原创 mybatis启动不了,nested exception is org.xml.sax.SAXParseExceptionpublicId,文档类型声明包含或指向的标记声明必须格式正确。

今天遇到一个问题很是郁闷。一个项目在这边的虚拟机中运行得好好的,放到另一个地方就运行不起来了,日志打印如下。又是换jar包又是换tomcat都一个样。潘总出山了。这时为什么会出现这么一个ip : 192.168.255.66。?正常启动时日志里也没有出现ip的啊,但那些正常启动的tomcat所在的机器都是可以访问外网的,这一台却不行,是网络的问题吗?spring-mybatis.xml有这么一

2016-07-14 14:09:55 14085

转载 Tomcat Server.xml 配置详解

网站网页目录:/web/www     域名:www.test1.com   论坛网页目录:/web/bbs    URL:bbs.test1.com/bbs    网站管理程序:$CATALINA_HOME/wabapps  URL:manager.test.com   允许访问地址:172.23.136.*        conf/s

2016-06-23 16:33:13 678

转载 Java中的五种单例模式实现方法

package singleton; /** * @author lei * 单例模式的五种写法: * 1、懒汉 * 2、恶汉 * 3、静态内部类 * 4、枚举 * 5、双重校验锁 * 2011-9-6 *//** *五、 双重校验锁,在当前的内存模型中无效 */class LockSingleton{ private volatile static Lock

2016-06-07 18:23:04 1099

转载 Servlet 3.0特性详解

Servlet 3.0作为Java EE6规范体系中一员,随着Java EE6规范一起发布。之前51CTO也曾报导过《Java EE 6新特性之Servlet 3.0的异步处理》的相关内容,而本文将比较全面的、并结合代码实例介绍Servlet 3.0的新特性。关于Java EE 6平台的更多内容,51CTO推荐阅读:Java EE 6平台指南异步处理支持:有

2016-06-04 17:12:48 830

原创 Ajax跨域和JSONP

这几天做一个服务,主要是提供api给别人调用,首先我在自己的机器上调通了接口,然后把api给了他们,自然地像 http://localhost:8081/bizcenter/servlet/fileUpload 的url,要把localhost改成我的ip,比如 http://172.16.30.61:8081/bizcenter/servlet/fileUpload,结果就出现了“跨域”的问题。

2016-05-25 15:20:48 1220

原创 <input type='file'>选择文件后自动上传文件

想要一个选择了文件就自动上传的效果,但之前的 都是写在form表单中来提交的。借助jquery的ajaxfileupload.js,可以这样子弄:正面:function uploadFile(obj, type) { $.ajaxFileUpload({ url : "http://localhost:8081/ws2/servlet/fileUpload", secur

2016-05-22 10:36:09 58953 10

原创 访问其他机器的资料

Html中的是很常见的,作用是显示一张图片。如果是本地的图片,可以这样写 ,如果要显示其他电脑上的图片呢?那就要靠服务器了。显示其他电脑上的图片相当于访问他人的资源,要通过server提供服务,没有 192.168.1.2/D/a/b.jpg这样的写法。所以是这样。启一台tomcat,在webapps/app下建一个img文件夹,图片放里面,就可以访问到了。同样的,视频、doc、mp3

2016-05-19 18:36:04 501

原创 mybatis oracle获取插入的主键

今天用mybatis时需要获取insert后的主键,方法如下:public Integer genBizOrder(Map m); select seq_tab.nextval as id from dual insert into t_test t values(#{id}, #{custId}, #{seatSubmitTime}, '') 调用g

2016-05-18 14:21:30 2246

原创 web项目启动提示class path resource does not exist(eclipse构建classes)

今天想搭建一个web工程,参考以前项目的结构,配置文件一般都会放到conf文件夹中,conf与src是同级的关系。刚开始只是建了一个conf,把配置文件丢进去了,部署到tomcat时却提示class path resource [config.xml] cannot be opened because it does not exist,就是说在classes中找不到config.xml。打开

2016-05-15 00:54:26 5660

转载 javascript逻辑运算符“||”和“&&”

许久没有搞JS,有些东西忘了,比较alert(||和&&)。一、先来说说||(逻辑或),从字面上来说,只有前后都是false的时候才返回false,否则返回true。alert(true||false); // truealert(false||true); // truealert(true||true); // truealert(false||fa

2016-05-10 14:34:47 917

原创 一些经典面试题的思考与解析

这里把遇到的一些面试题拿来分析分析,因为如果不仔细想,很容易得出错的答案。public class Test10 { static StringBuilder a = new StringBuilder("A"); static StringBuilder b = new StringBuilder("B"); public static void main(String[] s

2016-04-28 11:39:56 792

转载 HashMap的元素hash散列均匀必要性及算法优化

之前看过HashMap的一些东西,时间一久就容易忘,而已一些要点理解得不深入,今天看到这篇文章很不错,具有相同hashcode(称为hash冲突)的对象会放在同一下标的数组元素中,如果冲突的元素多,那么同一链表的长度就会越来越长,这样在遍历的时候就费时,所以就要让存进来的对象相对均匀地放入在所有的链表中。    通过源码可以知道,indexFor(hash, table.length)方法用来

2016-04-27 14:36:37 5604

原创 Nginx loaction配置和Tomcat部署方式

昨天写了一个servlet,调试的过程学习到了不少东西。首先前端和服务端是分开的。前端项目放在nginx中,http请求通过nginx转发。一个表单的action=‘’/ka_upload“,nginx conf中配置为location /ka_ { proxy_pass http://localhost:8080/kmgw/access/post; prox

2016-04-26 14:13:28 2444 1

原创 jspSmartUpload上传路径不存在

今天改造一个上传的Jsp成servlet,其实就是一回事。用到了jspSmartUpload,执行到 file.saveAs("/upload/ChatFile/" + fileName); 的时候,一直报java.lang.IllegalArgumentException: This path does not exist (1135). at com.jspsmart.upload.Sm

2016-04-25 18:05:50 6805 1

转载 oracle select into null的问题

今天遇到一个问题,oracle中一个select into 语句报错,说未找到记录。select into 还有大学问。简单说就是表有记录但字段为空,可以into;表无记录,into会报错。详见转载的帖子。今天一朋友问及我这个问题,当记录不存在,会提示 no data 的错误,下面是网上这类问题的解决方法。当在PL_SQL中执行SELECT … INTO …语句时,如果返回结果集为

2016-04-22 13:49:06 15896

转载 Linux Tomcat远程调试

一.      应用场景在实际的测试过程中,可能会遇到由于程序执行的不间断性,我们无法构造测试场景来验证某个功能的正确性,只有通过代码级的调试才能验证功能是否正确。然而开发本地调试的话,不具有说服力,这时我们测试人员必须连接到linux下的基线版本代码进行远程调试     二.调试步骤1、部署服务工程到Linux系统下的Tomcat中,本文档重点是远程调式,为了防止文档

2016-04-20 15:27:37 695

原创 Oracle存储过程的commit和rollback,sqlerrm

最近ld说要把之前写得好好的一套存储过程说改成java,什么意思听起来不对劲呀。意思是不要用proc了,改成mybatis的sql,达到屏蔽差异性的效果。。。哈哈不是这么回事啊,首先proc里肯定用到了很多db的内置函数,这个不同的db都不一样的。比如oracle中的wm_concat,mysql中的group_concat,msserver的wmsys.wm_concat。另外自定义的函数是定义

2016-04-19 15:12:03 13397 1

原创 nginx直接返回

前几日使用微信公众号平台,开发者工具中可以配置回调地址,微信将一些事件通过该地址回推给开发者。第一次配置时需要对url进行认证。简单说就是发一串字符串到url指定的服务器上,然后服务器必须返回字符串中的某一串,就是echostr。我这边用的是Nginx,ng再转到tomcat,所以直接在ng把echostr返回就可以了。具体配置:location /kmgw/{    proxy_

2016-04-11 14:28:57 2161

原创 java synchronized死锁的好例子

关于java死锁的一个好demo。要避免dead-lock,就应该控制同步的数量和可能共用的资源的访问(代码源于网上,略加修改)/** * @author yicong * @date 2016年3月22日 下午1:44:32 * @todo 死锁的经典例子 */public class DeadLock { public static void main(String[] ar

2016-03-22 14:09:32 986

原创 ThreadPoolExecutor中运行线程名称的修改

项目中使用到了ThreadPoolExecutor,这个是挺好的东西,线程池的实现。但有一点不太爽的是,用Jprofiler调试由它创建的线程的时候,看到的都是pool-1-thread-1\2\3\4之类的。这是它自身的默认规则产生的,pool代表这是池,-1-代表是第几个ThreadPoolExecutor产生的,-thread-1是递增的。所以每次我都要点 Thread Dumps 去查

2016-03-21 15:35:17 30493 4

原创 基于信号量的统一线程池机制

上次说要写一篇关于统一线程池的文章,拖了好久,下午就来写一写,温故而知新。线程池机制大家都很熟悉,把任务添加到池中,然后按照一定的机制使用多个线程来执行任务。在java中通常是使用newCachedThreadPool()来创建。再加上信号量,通过获取到许可来执行任务。

2016-03-01 09:55:08 1638

原创 原子类与多线程中变量的累加问题

java并发包中的原子类的知识和多线程中对变量累加的同步操作

2016-02-26 16:58:15 2131

原创 Mycat分库分表的初次学习

针对单表大数据量的情况,学习Mycat分库分表的相关知识以备不时之需

2016-02-23 16:10:52 7041

转载 两机只能单向Ping通的原因、ping的原理

今天遇到一个问题,本机ping通虚拟机,但是虚拟机ping不通本机。请教后才知道是我的防火墙开了,挡掉了。特此学习一个ping一、什么是 PING:         它是用来检查网络是否通畅或者网络连接速度的命令,使用ICMP(Internet控制报文协议)。 它所利用的原理是这样的:网络上 的机器都有唯一确定的 IP 地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个同 样大小

2016-01-28 14:42:10 33979 1

转载 各种OutOfMemoryError的解决(待补充)

问题描述Exception in thread "main" java.lang.OutOfMemoryError: Java heap space解决方案一直都知道可以设置jvm heap大小,一直用eclipse写/调试java程序。一直用命令行or console加参数跑程序。现象:在eclipse的配置文件eclipse.ini中设置-vmargs -Xms500m -Xmx1

2016-01-28 10:29:20 1792

原创 分开的两个程序使用共同的mysql,一端更新了表,另一端怎么及时更新缓存,使用mybatis

目前项目中由于业务系统和管理系统是分开的,管理端只负责对数据库表的CRUD,而业务系统也需要交互db。现在就存在一个问题,在管理端上改了某个表的值,业务端是无从得知的。因为业务端一直用相同的语句查询db,mybatis的二级缓存会缓存这些数据,不会真正发sql去查询真实数据。所以就需要管理端在修改表的时候,通知一下业务端是更新二级缓存,这样才能及时使用新值。起初在想mybatis的sqlSes

2016-01-26 17:49:31 642

转载 线程池 threadPoolExecutor详解

这种文章写得很不错,让我对threadPoolExecutor有了更深入的了解!ThreadPoolExecutor的完整构造方法的签名是:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, Thread

2016-01-22 09:05:23 770

原创 Spring注解与扫描,NoUniqueBeanDefinitionException

Spring中可以使用注解机制,代替传统的在xml中配置一个bean。如@Componentpublic class LoadMessageJob { // code}和是等效的。@Component默认类名的第一个字母小写成为bean的id,最后两者都需要扫描包以生效,。这样才能在实现了ApplicationContextAware的类中使用getBean("id")

2016-01-18 23:04:09 43539 7

netty5.0A2官方案例

netty5.0A2官方案例,对刚接触entty,nio的帮助很大。

2018-03-11

Dubbo+Zookeeper+Spring所需jar包

Dubbo+Zookeeper+Spring所需jar包,对第一次搭建dubbo的很有用

2018-03-11

dubbo2.5.x源码

dubbo2.5.x源码,使用maven管理,方便直接导入。对熟悉dubbo很有帮助

2018-03-11

mycat权威指南

mycat权威指南,使用前先看一看,了解一些基本概念

2016-02-23

用hibernate连接mycat的例子

用hibernate连接mycat的例子,用xml,老了点但能用

2016-02-23

Mycat-Server-master 源码、可直接在eclipse中调试

Mycat-Server-master 源码、可直接在eclipse中调试,Maven

2016-02-23

JAVA 1.6 中文 API

真正的JAVA 1.6 中文 API,chm电子书格式(如果打开后空白,请右键-属性-安全-解除锁定)

2016-02-01

JAVA 1.7 中文 API

真正的JAVA 1.7 中文 API,chm电子书格式(如果打开后空白,请右键-属性-安全-解除阻止)

2016-02-01

基于SSH轻量级框架的网上书城的设计与实现

软件工程专业的毕业论文,比较有可参考意义

2014-11-09

Apache Tomcat 6的全部源码,能在eclipse打开!

tomcat6的全部源码,可在eclipse等IDE中关联打开,非常适合编程时研究tomcat底层结构,包括catalina core,servlets,filters等核心齐全

2013-12-27

MySql 中国行政区域数据库(2012最新版,到县级)

由2012年底最新发布的中国行政区域制作,精确到县级,三表结构,mysql亲测可用

2013-11-25

中国行政区域数据库(2013最新版,到县级) mySQL可用

2013最新整理的中国行政区域数据库,精确到县级 mySQL亲测可用。

2013-11-25

Android小项目+20个通用程序实例源码

Android+小项目开发示例大全--20个通用具体应用程序实例源码,对初学者有比较大的帮助

2013-10-18

IT人员必备的经典小软件

经典的工具软件,包括网页动画特效制作,login设计,签名工具, 水印图章生成器,省去你一个个去找哦

2013-03-19

JAVA 面试技巧大全

收录了JAVA面试技巧与攻略,java面试时会遇到的一些问题和解答技巧,让你在面试时更加如鱼得水!

2013-03-19

SQL 技巧与大全

本人收藏的关于SQL语言精粹,经典SQL语句大全,SQL语言艺术等等精品内容,是学习SQL基础和掌握SQL高级应用的好资料!

2013-03-19

web后台登录页面模版

本人收藏的几个比较好的web后台登录页面,适合各种后台登录入口

2013-03-18

非常优秀的 网站设计模版

本人收藏的一些好用的网站设计模版,适应不同的建站风格需求!

2013-03-17

空空如也

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

TA关注的人

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