自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的

看到阿里这道面试题的时候,我就知道是时候看下mybatis源码了准...

2019-04-10 19:13:15 7339 2

原创 spring 事务传播问题

工作中碰到的一个小问题:背景:方法1、2 均在spring aop事务管理下现执行结果: 方法2抛异常,方法2回滚,方法1也回滚了期望结果:方法2抛异常,方法2回滚,方法1不回滚思考spring事务什么时候会自动回滚?Spring事务回滚机制是这样的:当所拦截的方法(@Transactional或者通过xml配置)有指定异常抛出,事务才会自动进行...

2019-03-14 11:07:47 399

原创 webflux-响应式编程

响应式流Java 9 新引入了Reactive Stream(响应式流),而应用了响应式流的编程即为响应式编程Reactive Stream标准:异步的流处理,并支持非阻塞式的 backpressure(背压? 很拗口的翻译,就是生产者与消费者之者应有流量控制)既然 Reactive Stream 和 Java 8 引入的 Stream 都叫做流,它们之间有什么关系呢?有一点...

2019-03-01 17:31:32 1000

转载 http 请求头的几种Content-type

1. GET 请求GET 请求不存在请求实体部分,键值对参数放置在 URL 尾部,因此请求头不需要设置 Content-Type 字段非 ASCII 码会自动进行编码转换,例如发送请求:www.bilibili.com?hehe=你的我的2. POST 请求第一类:raw 原始类型,可以上传任意格式的文本,比如 text、json、xml、html该编码类型的表单,必须通过AJ...

2019-01-23 14:06:45 7701

原创 ThreadLocal 与 Token

由最近一个前后端分离项目引发的思考背景: 每次请求,token放于header中,想要获取token,每次都要通过在control层获取header,才能获取到登录信息,深感痛苦思考:能否通过全局的Inteceptor或者Filter,去存在全局某个地方,后续请求直接拿到 ThreadLocal是什么ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程...

2018-12-29 17:18:07 4346

原创 来自后端对 vue+elementUI 的快速学习

Vue作为一个后端,学习起来还是有点吃力,项目有用,还得硬着头皮学Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。在官网学习了一些常用的用法,然后想当然的就去找项目跟着学了,第一个看的项目是vue-element-admin,发现无字天书一般看不懂后...

2018-11-09 10:30:30 2760

转载 OAuth2.0

前言看到spring security OAuth 不太理解,所以查了很多资料例子:有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片。一般来说,总不可能让云冲印拿到自己的密码吧,由此,OAuth诞生了(密码模式的话也是要提供账号密码 的)OAuth运行流程客户端的授权模式客户...

2018-10-26 14:48:55 251

原创 spring security 源码分析

表单登录UsernamePasswordAuthenticationFilter/login Post 请求会被这个过滤器拦截 如果为/login时 会经过if (!this.requiresAuthentication(request, response))判断是否和设置的loginProcessingUrl一致此时 由相应的Authenticati...

2018-10-17 17:29:19 335

原创 dubbo遇到的问题

最近做fastDFS项目,发现暴露出来的上传接口,不太适合传大文件,查Dubbo官方文档发现下面是官方文档给出的解释为什么不能传大包?因 dubbo 协议默认采用单一长连接,如果每次请求的数据包大小为 500KByte,假设网络为千兆网卡 [3:1],每条连接最大 7MByte(不同的环境可能不一样,供参考),单个服务提供者的 TPS(每秒处理事务数)最大为:128MByte / 500...

2018-08-07 14:13:27 783

原创 FastDFS学习与安装与坑

安装fastDFS遇到的坑基础设备tracker 192.168.75.145 storage_1 192.168.75.142 storage_2 192.168.75.146基本上问题都是404查阅问题基本上就是从nginx开始一路查日志查下去1. 查看tracker下的nginx 日志2. 修改nginx.conf3. 在nginx/sbin 下执行...

2018-08-03 14:50:18 2145

原创 线程池

线程池《阿里巴巴 Java 手册》中说到,可见线程池的重要性ExecutorExecutor 管理多个异步任务的执行,而无需程序员显式地管理线程的生命周期。这里的异步是指多个任务的执行互不干扰,不需要进行同步操作。主要有三种 Executor:CachedThreadPool:直接提交,一个任务创建一个线程; FixedThreadPool:所有任务只能使用固定大小的线程...

2018-07-30 13:30:30 217

原创 分布式整理

CAP分布式存储系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容忍性(P:Partition tolerance),最多只能同时满足其中两项。在设计分布式系统时,需要根据实际需求弱化某一要求。因此就有了下图中的三种设计:CA、CP 和 AP。需要注意的是,分区容忍性必不可少,因为需要总是假设网络是不可靠的,并且系统需要能够自动容错,因此实际上设...

2018-06-07 23:57:04 252

原创 redis整理

Redis 与 Memcached数据类型:Memcached 仅支持字符串类型,而 Redis 支持五种不同种类的数据类型,使得它可以更灵活地解决问题。持久化:Redis 支持两种持久化策略:RDB 快照和 AOF 日志,而 Memcached 不支持持久化。分布式支持:Memcached 不支持分布式,只能通过在客户端使用像一致性哈希这样的分布式算法来实现分布式存储,这种方式在存储和查询时都需...

2018-06-07 16:08:03 312

原创 修生养息100本

林传名老师给的 100 本,虽然我可能不会看。。

2018-05-31 09:11:48 735

原创 如何提高记忆力?知乎live学习

重点: 八个方面 提升长时记忆当我们进入一个新鲜的环境时,大脑会释放多巴胺,so 我们可以在游戏前后 旅行中 学习长时间进行有氧运动 喝咖啡 每天喝三杯左右的咖啡,长期饮用可以预防老年痴呆吃单不饱和脂肪酸   如橄榄油 牛油果 三文鱼  深海鱼类        猪和牛是多不饱和脂肪酸吃多可能记忆不好  虾青素睡眠时间和睡眠质量(光照会影响睡眠质量)  8-9小时放松学习,会用海马体来处理   ,如...

2018-05-28 21:36:06 1608

原创 多线程、并发(很乱)

先复习下我们先了解一下Thread的几个重要方法。a、start()方法,调用该方法开始执行该线程;b、stop()方法,调用该方法强制结束该线程执行;c、join方法,调用该方法等待该线程结束,用于主线程等待子线程执行结束。d、sleep()方法,调用该方法该线程进入等待。e、run()方法,调用该方法直接执行线程的run()方法,但是线程调用start()方法...

2018-05-24 16:00:50 1219

原创 shiro cas 学习整理

shiroshiro运行过程简单来说是这样:Subject:主体,代表了当前“用户”,这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等;即一个抽象概念;所有Subject都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager;可以把Subject认为是一个门面;SecurityManager才是实际的...

2018-05-23 17:48:31 952

转载 设计模式------桥接模式

点击打开链接桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。应用场景1、如果你不希望在抽象和实现部分采用固定的绑定关系,可以采用桥接模式,来把抽象和实现部分分开,然后在程序运行期间来动态的设置抽象部分需要用到的具体的实现,还可以动态切换具体的实现。2、如果出现抽象部分和实现部分都应该可...

2018-02-26 16:05:27 210 1

转载 设计模式------外观模式

点击打开链接

2018-02-26 15:39:52 195

转载 设计模式------代理模式

(一)静态代理(二)动态代理代码 抽象主题角色//抽象角色:声明真实对象和代理对象的共同接口;public interface TicketManager { /** * 售票 */ public void soldTicket(); /** * 改签 */ public void changeTicket(); ...

2018-02-26 15:17:53 184

转载 设计模式------装饰者模式

1.装饰模式(Decorator)的定义:又名包装(Wrapper)模式,装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 2.装饰模式以对客户端透明的方式动态的给一个对象附加上更多的责任。换言之客户端并不会觉的对象在装饰前和装饰后有什么区别。 3.装饰模式可以在不创造更多的子类的模式下,将对象的功能加以扩展。具体案列本例中 抽象构建角色由Programmer程序员接口扮演...

2018-02-26 11:24:26 171

转载 设计模式------适配器模式

适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。分类:  1. 类适配器   2. 对象适配器(感觉比较实用一些)  3. 缺省适配模式(适用于只要部分接口方法的情况,但实际上在项目上每个接口都先默认继承一个实现增删改查的类,所以也并没有想象中那么实用)点击打开链接适配器模式的优点  更好的复用性 系统需要使用现有的类,而此类的...

2018-02-26 10:16:23 164

转载 设计模式-------原型模式

懒得写了

2018-02-24 17:24:21 159

原创 设计模式------工厂模式

fenlei1)简单工厂模式(Simple Factory) 2)工厂方法模式(Factory Method) 3)抽象工厂模式(Abstract Factory) 也可将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。 /** * 抽象产品角...

2018-02-24 16:48:59 179

原创 设计模式------建造者模式

先上代码/** * 产品角色 *  产品类Product * @author Administrator * */public class Product { //定义一些产品的部件 private String part1; private String part2; public String getPart1() { return...

2018-02-23 17:55:34 147

原创 设计模式------单例模式

单例模式主要分为(一)、懒汉式单例 (二)、饿汉式单例  (三)、双重检查锁定 (四)、静态(类级)内部类(五)、单例和枚举 通常情况下,我们写单例模式的时候无非就是三个步骤:构造器私有化,声明私有静态变量,提供静态获取实例的方法   那么一个完美的单例需要做到哪些事呢?单例延迟加载线程安全没有性能问题防止序列化产生新对象防止反射攻击(一)懒汉式-------懒到第一次调用才去实例化public ...

2018-02-23 17:31:47 180

转载 js 事件捕获和事件冒泡

js 事件捕获和事件冒泡js的事件流是先事件捕获再事件冒泡很详细的文章:https://www.cnblogs.com/Chen-XiaoJun/p/6210987.html

2018-02-07 16:44:59 194

原创 POI 实现word动态传参

通过${参数}的形式 传map进来,可以传普通参数和list效果如下,原模板执行部分代码:public class POITest { public static void main(String[] args) throws Exception { Map map = new HashMap(); List> list=new ArrayList

2018-01-31 17:06:06 968

原创 一些貌似很重要的东西

Netty作为一个学Java的,如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面水平,会点SSH,写几个MVC,访问数据库和缓存,这些只是初等Java程序员干的事。如果你要进阶,想了解Java服务器的深层高阶知识,Netty绝对是一个必须要过的门槛。有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器

2018-01-24 15:18:50 300

原创 总结一下各种远程调用

RPC就是要像调用本地的函数一样去调远程函数。在研究RPC前,我们先看看本地调用是怎么调的。假设我们要调用函数Multiply来计算lvalue * rvalue的结果:1 int Multiply(int l, int r) {2 int y = l * r;3 return y;4 }5 6 int lvalue = 10;7 int rva

2018-01-24 09:35:51 581

原创 ActiveMQ

JMSJava Message Service是J2EE的一种技术规范,JMS的客户端之间可以通过JMS服务进行异步的消息传输。消息模型○ Point-to-Point(P2P)○ Publish/Subscribe(Pub/Sub)即点对点和发布订阅模型主要是一对一和一对多的区别。我们主要学习一下支持JMS的MQ:ActiveMQJMS编程模型(1) ConnectionFactory创建Co

2018-01-19 10:43:16 217

原创 学习规范--阿里巴巴Java开发手册

只要重写equals方法,就一定要重写hashCode()感觉并不是很需要,除非要用到set集合,map 的key值使用到时为什么要重写equals方法呢? 是因为当Object默认的equals方法不适用时,就要重写(Object只判断地址,实际业务对象可能只要求属性值相同就可以) Objelct源码: public boolean equals(Object

2017-12-04 15:49:04 193

原创 Session、Cookie理解及SSO(单点登录--cas)

http://www.imooc.com/article/3555HTTP是一个无状态协议。即对服务器来说,每次收到的浏览器HTTP请求都是单一独立的,服务器并不考虑两次HTTP请求是否来自同一会话,即HTTP协议是非连接会话状态协议。 对于Web应用登录,意味着登录成功后的后续访问,可以看做是登录用户和服务端的一次会话交互过程,直到用户登出结束会话。 如何在非连接会话协议之上,实现这种会话的

2017-11-30 18:09:03 1881

转载 吹水

作者:硫镓锌 链接:https://www.zhihu.com/question/35122053/answer/149715810 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先我们从网站的架构谈起。一般来说,我们将网站分为前端和后端。前端主要负责页面的展示,后端则是业务逻辑的实现。由于html5的兴起,前端领域已经越来越火热,前端技术发展极快,今天我们

2017-11-28 14:33:00 344

原创 通过poi实现word预览需求(wordToHtml)

格式可能有一点变化,精准要求的不能用package com.kk.test;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java

2017-11-22 11:34:01 2266

原创 通过iText合并pdf

package com.kk.test;/** * Example written by Bruno Lowagie. * http://stackoverflow.com/questions/29563942/how-to-add-a-cover-pdf-in-a-existing-itext-document */import com.itextpdf.text.Document;im

2017-11-20 17:21:07 1561 2

原创 通过docx4j完美合并docx

通过docx4j完美合并docx

2017-11-20 14:53:24 4610 12

原创 Jsoup操作html

---------------------------------------Jsoup.parse(htmlCode);

2017-11-20 11:47:47 383

转载 计算机网络 基基础

因特网因特网是当今世界上最大的网络, 是”网络的网络”. 即因特网是所有网络互连起来的一个巨型网络.因特网的组成 :边缘部分 : 主机核心部分 : 大量网络和连接这些网络的路由器(此路由器不是我们家用的路由器)以太网以太网是现在最常用的局域网通信协议, 以太网上传输的是MAC帧. 由于以太网同一时间只允许一台计算机发送数据, 所以必须有一套检测机制,

2017-11-02 18:03:01 1203 1

原创 对maven的初步理解

由公司内部对外接口引发的构想:公司是利用maven提供依赖,那么具体远程接口怎么调用呢,还得学习。Maven依赖范围及传递1、Maven因为执行一系列编译、测试和部署运行等操作,在不同的操作下使用的classpath不同,依赖范围就是用来控制依赖与三种 classpath(编译classpath、测试classpath、运行classpath)的关系。

2017-10-23 15:59:16 307

poi实现word动态传参

通过${参数}的形式 传map进来,可以传普通参数和list 通过${参数}的形式 传map进来,可以传普通参数和list 通过${参数}的形式 传map进来,可以传普通参数和list

2018-01-31

空空如也

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

TA关注的人

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