自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

转载 springboot websocket集群(stomp协议)连接时候传递参数

最近在公司项目中接到个需求。就是后台跟前端浏览器要保持长连接,后台主动往前台推数据。网上查了下,websocket stomp协议处理这个很简单。尤其是跟springboot 集成。但是由于开始是单机玩的,很顺利。但是后面部署到生产搞集群的话,就会出问题了。假如集群两个节点,浏览器A与节点A建立连接,A节点发的消息浏览器A节点肯定能收到。但是B节点由于没有跟浏览器A建立连...

2019-07-05 15:23:00 1574

转载 Redis可以作为简单搜索引擎优化查询

  在日常开发中在遇到一些大数据量的查询的时候,其实可以换种思路采用redis事先都缓存起来,然后通过redis里面进行结果集的运算。原来的做法可能是 查询SQL太复杂,然后将SQL进行拆分成多个子SQL,最后将每个子SQL的结果集查询出来,在内存中进行运算,并集也好,交集也罢。但是现在想想可以用redis进行并集交集等运算操作。因为redis支持这些功能需求:  现在需...

2019-02-19 16:37:00 168

转载 平时发现的一些有意思的小知识

平时遇到的一些自己开始不懂,后来看了下原理,豁然开朗的问题:1. 1 package day1226; 2 3 /** 4 * @author : hao 5 * @project : StudySjms 6 * @description : 7 * @time : 2018/12/26 15:54 8 */ 9 public cl...

2018-12-26 16:06:00 130

转载 简单谈一下解决前端跨域的方法

首先说一下跨域,跨域只存在前端,浏览器端如果一个页面页面请求非同ip或端口的请求,就会产生跨域的问题。那怎么解决呢?1. 通过ngix的软代理。2. 把请求改成$("head").append("<script src='http://localhost:9090/student?callback=showData'><\/script>");通...

2018-12-26 15:25:00 89

转载 Oracle sql的基本优化写法和思路。

首先简单介绍下常规的sql优化的方式:1.肯定有人说建索引啊。2.数据量实在太大,建分区啊。3.其实基于目前公司的业务还有一种办法那就是向上聚集表。根据查询业务,专门抽取上来一张表,直接做到select就好。4.其实还可以把表细分,然后通过应用控制根据不同条件查询不同表其实,我觉着以上这些思路的前提是SQL写法不能在优化了,不过一般情况下sql优化下 换个写法我...

2018-11-30 18:04:00 120

转载 Linux的简单介绍和开发基本运维时候用到的命令

先简单介绍下Linux文件夹目录1、/ linux下的根目录 实际上等同于window的我的电脑点进去2、/etc /usr 一个是系统配置文件存放的地方,一个是系统资源(应用程序)放的地方这俩文件夹建议别动也别忘里面放东西。 更不要把文件夹权限给非root用户(我就犯过这样的错误),这样会导致一些命令不能用,实际上就是shell外部命令的安装包权限变了,导致不能用了...

2018-11-27 14:23:00 79

转载 Nginx的使用(反向代理,负载均衡)

在我目前的工作内容中,接触到Nginx的用处无外乎两点:1. 反向代理,解决前端跨域的问题  工作内容有门户的概念,就是将各个子系统集成到门户里,在门户里面访问,这样就很容易造成跨域的问题  那么解决的办法就是给子系统配置Nginx,通过代理来访问,使门户和子系统在同一IP下。  具体的配置如下:(实际上就是给真实地址配置个代理IP,proxy_pass?)  主...

2018-11-26 15:19:00 86

转载 Mybatis传值为空需要配置JdbcType来解决吗?(XML文件不需要配置JdbcType)

1,解决思路,配置自定义的语言驱动,重写自己的Paramethander 1 package cn.com.servyou.gxdqy.tool.xmlhelper; 2 3 import org.apache.ibatis.executor.parameter.ParameterHandler; 4 import org.apache.ibatis.mapp...

2018-11-26 13:21:00 300

转载 Mybatis Blob和String互转,实现文件上传等。

这样的代码网上有很多,但是本人亲测有bug,下面是我写的代码。望参考 1 @MappedJdbcTypes(JdbcType.BLOB) 2 public class BlobAndStringTypeHandler extends BaseTypeHandler<String> { 3 4 private static final Stri...

2018-11-19 11:40:00 616

转载 Ckeditor上传图片返回的JS直接显示出来,未执行!!!

Ckeditor上传图片网上有很多教程。下面是我今天下午遇到的一个坑...自己挖的坑。在conotroller里我开始习惯性的response.setContentType("application/json; charset=UTF-8");结果就是这个坑。设置错了响应类型。正确的应该是response.setContentType("text/ht...

2018-11-16 14:41:00 133

转载 Mybatis之拦截器原理(jdk动态代理优化版本)

在介绍Mybatis拦截器代码之前,我们先研究下jdk自带的动态代理及优化其实动态代理也是一种设计模式...优于静态代理,同时动态代理我知道的有两种,一种是面向接口的jdk的代理,第二种是基于第三方的非面向接口的cglib.我们现在说的是jdk的动态代理,因为mybatis拦截器也是基于这个实现的。简单介绍就是建立一个目标类的代理类。在执行目标类的方法前先执行代理类的方...

2018-11-12 15:03:00 134

转载 Mybatis之是如何执行你的SQL的(SQL执行过程,参数解析过程,结果集封装过程)...

Myabtis的SQL的执行是通过SqlSession。默认的实现类是DefalutSqlSession。通过源码可以发现,selectOne最终会调用selectList这个方法。 1 @Override 2 public <E> List<E> selectList(String statement, Object parameter, R...

2018-11-09 17:40:00 152

转载 Mybatis之Configuration初始化(配置文件.xml的解析)

源码解读第一步我觉着应该从Mybatis如何解析配置文件开始。1.先不看跟Spring集成如何解析,先看从SqlSessionFactoryBuilder如果解析的。1 String resouce = "conf.xml";2 InputStream is = Resources.getResourceAsStream(resouce);3 4 // 构建sql...

2018-11-08 16:51:00 242

转载 Mybatis之整体描述

Mybatis在我看来最大的用处就是封装了jdbc,设置参数操作和获取解析结果集。同时控制了数据库链接等操作,大部分采用了反射来映射javabean对象来进行数据库操作。1.接下来先整体介绍下主要的类:Configuration MyBatis所有的配置信息都维持在Configuration对象之中。几乎所有操作都跟它打交道SqlSession ...

2018-11-08 14:12:00 80

转载 word生成包含echarts图形使用phantomjs,支持word2003,2007

代码具体地址在我的github上:https://github.com/HaoTwoDonkey/QuickOutPutWord写得不好,欢迎提出问题下面说几个phantomjs使用过程中遇到的问题:windows的不说了,linux下遇到些问题解决方案如下:一.下载1.下载地址:http://phantomjs.org/download.html2.文件名:...

2018-10-18 15:52:00 98

转载 mybatis小工具

  1.其实也不算是针对mybatis的其他都可以用    lombok 2.mybatis的小插件,可以快速定位到mapper.xml和接口之间    mybatisx转载于:https://www.cnblogs.com/haoerlv/p/9810860.html...

2018-10-18 15:37:00 53

转载 SpringMvc 全局异常处理器定义,友好的返回后端错误信息

1 package cn.com.servyou.gxdqy.exceptions; 5 import com.google.common.collect.Maps; 6 import org.apache.log4j.Logger; 7 import org.springframework.beans.ConversionNotSupportedException...

2018-10-18 15:34:00 165

转载 Spring MVC之适配器的获取及执行(RequestMappingHandlerAdapter)

首先看下doDispatch()方法如何找到适合的适配器来执行方法的: 1 protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException { 2 Iterator i$ = this.handlerAdapters.iterator(); 3 ...

2018-04-02 14:25:00 243

转载 Spring MVC之RequestMappingHandlerAdapter初始化

RequestMappingHandlerAdapter基于注解的处理器适配器,目的是用来执行handler,同时返回modelAndView给前端控制器,这块个人感觉是spring mvc的核心了,所以我会详细一些记录。本篇文章先记录他初始化都做了什么。先上类图:通过类图可以看到,实现了InitializingBean接口,所以入口的方法就是afterPropertiesSe...

2018-03-30 16:55:00 138

转载 Spring MVC的handlermapping之请求分发如何找到正确的Handler(RequestMappingHandlerMapping)

这个思路同样是通过在AbstractHandlerMethodMapping里面来实现getHandlerInternal()实现自己的方法来处理寻找正确的处理器,不懂得请看上一篇。 1 protected HandlerMethod getHandlerInternal(HttpServletRequest request) throws Exception { 2...

2018-03-29 15:51:00 182

转载 Spring MVC的handlermapping之请求分发如何找到正确的Handler(BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping)...

本文讲的是Spring MVC如何找到正确的handler, 前面请求具体怎么进入到下面的方法,不再细说。大概就是Spring mvc通过servlet拦截请求,实现doService方法,然后进入doDispatch()方法,这个是完成请求的方法.今天我们只分析:mappedHandler=this.getHandler(processedRequest,false); ...

2018-03-29 15:20:00 104

转载 Spring MVC的handlermapping之RequestMappingHandlerMapping初始化

RequestMappingHandlerMapping:这个handlerMapping是基于注解的同样,先上类图:通过类图可以看到,同样是继承父类AbstractHandlerMapping来进行拦截器的初始化工作,实际上处理自己逻辑的只有下面三个类;需要注意的是RequestMappingHandlerMapping初始化并不是重写initApplicationConte...

2018-03-29 11:07:00 136

转载 Spring MVC的handlermapping之SimpleUrlHandlerMapping初始化

前面信息同BeanNameUrlHandlerMapping,这里不再过多分析,详情请看 : Spring MVC的handlermapping之BeanNameUrlHandlerMapping初始化同样先上类图:可以看到SimpleUrlHandlerMapping是直接继承AbstractUrlHandlerMapping的 1 public class ...

2018-03-29 09:37:00 259

转载 Spring MVC的handlermapping之BeanNameUrlHandlerMapping初始化

先介绍一下:  BeanNameUrlHandlerMapping是基于配置文件的方式; 所有处理器需要在XML文件中,以Bean的形式配置。  缺点:配置繁琐; 如果多个URL对应同一个处理器,那么需要配置多条,同时也会实例化多个对象等等。。。  因为springmvc 是基于spring的,所以他的初始化肯定是在spring容器初始化之后才进行的。先上类图:  ...

2018-03-28 18:13:00 104

转载 java中的notify和notifyAll有什么区别?

先说两个概念:锁池和等待池锁池:假设线程A已经拥有了某个对象(注意:不是类)的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入对象的synchronized方法之前必须先获得该对象的锁的拥有权,但是该对象的锁目前正被线程A拥有,所以这些线程就进入了该对象的锁池中。等待池:假设一个线程A调用了某个对象的...

2018-03-26 09:48:00 54

转载 理解JAVA内存模型

  实际上java内存模型是如上图所示一样每个线程有自己的栈内存,存放共享对象的副本,本地变量每个线程自己的本地变量是不可见的,但是共享对象对每个线程都是可见的。如果想实现线程通信的话,线程对共享对象的修改,实际上是首先对本地副本修改,然后修改主内存,堆内存,通信线程再去修改。如果想保证线程之间的共享对象的可见性, 可以采用volidate关键字修饰,...

2018-03-22 10:41:00 71

转载 Java 并发编程实践基础 读书笔记: 第三章 使用 JDK 并发包构建程序

一,JDK并发包实际上就是指java.util.concurrent包里面的那些类和接口等  主要分为以下几类: 1,原子量;2,并发集合;3,同步器;4,可重入锁;5,线程池二,原子量  原子变量主要有AtomicInteger,AtomicLong,AtomicBoolean等,  主要实现原理都是底层实现类CAS 即比较并交换,都有get,set,compareAn...

2018-03-02 17:35:00 133

转载 Java 并发编程实践基础 读书笔记: 第二章 构建线程安全应用程序

1,什么是线程安全性?  简单概括就是一个类在多线程情况下能安全调用就是线程安全2,Servlet 的线程安全性  默认是非线程安全的,写servlet代码的时候需要注意线程安全,注意同步3,volatile  volatile实际上是保证了多线程情况下,有读取,有写入,保证了读取的都是最新的值。  开发中一般boolean值 开关灯用它定义。  vola...

2018-03-01 11:03:00 67

转载 Springmvc 视频学习地址

http://www.icoolxue.com/album/show/216/转载于:https://www.cnblogs.com/haoerlv/p/8486318.html

2018-02-28 23:13:00 47

转载 Java 并发编程实践基础 读书笔记: 第一章 JAVA并发编程实践基础

1.创建线程的方式: 1 /** 2 * StudySjms 3 * <p> 4 * Created by haozb on 2018/2/28. 5 */ 6 public class ThreadDemo extends Thread { 7 /** 8 * 定义线程的名字 9 * @param ...

2018-02-28 17:00:00 85

转载 深入理解Java对象的创建过程:类的初始化与实例化

摘要:  在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。本文试图对JVM执行类初始化和实例化的过程做一个详细深入地介绍,以便从Java虚拟机的角度清晰解...

2018-02-05 14:48:00 65

转载 QueryBuilder 前端构造SQL条件的插件使用方法

页面引入JS等:1 <script type="text/javascript" src="/qysds-jx/pages/gzrw/js/jquery.js"></script>2 <script type="text/javascript" src="/qysds-jx/pages/gzrw/js/bootstrap.min.js">&...

2018-01-16 10:51:00 849

转载 设计模式之访问者模式

作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 本次LZ和各位分享一下访问者模式,从场景、设计初衷以及实现方面来说,访问者模式算是LZ即将写到的24种设计模式当中,最复杂也是最难理解的一个设计模式。 针对这...

2017-11-03 14:10:00 75

转载 设计模式之状态模式

作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 本次LZ给各位介绍状态模式,之前在写设计模式的时候,引入了一些小故事,二十章职责连模式是故事版的最后一篇,之后还剩余四个设计模式,LZ会依照原生的方式去解释这几个设计模式,特别是原型模式...

2017-11-03 13:35:00 50

转载 关于职责链模式的个人理解

再没了解职责链模式之前,对于一个请求可能有很多种处理办法. 以前的做法就是 If Else 循环判断现在了解责任链模式之后,理解之后,可能就是 一个请求处理 管理类. 将所有的处理类管理起来, 其中有个next属性,标注下一个处理类是哪个?然后提供统一的处理接口, 接口里面判断 如果处理不成功 由下一个处理.想起查统组件代码里 一块关于缓存的处理.可以用于缓存...

2017-11-03 10:58:00 94

转载 设计模式之 职责链模式

作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 凌晨两点,魔都某出租屋。 "God like." ....... "Holy shit....

2017-11-03 10:08:00 106

转载 设计模式之组合模式

作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 定义:(GoF《设计模式》):将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 从定义中可...

2017-11-02 17:13:00 62

转载 关于享元模式的个人理解

享元模式实际上使用上的目的性很强,就是节省内存消耗. 避免创建很多类似的对象.具体做法,可以对对象的属性进行划分,那些是可以抽象出去的,抽象出去的可以共用的话就写一个Manager类对这个公用的对象进行创建并管理.其实在日常开发经常遇到, eg: 1 FormOp = { 2 3   date : null, 4 5   getDat...

2017-11-02 16:05:00 62

转载 设计模式之- 享元模式详解(都市异能版)

作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 魔都。 自从越狱风波过去以后,小左的生活便又回到了之前的节奏,依旧是每日徘徊在魔都某天桥,继续着自己的算命之旅。 ...

2017-11-02 16:00:00 80

转载 多线程使用Lock实现生产者实现者代码

package cn.com.servyou.qysdsjx.thread;import java.util.ArrayList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java...

2017-09-28 16:00:00 64

空空如也

空空如也

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

TA关注的人

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