- 博客(42)
- 收藏
- 关注
原创 Nginx高可用集群的快速搭建
本人基于nginx-1.24.0版本,keepalived 1.3.5版本,加上虚拟ip一起,来搭建了一套高可用的负载均衡环境。当然,主要因为项目不大,且要求工期时间短,所以并没有采用微服务的形式来进行搭建。
2024-12-10 17:54:28
828
原创 Redis Cluster集群的快速搭建
本人是基于reids7.0.2版本来进行搭建的,版本影响应该不大,只需要支持cluster集群形式的版本就可以。下载地址Index of /releases/本人搭建模式为3主3从形式,每台服务器上有一主一从。10.106.22.23310.106.0.22410.106.22.234(1)服务器之间需要开放主端口,加上主端口+10000的端口,比如主节点要开放7000,17000;从节点要开放7001,17001。(2)服务器对外部访问端口要开通7000和7001。这是本人的介质,以及安装路径,接下来都将
2024-12-10 16:12:32
387
原创 java设计模式————建造者模式,让我们来构造一个游戏角色吧
建造者模式(Builder)建造者模式,也喜欢被叫做构建器,其实我们去看很多框架的源码,你会发现,都会有个build方法,比如mybatis读取配置文件返回defaultSqlSessionFactory,就是用的build()方法。SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inp...
2020-04-12 01:16:10
1044
原创 Redis系列之Redis高频面试题
1、Redis为什么这么快?redis为什么是单线程?采用多线程会有哪些问题?(高频)*redis是完全基于内存的,绝大部分秦淮区是存粹的内存操作,非常快速。*redis的数据结构相对简单,对数据操作也简单,redis的数据结构是专门进行设计的。*redis是基于内存来操作的,所以cpu不是redis的瓶颈,redis的瓶颈最有可能是机器内存太小或者带宽不够,那么既然cpu不会成为瓶颈...
2020-04-10 16:12:22
393
原创 MyBatis系列之Mybatis源码解读
MyBatis的发展历程以及基本使用,详见Mybaits系列之MyBatis的发展之路,怎么用好MyBatisMyBatis工作流程分析全局配置文件 mybatis-Config.xml --> Mappr.xml -->Configuration填充配置类 -->SqlSessionFactory(生成session工厂) -->SqlSession(生...
2020-04-07 14:57:39
1253
3
原创 MyBatis系列之Mybatis缓存深入了解
Mybatis缓存走进Mybats的缓存包中,我们发现它只有一个cache的接口和一个缓存子类的实现。再看看它上面有个装饰器的包,装饰者模式当然就是给功能做一些加强的,那么我们来看看它有啥加强功能,blockingCache,带锁的缓存,从里面可以看到它是重入锁实现的,loggingCache,日志缓存等。好我们可以看出它的构成主要是一个perpretualCache和10的...
2020-04-02 17:30:23
284
原创 Mybaits系列之MyBatis的发展之路,怎么用好MyBatis
为什么要用Mybatis?先看看原生操作JDBC的步骤*注册驱动,获取连接*创建StateMent对象*execute()方法执行SQL*把结果集转换成POJO*关闭资源一看,存在大量的重复代码,繁琐过程,结果集的处理很复杂,数据库连接的管理也很麻烦。所以,慢慢就出现了一些包装数据库操作的框架,springJDBC、dbUtils、heibernate、mybati...
2020-04-02 12:38:46
418
原创 Spring系列之Spring高频面试题
Spring面试中应该是必问的,所以,废话不多说,我们来看看Spring有哪些高频面试题。1、Spring框架能给我们带来哪些好处?Spring的初衷:简化开放、解放双手。DI:直接从配置文件中看类的依赖,依赖关系一目了然。IOC:在有限的内存和计算机资源的情况下,它能很好的管理好我们的Bean。万能胶:可以兼容成熟的框架,Hibernate、Mybatis、struts...
2020-03-31 16:29:53
268
原创 Spring系列之Spring架构总览
Spring这个框架相信国内百分之99的公司都在使用,今天我们就来聊一聊这个Spring框架。为什么出现Spring?如果我们没有Spring,我们的开发模式将会是怎么样的。1、自己写一个类似的框架。2、servlet + jsp。那我们细想下,如果我们用上面的技术开发,我们需要操心什么事情。1、数据库层面,我们需要手动写事务。2、网络通信层面,我们需要自己写So...
2020-03-31 09:15:01
279
原创 面试必备系列之HashMap源码解析,来自HashMap的灵魂拷问,你想要的全都有
什么是Map?map就是用于存储键值对(<key,value>)的集合类,也可以说是一组键值对的映射(数学概念),它也是java中的一个顶级接口,下面有许多我们常用的map子类,如hashmap,concurrenthashmap等。HashMap解析数据结构(以1.8之后的HashMap结构为例子)组成HashMap的结构为数组+线性链表+红黑树(1.8新增...
2020-03-28 14:50:28
339
原创 java并发编程 ||深入解析volatie,可见性与内存屏障
上一章我们说了多线程带来的不安全性,详见 java并发编程 ||深入理解synchronized,锁的升级机制,那么除了不安全性,它还有一些什么问题呢。话不多说,我们先来看一个例子/** * @Author Dark traveler * @Note 我心净处,何处不是西天。 * @Descrption * @E-Mail : 1029149772@qq.com * @Date...
2020-03-20 10:33:25
523
原创 java并发编程 ||深入理解synchronized,锁的升级机制
上一章我们说了多线程编程所带来的好处(java并发编程 ||Thread生命周期详解),但是既然有那么多好处,肯定也会带来一些问题,这一章我们就来看看它带来的问题以及解决的办法。多线程所带来的问题?线程不安全1.首先我们举一个例子来证明线程的不安全我们对一个数自增1000次,并且用多线程来实现。/** * @Author Dark traveler * @Note 我心...
2020-03-18 15:41:12
297
原创 java并发编程 ||Thread生命周期详解
并发的发展历史真空管/穿孔打卡场景:首先把程序按规则写到纸上,穿孔打成卡片,然后把卡片放到输入室并且放到输入设备,专人把卡片的程序写到计算机上,等计算机完成计算以后,会把结果打印输出到打印机上特点(问题):计算机大部分时间处于空闲状态,卡片输入之前浪费一大波时间。晶体管/批处理操作系统场景:和上面比计算机不需要等待了,可以不断的从磁带机里面拿取磁带,这样就把上面浪费的时...
2020-03-18 08:52:38
943
原创 java设计模式————原型模式,浅克隆与深克隆的区别
原型模式(Prototype Pattern)用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。现实场景:现在有一份传单,我需要copy100份发送出去。/** * @Author Darker * @Note 我心净处,何处不是西天。 * @Descrption 传单类 * @E-Mail : 1029149772@qq.com * @Date : Cre...
2020-03-16 11:53:50
410
原创 java设计模式————观察者模式,手写一个监听器
观察者模式(Observer Pattern)定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新。属于行为型模式。观察者模式有时也叫发布订阅模式(微信,qq通知等都用了这种模式)。现实场景:我们以两个qq之间互相发消息为现实场景来模拟一下:/** * @Author Darker * @N...
2020-03-15 19:53:34
791
原创 java设计模式————装饰者模式,第三方登陆的第二种写法
装饰者模式(Decorator Pattern)指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能)属于结构型模式适用场景:1.用于扩展一个类的功能或者给一个类添加附加职责。2.动态的给一个对象添加功能,这些功能可以动态的撤销。现实场景:大家经常吃炒粉不是,有原味,有加肉,有加蛋,也有我全都要的,我们马上想到了代码形式。...
2020-03-14 17:51:06
891
2
原创 java设计模式————适配器模式,怎么加上第三方登陆接口
适配器模式(Adapter Pattern)指将一个类的接口转换成客户期望的另一个接口,使原本的接口不兼容的类可以一起工作。属于结构型设计模式。适用场景:1.已经存在的类,...
2020-03-14 15:31:42
550
原创 java设计模式————模板模式,手撸一个JDBCTemplate
模板模式(Template Method Pattern)定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。属于行为型设计模式。适用场景:1.一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。2.各个子类中公共的行为被提取出来并且集中到一个公共的父类中,从而避免代码重复。现实...
2020-03-13 12:07:05
521
原创 java设计模式————策略模式,手写手机支付方式
策略模式是定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。可以避免多重分之的if...else..和switch语句应用场景1.假如系统中有很多类,而他们的区别仅仅在于他们的行为不同。2.一个系统需要动态的在几种算法中选择一种。例子,京东现在要搞促销,需要几种优惠活动,那我们可以用策略模式来写。/** * @A...
2020-03-12 17:15:04
1065
原创 java设计模式————委派模式,天天使用却不知道的模式,手撸spring
委派模式(Delegate Pattern):基本作用就是负责任务的调度和分配任务,跟代理模式很像,可以看做是一种特殊情况下的静态代理的全权代理,但是代理模式注重过程,而委派模式注重结果。不属于gof23种设计模式之一。属于行为型模式。现实场景:老板要做一些事情,只需要交代给经理,由经理分发给对应的员工即可代码:/** * @Author Darker * @...
2020-03-12 13:43:49
1877
原创 java设计模式————代理模式,了解jdk动态代理和cglib动态代理的区别
代理模式:指为其它对象提供一种代理,以控制对这个对象的访问。代理对象在客服端和目标对象之间起到中介作用。属于结构性的设计模式。代理模式的分类:静态代理。动态代理。静态代理好,那么我们首先从静态代理开始:角色分析:1.抽象角色:一般使用接口或者抽象类来解决2.真实角色:被代理的角色3.代理角色:代理真实角色,代理真实角色后,我们一般会做一些附...
2020-03-11 19:47:04
488
原创 java设计模式————单例模式详解之解决指令重排序,解决反射攻击,美团面试题
上一章的工厂模式已经详细的说明了设计模式在java各种的体现和好处,是不是意犹未尽呢,好,那么现在我们再来分析一下另一种设计模式,单例模式。单例模式的定义:使用场景:确保任何情况下都绝对只有一个实例,那么在代码中有什么呢?ServletContext、ServletConfig(单个配置文件)、ApplicationContext、DBPool等。1.单例模式饿汉式(早期形式)...
2020-03-10 17:41:34
963
1
原创 java设计模式————工厂模式详解之源码分析
为什么要用设计模式?spring中用到得设计模式?spring四大块用到经典得设计模式好,现在我们就来看看工厂模式。
2020-03-10 11:02:44
258
原创 MyCat 数据库中间件的使用
MyCat是什么?1、一个彻底开源的,面向企业应用开发的大数据库集群 2、支持事务、ACID、可以替代MySQL的加强版数据库 3、一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 4、一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 5、结合传统数据库和新型分布式数据仓库的新一代企业...
2020-03-05 15:22:04
451
原创 java8新特性之Stream流篇----为什么代码更强
首先我们来看看什么是Stream!那么我们可以看出,它其实是为了操作我们的数据,接下来就来看看具体操作吧。
2020-02-27 11:02:25
678
原创 java8新特性之Lambda表达式篇----为什么代码更少
为什么使用Lambda表达式? Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(像数据一样传递代码),写出更简洁灵活的代码,同时提升java语言表达能力。 当然又整了这么多花里胡哨的东西,还是上点代码吧,毕竟程序员怎么能不用代码提提神呢。 @Test public void test1() { ...
2020-02-26 10:59:09
280
原创 Java8新特性之引导篇----为什么速度更快
为什么要学习java8新特性? 简单而言就是使一个程序员的代码更加简洁高效,这也是语言发展的必然性,当然我这样说太笼统了,所以我特意去网上找了一张图,相信这张图就很能说明问题了。何来速度更快? 为什么说java8速度更快呢?因为它对底层的数据结构做了改动,对垃圾回收机制(内存结构)做了改变,对并行做了一个扩展和支持,当然还有一些小的改动就不一一例举了。数...
2020-02-10 13:03:37
360
原创 Shiro详解
shiro,作为一款安全框架,它的设计相当精妙,它不依赖于任何应用容器,不仅可以用在JavaSE环境,也可以用在JavaEE环境。shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等功能,所以学好,用好shiro对于一名java攻城狮来说是十分有必要的,那么来吧,随着我一起来揭开shiro的面纱吧。首先,遇事不绝先百度,百度百科走起,随手一搜,shiro的百度百科...
2019-08-06 17:53:14
243
1
原创 关于前端页面回车键+搜索框产生得刷新失败问题详解
首先说下情景,最近本人接手的一个后台管理系统,在bug回归测试中发现,对页面的查询搜索框按下回车,会导致页面出现404错误。如图,项目大部分版面都有类似于这样的搜索框,点击查询可以搜索成功,但是按下回车键却重定向到一个未知的路径。页面代码类似这样:<form id="formSearch1" class="form-horizontal"> ...
2019-03-31 15:17:38
697
原创 关于ajax同步状态及sucess,complete的顺序的理解
今天写代码,写一个很简单的删除功能,却一直莫名其妙的遇到一个关于ajax的执行顺序问题,在此写下和大家分享一下。首先上代码。 //第一步先同步删除layer.confirm("确认删除所选数据?",function(){ $.ajax({ type:"post", url:url, data:{"ids":ids}...
2018-12-12 11:19:06
1606
原创 关于字符串类型equals的标准化写法
今天写equals的时候,突然遇到了空指针错误,现在情景还原一下。当时在取值比较判断一个对象的属性是否等于“1”.(Object.get(value)).equals("1")写完运行以后,突然发现代码报空指针异常,马上反应过来这个对象中无值为null,调用String的方法当然空指针了;所以马上想给前面加上三目判断。((Object.get(value))==null?“”:(O...
2018-10-19 18:54:46
842
原创 javamail邮件发送
前段时间给一个老项目集成了一个邮件发送的功能,因为用的是1.6的jdk,所以只能找一个低版本的javamail,在这里贴出来给你大家看看,也是对此的一个总结。---------------------------------------------------------------------------------------------------------------...
2018-09-13 13:53:52
260
原创 阿里巴巴通信的实现(短信接口调用)
前段时间因客户要求,平台需要集成一发短信的功能,仔细看了一番,最后还是决定使用阿里云通信的服务,虽然只是简单的调用第三方接口,但是还是有一番曲折在其中,现在与大家分享一下。----------------------------------------------------------------------------------------------------------...
2018-09-13 11:53:06
730
原创 springboot 2.0 急速入门
springboot从13到18,从1.0到2.0已经浩浩荡荡历时5年了,在这5年时间里面,它已经从一个幼儿逐渐生长成人,并且变得比其他人更加的强大,当然他它并不是要代替spring,springmvc,它只是把它们简化并且包容,使它变得越来越好,越来越强,so,就让我们来学习一下吧。--------------------------------------------------...
2018-09-13 11:21:01
239
原创 一款极度偷懒的假分页js代码(只适用于要求很低的页面)
首先声明,此分页及其偷懒,而且只适用于页数较少,且数据固定的表格,当然,你硬是要用在变化的数据表格中也没问题,前提是你需要自己修改代码哦!!!实际场景,大家都知道分页的总页数一般是后台传出来的,但是本人碰到了不能大量更改后台代码的情况,但数据又过多,大概50多条,需要分页,所以,本人思索之下,得出一个结论,那就是做个死的假分页,不多说,先展示一下效果。···················
2017-10-31 10:35:37
351
原创 及其通俗易懂的异步刷新echarts图表(柱状图)
最近前端写的多一些,遇到一个动态刷新echarts表格问题,本人也是尝试了几次才以自己觉得最通俗易懂的方法写了出来,现在拿出来和大家分享一下。·······························································································································
2017-10-31 09:43:03
2581
原创 点击图片放大功能
最近在项目上运到一个点击图片放大的功能。并不是用a标签伪类实现的那一种放大,本来是希望做成弹框的,但是由于导入的前端框架限制,所以本人采取了另外一种方法,有时候换一种思路,你会发现其实功能的实现很简单。不多说,上代码。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2017-09-30 14:21:56
1288
1
原创 利用poi完成excel导入功能
之前分享了一个导出excel的功能,导出都有了,那自然需要导入了,不多说,先上代码。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/** * 获取文件后缀名 * @param p
2017-09-30 14:11:57
389
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人