自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 HttpClient配置SSL绕过https证书

总结:实测有用。原作者:irokay,原文地址https://blog.csdn.net/irokay/article/details/78801307。重点就是方法SSLContext。照着修改后的main方法实现就可以了。HttpClient简介HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问...

2019-07-30 22:25:52 350

转载 springcloud oauth认证时fegin调用token丢失

这个必须要分享出来,实测可用。**背景:***spring-cloud 中hystrix与oauth2同时启用,fegin调用时一直是token丢失。如果直接搜索"fegin调用token丢失"得到的解决方案都是实现RequestInterceptor 或OAuth2FeignRequestInterceptor然后重写apply方法。其实,正如下面的文章所说的,只能解决Feign不开启Hys...

2019-07-23 23:15:08 1087

转载 转载 Nginx配置详解

Nginx配置详解序言Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。Ngi...

2019-03-08 16:04:45 154

原创 spring-data-redis 动态切换redis库

redis默认的连接库是index=0。但是有时候我们需要动态的切换库。划重点:1、配置的方式就不啰嗦了 设置database属性的值就可以了2、RedisConnectionCommands不知道怎么使用3、我的需求是在具体的代码中动态选择实现方式:使用@Autowired织入 jedisConnectionFactory然后你懂得!!(jedisConnectionFact...

2018-12-31 00:06:44 1677 1

原创 rocketmq 与netty的jar包冲突

rocketmq底层使用了netty,如果项目里要引如netty 千万要注意netty的版本,经测试,最新的aparche rocketmq4.3只支持netty4. nett5是不支持的,jar包冲突。

2018-12-08 10:54:00 2687 2

原创 Spring AOP(四)基于@Aspect

一、简述--是什么1、spring 使用jdk动态代理或cglib动态代理,没错是或。2、 Spring提供了两种方式来生成代理对象: JDKProxy和Cglib,具体使用哪种方式生成由AopProxyFactory根据AdvisedSupport对象的配置来决定。默认的策略是如果目标类是接口,则使用JDK动态代理技术,否则使用Cglib来生成代理。当然,可以通过配置指定代理方式。&lt...

2018-07-23 23:41:27 398

原创 Spring AOP(三)CGLIB动态代理及JDK动态代理总结

这两个技术,有啥特点?特点就是都不好用,要是好用,可能spring aop就没有那么明显的优势了。缺点:(1) 目标类的所有方法都被织入了增强,很多时候,这个不是咱们要的。(2)这些都是通过硬编码的方式实现的。(3)每个都要手动创建代理,不方便。而且,jdk只对接口创建代理,cglib因为是通过创建子类代理来实现的,所以目标类(父类)的final方法是不能作为连接点的。...

2018-07-10 23:00:41 114

原创 Spring AOP(二)CGLIB动态代理实例

Cglib动态代理技术,采用底层的字节码技术,可以为一个类创建子类,并在子类中采用方法拦截技术拦截所有父类方法的调用,并植入增强。a、--CglibProxy 用于创建子类,并拦截父类所有方法的调用同时织入增强b、--CglibTask 测试业务类c、--CglibTest 测试--CglibProxyimport org.springframework.cglib.proxy.Enhancer;...

2018-07-10 22:48:25 427

原创 Spring AOP(一)AOP简介及JDK动态代理实例

1、什么是AOP面向切面编程。就是这样。2、AOP术语(1)连接点(Joinpoint)     程序执行的某个特定位置。比如类在初始化的前后,方法执行的前后。(2)切点(PointCut)一个类会有很多个链接点,但是如何定位到某个特定的连接点的逻辑或条件或方法我们称之为切点。就像sql语句的where条件。(3)增强/通知(Advice)织入到目标连接点的一段代码程序。(4)目标对象(Targe...

2018-07-09 23:05:58 231

转载 JAVA基础(一)Java中的异常 (转)

原文地址:https://mp.weixin.qq.com/s/YJlDgcjBRTSq216crd1-SQ 程序员大...

2018-06-26 12:52:28 128

转载 分布式之数据库和缓存双写一致性方案解析(转)

估计有不少的小伙伴,都和我及这个博主,有过同样的困惑:到底咋样搞这个??看了下面的文章应该会有帮助。原文出自:http://blog.51cto.com/1991785/2129660?wx=引言为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除...

2018-06-26 08:36:24 136

转载 sessino (零) sessionid如何产生?由谁产生?保存在哪里?

原文地址:https://www.cnblogs.com/woshimrf/p/5317776.html文章是看来的,这个讲的简洁。说的明白。分享给大家。sessionid是一个会话的key,浏览器第一次访问服务器会在服务器端生成一个session,有一个sessionid和它对应。tomcat生成的sessionid叫做jsessionid。session在访问tomcat服务器HttpServ...

2018-04-30 22:16:00 255

原创 Session共享(二)nginx+tomcat+redis session 共享

1、安装tomcat2、安装redis3、安装nginx上面这三都安装好后:4、tomcat session共享配置步骤添加redis session集群依赖的jar包到 TOMCAT_BASE/lib 目录下    * tomcat-redis-session-manager-2.0.0.jar    * jedis-2.5.2.jar    * commons-pool2-2.2.jar修改 ...

2018-04-30 22:08:33 223

原创 Session共享(一) tomcat 自带集群session共享实现

亲测。请将第一点看清楚,很多文章没有说明这个。其实我之前发过一次了,后来发现别人都没有说明,我就怀疑是不是我弄错了,怕误人子弟,就删了。继续测试,最终发现。。。。没提到这个的才是误人子弟。。。。先不说怎么做,咱们先说说用的过程中的感受:1、第一个特别需要强调的是,这个只适合同一台机器上的tomcat,而且要项目名称一致。这个两个条件,缺一不可。请看清上面这个看的不太清楚的文字。非常重要。没错,你没...

2018-04-27 08:44:23 1948

转载 Nginx负载均衡的几种方式

重点说一下ip_hash 和加权nginx为后端web服务器(apache,nginx,tomcat,weblogic)等做反向代理    几台后端web服务器需要考虑文件共享,数据库共享,session共享问题.文件共享可以使用nfs,共享存储(fc,ip存储都行)+redhat GFS集群文件系统,rsync+inotify文件同步等.小规模的集群中使用更多的是nfs.对于内容管理系统,单台进...

2018-04-24 23:05:18 164

转载 Nginx+Tomcat搭建高性能负载均衡集群

文章是转载来的。写的很好,很详细。这里说一下,搭建的时候多看一下此文章(核心配置如下:)段落的说明。很容易。最好还是在linux环境下进行吧。windows环境生产上用的不多。转自http://blog.csdn.net/wang379275614/article/details/47778201一、       工具   nginx-1.8.0  apache-tomcat-6.0.33 二、 ...

2018-04-21 22:00:59 168

转载 nginx无法启动: libpcre.so.1/libpcre.so.0: cannot open shared object file解决办法

参考:https://www.cnblogs.com/cnsanshao/p/3652510.htmlnginx无法启动:  报了个错 :libpcre.so.1/libpcre.so.0: cannot open shared object file解决方法:ln -s /usr/local/lib/libpcre.so.1 /lib6432位系统则:ln -s /usr/local/lib/l...

2018-04-21 00:01:46 590

转载 Ubuntu下安装Nginx_服务器应用

这两天想布个tomcat 集群,顺便整理下nginx的安装。按这个教程来,能成功。原文地址:https://www.linuxidc.com/Linux/2017-09/147157.htm1、选的目录本人选定的时根目录下的/home目录2、安装依赖以下所有的操作都在/home目录下进行 安装openssl,版本自己选2.1安装gcc apt-get  install  build-essenti...

2018-04-20 23:58:57 123

原创 html 保存成word (富文本编辑器导出内容成word)

这几天项目里有个需求,用到富文本编辑器,然后导出word。富文本编辑器,网上很多,使用夜很简单,我们使用的是kindEditor。百度的ueditor很好,而且文档很全。阿里的kissy 感觉比较复杂,咱们写博客的这个,好像是wangEditor。一般用起来都很简单。这里重点说一下导出。如何将编辑器的内容保存到word文档里去。大体思路是这样的,(1)获取编辑器的内容,要是带html标签的,(2)...

2018-03-04 15:12:40 32329 20

原创 netty 编解码之 Messagepack

首先说一下需要注意的问题1:发送端的javabean 一定要有注解 @Message。这个注解要加在类上。使用@Message 可以标记被序列化的类。类中所有成员都会被序列化。 否则javabean不会被序列化,也就接收不到了。接收端的javabean可以不加这个注解。习惯性的两个端都会加上。2、因为有  @Message 所以javabean就不需要实现Serializable接口,当然实现了也...

2018-03-02 13:41:49 415

原创 netty 拆包粘包(LineBasedFrameDecoder)

netty 拆包粘包,也就是半包读写问题。之前有说过,主要是三种解决方案,一个是消息定长,一个是分隔符,一个是将消息分为消息头消息体。之前说到分隔符的时候,主要说的是DelimiterBasedFrameDecoder。DelimiterBasedFrameDecoder可以指定任意一个分隔符,注意,它的分隔符要放在前面。今天要讲的是LineBasedFrameDecoder,LineBasedF...

2018-02-09 13:50:17 324

原创 上传文件,文件名乱码。(netty文件服务器)

这确实是个很好的办法。 accept-charset 一个很少用到的表单属性,利用它实现在不同编码的页面里实现表单的提交也是一种很方便的解决方法。记录在此。问题背景:就是啥呢,就是,ie提交乱码,火狐,谷歌,都是好的,但是,ie乱了。。。,尤其是表单提交文件的时候。为啥。。f12调试ie(ie9)发现,ie没有进行编码直接用汉字提交了。所以解决的思路是指定编

2018-02-02 16:14:54 730

原创 netty拆包粘包

tcp拆包粘包的方案主要有三种:拆包粘包方案:1、消息定长,不足用空格补齐(手工补齐,不会自动补齐)2、在包尾增加特殊字符进行分割,强调是在包尾加。一旦采用此种拆解接收到的消息,那么必须按照这种方式发送,否则消息是接收不到的。3、将消息分为消息头和消息体,在消息头中包含表示消息长度的字段,然后进行业务逻辑处理。package com.aowin.nett

2018-01-28 22:03:25 193

转载 ChannelFuture的用法

优先使用addListener(GenericFutureListener),而非await()或sysn()优先使用addListener(GenericFutureListener),而非await()或sysn()优先使用addListener(GenericFutureListener),而非await()或sysn()重要的事说三遍。哈哈!!!!综述Cha

2018-01-23 22:38:52 11377 2

转载 Netty之ChannelOption

Netty之ChannelOption一、概述  最近在写一个分布式服务框架,打算用netty框架做底层网络通信,关于netty的学习可以参考如下资料:    http://blog.csdn.net/column/details/enjoynetty.html    李林锋的《Netty权威指南》二、详情  在用netty作为底层网络通信的时候关于Chan

2018-01-21 21:25:18 91

转载 NIO的buffer

再熟悉一下nio,推荐大家个网站,并发编程网。之前对这个nio的buffer就是云里雾里的,不大明白,现在再重新梳理一下。主要内容参考:http://ifeve.com/buffers/#basicusageNIO类库与原类库的重要区别就是提供了Buffer。所有的数据都通过Buffer来读写。buffer主要的常用类型:基本上java的基本数据类型都有对应,除了boolean

2018-01-21 14:17:39 187

转载 脏读、幻读、不可重复读

数据库事务的特性:     四个特性:    原子性:一个事务的多个数据库操作是一个不可分割的原子。只有所有的操作都成功才提交事务,一个失败,其他所有的事务都要撤锁。     一致性:数据的业务产生的结果和数据库的结果是一致的。     隔离性:多个并发的数据操作,不同的事务有独立的数据空间。隔离级别不同,相互影响的程度也不同。     持久性:当事务提交后,数据将被持久化到数

2017-05-12 16:59:56 206

原创 安装zookeeper

1、解压zookeeper的安装包2、配置环境变量进入到 etc下修改 profile 文件vim /etc/profile添加如下内容:export ZOOKEEPER_HOME=/home/liyuan168/mytool/zookeeper-3.3.6export PATH=$PATH:$JAVA_HOME/bin :$ZOOKEEPER_HOME/bin:$

2017-05-03 13:05:48 208

原创 spring 方法注入 lookup方法注入

1、无状态bean 与有状态bean 无状态Bean    bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean 的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。有状态Bean    有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例

2017-04-05 13:00:53 2019 1

原创 spring 方法注入之 方法以替换

在spring Ioc 容器里,允许用一个Bean 的方法去替换另一个Bean 的方法。publicclassForestTwoimplementsMethodReplacer {   publicForestTwo() {     super();    }   publicObject reimplement(Object arg0,

2017-04-05 12:41:39 767

原创 spring Bean的集合属性

Spring 对set、list、map、Properties基本集合类型提供了专门的配置元素标签。其中Properties可以看作是Map的特例,Map的key和value都可以是对象,但Properties的KEY和value都只能是字符串。          beanid="world4"class="com.modle.World">            

2017-03-22 23:13:56 240

原创 spring 内部Bean

如果一个 Car Bean只被另一world Bean引用。那么可以将Car Bean 配置成World Bean的内部Bean。这样内部bean没有名称,不能被其他Bean使用,只能在声明处为外部Bean 注入实例。另外,即使内部Bean 有名字和name、scope 属性 ,也会被忽略,因为scope 默认为prototype类型(作用域)。实例:       

2017-03-20 21:41:31 287

原创 spring 引用其他Bean

spring ioc 容器中定义的Bean 可以相互引用,Ioc 充当媒介的作用。比如创建一个一个word 类,将Car,People 等作为他的属性。publicclassWorld {   privateCarcar;   privatePeoplepeople;   privateStringgood;   

2017-03-20 21:38:44 410

原创 spring 依赖注入 非静态工厂注入和静态工厂注入

这两张方式不推荐使用,因为spring已经实现了这部分功能。                    beanid="carFactory"class="com.modle.CarFactory">bean><!-- 1 -->          beanid="car3"factory-bean="carFactory"factory-method="creat

2017-03-20 21:36:41 1123

原创 spring 构造函数注入

构造函数注入,要求必须要有对应的带参构造函数,不要求有无参的构造函数方式 : 第一种方式  按类型匹配入参beanid="bear"class="com.modle.Bear">                   constructor-argtype="string">value>熊大value>constructor-arg>

2017-03-17 13:45:45 949

原创 spring 属性注入

1、属性注入主要通过setXxx()方法注入bean的属性值或依赖对象。灵活。最常用的方式2、属性注入要求bean 要提供一个默认的无参构造函数,并提供需要注入的属性的setXxx()方法。否则会报类似 java.lang.NoSuchMethodException: com.modle.World.() 异常(没有无参的构造函数) 因为, spring 先调用默认的无参构造函数,

2017-03-17 13:42:21 182

原创 spring Bean 的命名

1、bean 的名字即id 必须是唯一的2、bean的名字 可以用id 也可以用name.如果是id 必须已字母开头,后面可以使用特殊字符如数字,下划线,冒号,连字符等,不可以使用逗号 空格。name 来命名的的话没有字符限制。beanid="car"class="com.model.Car">bean name="car"class="com.model.

2017-03-16 13:21:44 508

原创 spring Bean的基本配置

一、Bean的命名1、bean 的名字即id 必须是唯一的2、必须已字母开头,可以使用特殊字符,不可以使用逗号 空格。3、bean的名字 可以用id 也可以用namebeanid="car"class="com.model.Car">bean name="car"class="com.model.Car">都可以通过getBean("id 或者n

2017-03-15 20:45:12 228

空空如也

空空如也

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

TA关注的人

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