自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mac安装配置Mysql

mac装置配置mysql

2022-01-13 20:18:31 1032

原创 通过反射机制实现一个完美的策略模式

一、前言最近打算在自己的项目中加上一个加密算法工具类,用来调用不同的加密算法,并且希望能够符合开闭原则,本来打算用《大话设计模式》中讲解的策略模式,但是对书中的实例不太满意,但是书中介绍了想要实现一个更好的策略模式需要用到java的反射机制,所以开始学习如何用策略模式实现一种好用的加密算法工具类。二、解决思路与实现先来看一下策略模式的模型图:在上图的策略模式原型中,可以看出来,...

2020-02-11 17:22:24 1707

原创 java找到指定接口的实现类

一、背景想在自己开发的项目上加一个算法工具类用来整合不同的算法,并且要求低耦合符合开闭原则,于是想到了《大话设计模式》里的策略模式,但是书中的策略模式还没有达到完全符合开闭原则,同时我在文章结尾看见说可以运用反射机制来大幅降低代码的耦合度,因此开始在学习如何实现,在学习过程中发现需要写一个方法用来找到指定接口的实现类,因此开启了这趟学习之旅。二、寻求答案的路途刚开始看到根据指定接...

2020-02-10 13:30:20 14723 3

原创 Git分支命名规范

分支 命名 说明 主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分支上发布 开发主分支 dev 开发分支,永远是功能最新最全的分支 功能分支 feature-* 新功能分支,某个功能点正在开发阶段 发布版本 release-* 发布定期要上线的功能 修复发布版本分支 bugfix-rel...

2020-02-06 14:29:16 1017

原创 redis深入学习笔记(一) --- String

redis的五种数据类型string、list、hash、set、zset用起来很好用,用法也很简单,但是对底层的具体原理并没有了解过,不懂底层的程序员不是一个好程序员,所以我打算以博客的形式做成笔记来学习redis的底层和进阶知识。一、用法字符串string是redis最简单的数据结构。以key/value的形式在redis中存在,redis所有的数据结构都是以唯一的key字符串作为名称...

2020-01-05 15:28:24 249

原创 rabbitMq实战指南笔记---第二章 理解消息通信

1.RabbitMq的消息是如何到达队列的? 当你想要将消息投递到队列时,你通过把消息发送给交换器来完成。然后,根据确定的规则,RabbitMQ将会决定消息该投递到哪个队列。这些规则被称作路由键(routing key)。队列通过路由键绑定到指定交换器。当你把消息发送到代理服务器时,消息将拥有一个路由键---即便是空的---RabbitMQ也会将其和绑定使用的路由键进行匹配。如果相匹配的话...

2019-08-11 16:00:32 187

原创 HashMap多线程操作不安全

JDK1.8之前HashMap在多线程操作的时候会造成环形结构,导致死循环。具体成环原因和怎么成环,参考这篇写得很好的博客:为什么HashMap线程不安全JDK1.8开始,HashMap由链表的头插法改变成了尾插法,因此不再会造成死循环,改成尾插法也是为了能够更好的维护jdk1.8中HashMap的红黑树结构。JDK1.8和之前版本多线程操作HashMap都会在put的时候导致数据不一致或...

2019-07-31 13:49:24 365

原创 枚举根节点流程

stop the world:垃圾回收器在进行GC时会停止其他用户线程,避免在进行垃圾回收时再产生垃圾。安全点:用户线程并不是刻意随时停下来的,而是在特定的位置停下来,即安全点。安全区域(safe Region):部分用户线程处于阻塞状态(即Sleep或Blocked),在这个区域中的任意地方开始GC都是安全的。可以把Safe Region看做是被扩展了的Safepoint。因为“...

2019-06-30 21:08:49 408

转载 小心踩雷,一次Java内存泄漏排查实战

“前些日子小组内安排值班,轮流看顾我们的服务,主要做一些报警邮件处理、Bug 排查、运营 issue 处理的事。工作日还好,无论干什么都要上班的,若是轮到周末,那这一天算是毁了。不知道是公司网络广了就这样还是网络运维组不给力,网络总有问题,不是这边交换机脱网了,就是那边路由器坏了,还偶发地各种超时,而我们灵敏的服务探测服务总能准确地抓住偶现的小问题,给美好的工作加点料。好几次值班组的小...

2019-06-10 17:44:44 648 2

原创 动态代理

本文总结摘自刘伟老师的《设计模式》和程杰老师的《大话设计模式》在看本文动态代理前建议看前一篇代理模式的讲解。动态代理动态代理是一种较为高级的代理模式,它的典型应用就是Spring AOP。在传统的代理模式中,客户端通过ProxySubject调用RealSubject类的request()方法,同时还在代理类中封装了其他方法(如preRequest()和postRequest(...

2019-06-10 17:29:10 244

原创 代理模式

本文总结摘自刘伟老师的《设计模式》和程杰老师的《大话设计模式》1.定义代理模式:给某一个对象提供一个代理,并由代理对象控制对原对象的访问引用。代理模式英文叫做Proxy或Surrogate,它是一种对象结构模型。2.为什么需要代理模式某人要找对象,但是由于某些原因(如工作太忙)不能直接去找,于是委托一个中介机构去完成这一过程,如婚姻介绍所,在这里婚姻介绍所就是一个代理,与此相类...

2019-06-07 18:57:47 1983

转载 啥是单点登陆?淘宝和天猫是如何实现同时登陆的?

一、什么是单点登录?单点登录的英文名叫做:Single Sign On(简称SSO)。在初学/以前的时候,一般我们就单系统,所有的功能都在同一个系统上。所有的功能都在同一个系统上后来,我们为了合理利用资源和降低耦合性,于是把单系统拆分成多个子系统。回顾:分布式基础知识拆分成多个子系统比如阿里系的淘宝和天猫,很明显地我们可以知道这是两个系统,但是你在使用...

2019-06-04 09:29:44 2262 1

原创 组合模式

本文总结摘自刘伟老师的《设计模式》和程杰老师的《大话设计模式》1.定义组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式又可以称为“整体-部分”模式,属于对象的结构模式,它将对象组织到树结构中,可以用来描述整体与部分的关系。2.模式动机组合模式描述了如何将容器对象和叶子对象进行递归组合,使得用户在使...

2019-06-01 15:06:06 249

原创 桥接模式

本文总结摘自刘伟老师的《设计模式》和程杰老师的《大话设计模式》1.定义桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。(桥接模式用关联关系来降低类与类之间的耦合)。另一种定义理解:实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们独立变化,减少它们之间的耦合。2.为什么需要桥接模式桥接模式将继承关系转换为关联关系,从而降低了类...

2019-05-26 14:26:14 725 2

原创 适配器模式

本文总结摘自刘伟老师的《设计模式》和程杰老师的《大话设计模式》1.定义适配器模式定义:将一个接口转化成客户希望的另一个接口,适配器模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。2.为什么需要适配器模式通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名...

2019-05-19 20:47:20 1031

转载 有关并行的两个重要定律

本文摘自葛一鸣 老师的《实战java高并发程序设计》一书。因为觉得写得好就摘下来了将串行程序改造成并发程序,一般来说可以提高程序的整体性能,但是究竟能提升多少,甚至说究竟是否真的可以提高,还是一个需要研究的问题。目前,主要有两个定律对这个问题进行解答,一个是Amdahl定律,另一个是Gustafson定律。1.Amdahl定律Amdahl定律是计算机科学中非常重要的定律。它定义了...

2019-05-17 10:44:53 1401

原创 github上roadmap项目学习后台开发推荐

https://github.com/kamranahmedse/developer-roadmap

2019-05-12 21:13:06 1332 2

原创 为什么map不继承collection接口

1.首先Map提供的是键值对映射(即Key和value的映射),而collection提供的是一组数据(并不是键值对映射)。如果map继承了collection接口,那么所有实现了map接口的类到底是用map的键值对映射数据还是用collection的一组数据呢(就我们平常所用的hashMap、hashTable、treeMap等都是键值对,所以它继承collection完全没意义),而且map如...

2018-12-30 17:04:13 4866

原创 为什么HashMap的key允许空值,而HashTable却不允许

1.从源码分析HashMap从源码分析:HashMap在put的时候会调用hash()方法来计算key的hashcode值,可以从hash算法中看出当key==null时返回的值为0。因此key为null时,hash算法返回值为0,不会调用key的hashcode方法。HashTable从源码分析:上面可以看出当HashTable存入的value为null时,抛出Nul...

2018-12-30 16:16:56 14045 3

原创 centos安装redis

一.前言最近自己在自己写的开源项目里加了redis做缓存,期间遇到很多的问题,这里把自己遇到的问题和操作流程总结一下。二.安装redis1.环境系统:centos 6.4redis:redis-5.0.02.下载从redis官网下载:https://redis.io/download或者在centos命令行执行下面的命令:wget http://down...

2018-11-02 16:31:01 3266 1

原创 配置mysql主从同步读写分离,amoeba做中间代理服务

前言最近自己利用课余时间研究了MySQL的的主从同步,读写分离的配置过程,期间遇到了很多的问题,在这篇博文中我把自己的配置过程遇到的问题和配置流程总结一下。环境我的服务器集群使用自己电脑上的虚拟机虚拟机模拟的,虚拟机装的是centos的系统系统:三台装的CentOS的服务器,两台MySQL的服务器,一台amoeba代理服务器MySQL的版本:5.7(这里建议不用最新版本的8.0...

2018-11-01 19:38:54 6428

原创 使用MySQL Yum存储库的快速在centos安装mysql5.7

前言前几天想在centos上装一个mysql来模拟mysql服务器,但是参考网上的很多文章都安装有些问题,这里我总结我在centos按章mysql遇到的问题和操作流程。本文参考mysql官方安装过程:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/用本文安装方式centos需要能访问网络。2.下载mysql的rpm...

2018-11-01 13:07:47 6617

原创 SSM集成shiro权限管理

这几天在学习了shiro权限管理框架,在刚开始的时候学的时候因为这个配置问题困扰了我很长时间,所以在这篇文章我整合了自己用SSM搭建shiro权限框架的过程。 1.配置  1.1jar包在项目配置开始前需要先导入shiro的相关jar包,下载地址:https://mvnrepository.com/:如果你的项目时maven项目的话只需要在pom.xml中添加以下几个依赖:...

2018-10-15 20:16:20 5405

原创 阿里云服务器用SMTP的25号端口发送邮件问题

这几天自己闲着没事就用阿里云服务器部署了一个项目,这个项目中包含了一个发送邮件到我的邮箱的功能出错了,这个功能在我的电脑上用本地服务器没有问题,但是部署到阿里云的Centos服务器上这个功能出了问题,阿里云服务器发送邮件是报出超时的错误:主要原因如下:我的发送邮件功能是用传统的SMTP实现,而SMTP默认使用的时非SSL协议方式发送邮件的,默认时使用的端口是25号端口,而阿里云服务...

2018-10-04 22:13:52 7609

原创 java利用commons-email.jar发送邮件

这几天写了一个简历网站,因为简历下面有个联系我的功能,这个功能可以可以向邮箱发送邮件,所以自己便开始学习博客开始解决发送邮件功能。引入相关jar包要用commos-email.jar实现发送邮箱功能需要先导入三个jar包:commos-email.jar mail.jar activation-1.1.jar修改邮箱的配置(这里以163为例)首先登录你的163邮箱账号,...

2018-10-04 21:55:36 2727

原创 ajax实现批量删除

这几天一直在学习ajax,实现了用ajax来批量删除数据。HTML<thead> <tr> <th class="table-check"> <input id="allchk" onclick="allcheck();" type="checkbox" />

2018-09-28 20:45:37 1555

原创 SpringMVC复杂数据绑定——绑定数组实现批量删除

前几天学习SSM开发框架遇到了批量删除的数据绑定问题,就从网上学习了一下,参考别人的博客又加了点自己的见解写了这篇博客。绑定数组在实际开发时,可能会遇到前端请求需要传递到后台多个input的Name属性相同的数据的情况(如批量删除),这个情况用SpringMVC的Controller的普通的参数数据绑定是不行的。此时就需要使用绑定数组的方式来实现需求。下面通过一个例子来详细介绍绑定数组...

2018-09-26 21:36:14 866 1

原创 ajaxfileupload带参数上传文件

前几天在用ajaxfileupload上传文件时发现ajaxfileupload无法带参传递,于是我从github上找到了一个现成的可以带参传递的ajaxfileupload,并学习了ajaxfileupload怎么上传文件。可以带参传递的ajaxfileupload的github地址:https://github.com/carlcarl/AjaxFileUploadHtml&lt...

2018-09-26 10:21:04 6797

原创 ajax向springmvc的Controller传递数据

json数据转换为了实现浏览器与控制器类(controller)之间的数据交互,Spring提供了一个HttpMessageConverter<T>接口来完成此项工作。该接口主要用于将请求信息中的数据转换为一个类型为T的对象,并将类型为T的对象绑定到请求方法的参数中,或者将对象转换为响应信息传递给浏览器显示。Spring为HttpMessageConverter<T&gt...

2018-09-25 11:02:55 2051

原创 在学校自己写的一个简单的基于SSM的家校通系统

             在学校自己写的一个简单的基于SSM的家校通系统  本人目前是在校大学生前几个月自己自学了ssm开发框架并自己开发了一个简单的家校通系统。  这个系统主要分为是四个主要模块分别为老师、家长、学生和管理员,其中老师的功能主要是个人信息管理、作业发布、作业批改、成绩录入、查看班级课表;家长的主要功能是查询孩子的作业情况、考试成绩、以及家长的个人信息管理、和查看孩子所在班...

2018-09-04 15:47:10 4541 13

转载 漫画:什么是红黑树?

    发现了一个的做认真的微信公众号给大家分享一下里面的一篇文章,文章最后有公众号二维码。                                                                                                                                                          ...

2018-02-21 11:43:57 356

原创 C语言单链表

因为这一段时间在学数据结构与算法,而且这些东西也挺重要的,所以我也会多写一些这类的东西来加深一下自己的记忆

2016-10-31 22:02:58 2466

原创 java顺序表

昨天自己在网上找了些教程把C语言的顺序表简单的实现了,完成了之后我就想数据结构是凌驾于所有语言之上的,既然C语言能实现顺序表那么java能不能写呢,想到这儿我就开始赶工敲java代码了,但是当我下手开始写时就发现自己无从下手,因为我用C写时主要是运用了结构体和指针,但是java这两个东西都没有,于是我开始查询各种网络资料来解决这两个问题。java没有结构体的问题:  其实java中的类(c

2016-10-25 10:17:50 4866

原创 C语言顺序表的简单实现

今天刚学了数据结构,老师教的我是云里雾里的,晚上回来自己又教程视频,不管怎么说算是简单的实现了顺序表的一些简单功能。  顺序表里的难点有向顺序表里插入元素,删除元素,查询元素位置这几个函数比较难写,我自己根据这几个难点做了几个图片来解释这几个功能的具体实现://插入元素 int InsertList(sqlink L,int data,int no){ int j; if(L->la

2016-10-24 23:24:48 1873

shiro数据库结构

数据库用的是mysql,这个shiro的数据库结构是从网课上传智.燕青那里下载的

2018-10-15

ajaxfileupload

能够带参传递的ajaxfileupload 即$.ajaxFileUpload({ url:"addProject.action",//用于文件上传的服务器端请求地址 secureuri:false,//是否需要安全协议,一般设置为false data:{id:"121212"}, fileElementId:"imageFile1",//文件上传域的ID dataType:"JSON",//返回值类型 success:function(data,status){ //服务器成功响应处理函数 if(data==1){ }else{ } }, error:function(data,status,e){ //服务器响应失败处理函数 //e 异常信息 } })

2018-09-23

空空如也

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

TA关注的人

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