自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 confluence7.16.5使用宏,宏标题出现“口口”的问题

3、清空confluence的home下viewfile目录和shared-home/dcl-document目录里的所有缓存文档文件, 不清空的话, confluence预览旧文件时还是会显示方框,只有新文件才会正常.在windows系统中C盘/windows/font目录下获取自己想要的字体,拷贝到linux的/usr/share/fonts下,新建个目录比如msttcore放进去。此处笔者将windows所有的字体都拷贝到了/usr/share/fonts/msttcore目录下。...

2022-08-26 00:33:57 1839 1

原创 centos7安装confluence7.16.5

2、将 confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar 保存至本地,并修改文件名为 atlassian-extras-2.4.jar,因为破解工具只认这个命名。驱动添加的目录:atlassian-confluence-7.16.5/confluence/WEB-INF/lib。5、将修补完成的 atlassian-extras-2.4.jar 上传至服务器 lib 目录下,并还原之前的文件名。2、设置数据库,选择自己的。

2022-08-20 21:18:47 3869 1

原创 centos7安装mysql5.7

r 参数表示mysql用户是系统用户,不可用于登录系统。-g 参数表示把mysql用户添加到mysql用户组中。解决:yum install -y libaio。

2022-08-17 23:38:00 1744

原创 Lambda介绍与使用

java8为什么引入lambda?在java8出现之前,如果想传递一段代码到一个方法里是很不方便的,你几乎不可能将代码块到处传递,因为Java是一个面向对象的语言,因此你要构建一个属于某个类的对象,由它的某个方法来放置你想传递的代码块。下面看两个非常典型的例子,构造线程与比较器:构造线程我们要想在另一个线程中执行一些代码逻辑时,通常会将代码放在一个实现Runnable接口的run方法当中public static void main(String[] args) { myThr

2022-05-29 18:28:31 833

原创 记录使用dubbo,遇到的hessian序列化告警

WARN com.alibaba.com.caucho.hessian.io.SerializerFactory -Hessian/Burlap: 'com.qxz.third.model.dtk.DtkSuperCategoryResponse$SubCategory' is an unknown class in sun.misc.Launcher$AppClassLoader@681a9515:java.lang.ClassNotFoundException:com.qxz.third.mod

2020-09-26 23:51:34 4563

原创 centos7安装redis6.0.5教程

因工作需要,需部署新版本的redis,在此记录一下,centos安装redis6.0.5的步骤1、检查c安装环境查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5,如果版本太低,编译redis源码报错gcc -v# 升级gcc到5.3及以上,如下:yum -y install gcc升级到gcc 9.3:yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-

2020-07-18 15:51:04 1374 1

原创 解惑

1、彻底解决Tomcat启动速度慢的问题2、Comparison method violates its general contract!3、[List排序报错 - Comparison method violates its general contract!]4、JAVA 两个Integer 中1000==1000为false而100==100为true?5、Spark数据倾...

2019-06-22 17:45:05 339

原创 好文

kafka:Kafka学习之路 (一)Kafka的简介Kafka学习之路 (二)Kafka的架构Kafka学习之路 (三)Kafka的高可用Kafka学习之路 (四)Kafka的安装Kafka学习之路 (五)Kafka在zookeeper中的存储kafka集群搭建和使用Java写kafka生产者消费者zookeeper:Zookeeper学习之路 (一)初识Zo...

2019-05-27 10:10:48 318

转载 scala集合类详解

对scala中的集合类虽然有使用,但是一直处于一知半解的状态。尤其是与java中各种集合类的混合使用,虽然用过很多次,但是一直也没有做比较深入的了解与分析。正好趁着最近项目的需要,加上稍微有点时间,特意多花了一点时间对scala中的集合类做个详细的总结。1.数组Array在说集合类之前,先看看scala中的数组。与Java中不同的是,Scala中没有数组这一种类型。在Scala中,Arra...

2019-02-26 13:41:43 371

原创 使用命令行生成jar包

JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为zip包。当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你生成JAR包时,它会自动生成。JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。 一.jar命令参数

2018-01-25 16:01:28 1780

转载 Base64编码

开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了。实际上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该。大概介绍一下Base64的相关内容,花几分钟时间就可以彻底理解它。文章下边贴了一个Base64的编解码器,方便阅读文章的同时来实验。  一. Base64编码由来  为什么会有Base64编码呢?因为有些网络传送渠道并不支持所有的字节

2018-01-23 10:35:57 511

原创 谈谈java中字节byte有负数的现象

在研究编码时,无意中发现java中输出编码后的字节数据的值有的是负值,比如utf-8编码后的字节数据,通过遍历,打印都是负值,java中字节byte有负数的现象让我产生了兴趣,在此探讨一下。关于编码的字节有负数的现象,可以参考这篇博客:http://blog.csdn.net/csdn_ds/article/details/79077483下面我用java中的数据流去说说这个现象。

2018-01-19 15:29:51 33512 5

转载 原码, 反码, 补码 详解

本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机...

2018-01-17 10:52:14 2975 1

原创 聊聊gbk与utf8互转的乱码问题

作为一个程序员,乱码问题,应该我们都有遇到,但对于这个问题,很难用一句话概括乱码是怎么一回事,具体的问题还需要具体分析。我们知道在计算机内存中,存储的是二进制数据,在网络传输中,也是二进制数据,但最终呈现给用户的是字符串,二进制与字符串的转化就需要编码、解码的参与,如果世界上只有一种字符编码方式,就不会有乱码这一说了,但事实是,编码的方式太多了,utf-8、utf-32、utf-16、gbk、

2018-01-16 18:07:32 29516 4

转载 unicode码、字符串、utf8码之间的转换工具类

package com.anjz.test;import java.io.UnsupportedEncodingException;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.apache.commons.lang.StringUtils;public class EncodeUt

2018-01-16 17:25:32 4590

原创 认知Cookie

什么是Cookie?cookie的出现是为了解决http1.0无状态的问题,用来标识一个http会话的,一般cookie会和服务器上的session配套使用。Cookie存在浏览器中,每次发送请求,会把相应的cookie带到服务端,第一次发起请求,服务端会生成一个cookie返回给浏览器。此处多说一下,随着http协议的发展,http逐渐支持持久连接,比如http1.1。关于http1

2018-01-12 18:21:14 337

原创 谈谈tomcat配置默认路径的注意事项

场景:在tomcat中部署项目,通过地址+端口直接访问项目,遇到这样的需求,一般的解决方案有几种呢?方案:1、将tomcat中webapps中ROOT目录中的文件删除掉,将项目的内容拷贝到此目录中。此方式个人感觉丢失项目名称,项目的语义化不明确,同时更改了tomcat的默认访问,一般不考虑。2、更改server.xml的配置,在的上一行添加如下配置:前期项目就用了这

2018-01-11 13:31:23 9609

原创 java 知识

基于Tcp协议的简单Socket通信实例(JAVA)Java 网络编程 之 socket 的用法与实现Java核心(五)深入理解BIO、NIO、AIO

2018-01-03 15:13:01 376

转载 几种常用加密算法比较

由于计算机软件的非法复制,通信的泄密、数据安全受到威胁,解密及盗版问题日益严重,甚至引发国际争端,所以在信息安全技术中,加密技术占有不可替代的位置,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。现在我们就几种常用的加密算法给大家比较一下。DES加密算法DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是

2018-01-02 16:05:26 1162 1

转载 操作复杂对象结构——访问者模式(四)

26.4 访问者模式与组合模式联用      在访问者模式中,包含一个用于存储元素对象集合的对象结构,我们通常可以使用迭代器来遍历对象结构,同时具体元素之间可以存在整体与部分关系,有些元素作为容器对象,有些元素作为成员对象,可以使用组合模式来组织元素。引入组合模式后的访问者模式结构图如图26-4所示:         需要注意的是,在图26-4所示结构中,由于叶子元素的

2017-12-10 12:56:57 345

转载 操作复杂对象结构——访问者模式(三)

26.3 完整解决方案      Sunny软件公司开发人员使用访问者模式对OA系统中员工数据汇总模块进行重构,使得系统可以很方便地增加新类型的访问者,更加符合“单一职责原则”和“开闭原则”,重构后的基本结构如图26-3所示:       在图26-3中,FADepartment表示财务部,HRDepartment表示人力资源部,它们充当具体访问者角色,其抽象父类Depar

2017-12-10 12:50:49 310

转载 操作复杂对象结构——访问者模式(二)

26.2 访问者模式概述      访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素通常具有不同的类型,且不同的访问者可以对它们进行不同的访问操作。例如处方单中的各种药品信息就是被访问的元素,而划价人员和药房工作人员就是访问者。访问者模式使得用户可以在不修改现有系统的情况下扩展系统的功能,为这些不同类型的元素增加新的操作。      在使用访问者

2017-12-10 12:39:13 250

转载 操作复杂对象结构——访问者模式(一)

想必大家都去过医院,虽然没有人喜欢去医院(爱岗敬业的医务工作人员除外,)。在医生开具处方单(药单)后,很多医院都存在如下处理流程:划价人员拿到处方单之后根据药品名称和数量计算总价,药房工作人员根据药品名称和数量准备药品,如图26-1所示:      在图26-1中,我们可以将处方单看成一个药品信息的集合,里面包含了一种或多种不同类型的药品信息,不同类型的工作人员(如划价人员和药房工

2017-12-10 00:50:14 280

转载 模板方法模式深度解析(三)

4 钩子方法的使用            模板方法模式中,在父类中提供了一个定义算法框架的模板方法,还提供了一系列抽象方法、具体方法和钩子方法,其中钩子方法的引入使得子类可以控制父类的行为。最简单的钩子方法就是空方法,代码如下:public virtual void Display() { }       当然也可以在钩子方法中定义一个默认的实现,如果子类不覆盖

2017-12-10 00:43:05 248

转载 模板方法模式深度解析(二)

3 模板方法模式应用实例      下面通过一个应用实例来进一步学习和理解模板方法模式。       1. 实例说明      某软件公司欲为某银行的业务支撑系统开发一个利息计算模块,利息计算流程如下:      (1) 系统根据账号和密码验证用户信息,如果用户信息错误,系统显示出错提示;      (2) 如果用户信息正确,则根据用

2017-12-10 00:32:54 382

转载 模板方法模式深度解析(一)

1. 模板方法模式概述       在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单。在这三个步骤中,点单和买单大同小异,最大的区别在于第二步——吃什么?吃面条和吃满汉全席可大不相同,如图1所示:图1 请客吃饭示意图        在软件开发中

2017-12-09 13:37:26 272

转载 算法的封装与切换——策略模式(四)

24.4 策略模式的两个典型应用      策略模式实用性强、扩展性好,在软件开发中得以广泛使用,是使用频率较高的设计模式之一。下面将介绍策略模式的两个典型应用实例,一个来源于Java SE,一个来源于微软公司推出的演示项目PetShop。      (1) Java SE的容器布局管理就是策略模式的一个经典应用实例,其基本结构示意图如图24-3所示:【每次看到

2017-12-09 13:27:09 1382

转载 算法的封装与切换——策略模式(三)

24.3 完整解决方案      为了实现打折算法的复用,并能够灵活地向系统中增加新的打折方式,Sunny软件公司开发人员使用策略模式对电影院打折方案进行重构,重构后基本结构如图24-2所示:      在图24-2中,MovieTicket充当环境类角色,Discount充当抽象策略角色,StudentDiscount、 ChildrenDiscount 和VIPDisc

2017-12-09 13:11:40 202

转载 算法的封装与切换——策略模式(二)

24.2 策略模式概述      在策略模式中,我们可以定义一些独立的类来封装不同的算法,每一个类封装一种具体的算法,在这里,每一个封装算法的类我们都可以称之为一种策略(Strategy),为了保证这些策略在使用时具有一致性,一般会提供一个抽象的策略类来做规则的定义,而每种算法则对应于一个具体策略类。      策略模式的主要目的是将算法的定义与使用分开,也就是将算法的行为和环境分

2017-12-09 13:06:35 242

转载 算法的封装与切换——策略模式(一)

俗话说:条条大路通罗马。在很多情况下,实现某个目标的途径不止一条,例如我们在外出旅游时可以选择多种不同的出行方式,如骑自行车、坐汽车、坐火车或者坐飞机,可根据实际情况(目的地、旅游预算、旅游时间等)来选择一种最适合的出行方式。在制订旅行计划时,如果目的地较远、时间不多,但不差钱,可以选择坐飞机去旅游;如果目的地虽远、但假期长、且需控制旅游成本时可以选择坐火车或汽车;如果从健康和环保的角度考虑,而且

2017-12-09 13:00:41 314

转载 处理对象的多种状态及其相互转换——状态模式(六)

6 状态模式总结       状态模式将一个对象在不同状态下的不同行为封装在一个个状态类中,通过设置不同的状态对象可以让环境对象拥有不同的行为,而状态转换的细节对于客户端而言是透明的,方便了客户端的使用。在实际开发中,状态模式具有较高的使用频率,在工作流和游戏开发中状态模式都得到了广泛的应用,例如公文状态的转换、游戏中角色的升级等。        1. 主要优点  

2017-12-05 19:22:41 418

转载 处理对象的多种状态及其相互转换——状态模式(五)

5 使用环境类实现状态转换       在状态模式中实现状态转换时,具体状态类可通过调用环境类Context的setState()方法进行状态的转换操作,也可以统一由环境类Context来实现状态的转换。此时,增加新的具体状态类可能需要修改其他具体状态类或者环境类的源代码,否则系统无法转换到新增状态。但是对于客户端来说,无须关心状态类,可以为环境类设置默认的状态类,而将状态的转换工作交给具

2017-12-05 19:10:28 499

转载 处理对象的多种状态及其相互转换——状态模式(四)

4 共享状态      在有些情况下,多个环境对象可能需要共享同一个状态,如果希望在系统中实现多个环境对象共享一个或多个状态对象,那么需要将这些状态对象定义为环境类的静态成员对象。      下面通过一个简单实例来说明如何实现共享状态:      如果某系统要求两个开关对象要么都处于开的状态,要么都处于关的状态,在使用时它们的状态必须保持一致,开

2017-12-05 19:02:38 388

转载 处理对象的多种状态及其相互转换——状态模式(三)

3 完整解决方案       Sunny软件公司开发人员使用状态模式来解决账户状态的转换问题,客户端只需要执行简单的存款和取款操作,系统根据余额将自动转换到相应的状态,其基本结构如图4所示:图4 银行账户结构图       在图4中,Account充当环境类角色,AccountState充当抽象状态角色,NormalState、OverdraftState和Rest

2017-12-05 18:53:29 213

转载 处理对象的多种状态及其相互转换——状态模式(二)

2 状态模式概述      状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化,对于客户端而言,无须关心对象状态的转换以及对象所处的当前状态,无论对于何种状态的对象,客户端都可

2017-12-05 18:35:44 297

转载 处理对象的多种状态及其相互转换——状态模式(一)

“人有悲欢离合,月有阴晴圆缺”,包括人在内,很多事物都具有多种状态,而且在不同状态下会具有不同的行为,这些状态在特定条件下还将发生相互转换。就像水,它可以凝固成冰,也可以受热蒸发后变成水蒸汽,水可以流动,冰可以雕刻,蒸汽可以扩散。我们可以用UML状态图来描述H2O的三种状态,如图1所示:图1 H2O的三种状态(未考虑临界点)       在软件系统中,有些对象也像水一样具有

2017-12-05 18:31:08 273

转载 对象间的联动——观察者模式(六)

22.6 观察者模式与MVC      在当前流行的MVC(Model-View-Controller)架构中也应用了观察者模式,MVC是一种架构模式,它包含三个角色:模型(Model),视图(View)和控制器(Controller)。其中模型可对应于观察者模式中的观察目标,而视图对应于观察者,控制器可充当两者之间的中介者。当模型层的数据发生改变时,视图层将自动改变其显示内容。如图22-

2017-12-05 09:26:42 236

转载 对象间的联动——观察者模式(五)

22.5 观察者模式与Java事件处理       JDK 1.0及更早版本的事件模型基于职责链模式,但是这种模型不适用于复杂的系统,因此在JDK 1.1及以后的各个版本中,事件处理模型采用基于观察者模式的委派事件模型(DelegationEvent Model, DEM),即一个Java组件所引发的事件并不由引发事件的对象自己来负责处理,而是委派给独立的事件处理对象负责。

2017-12-05 09:26:20 212

转载 对象间的联动——观察者模式(四)

22.4 JDK对观察者模式的支持      观察者模式在Java语言中的地位非常重要。在JDK的java.util包中,提供了Observable类以及Observer接口,它们构成了JDK对观察者模式的支持。如图22-5所示:图22-5 JDK提供的Observable类及Observer接口结构图      (1)  Observer接口      在

2017-12-04 09:24:48 171

转载 对象间的联动——观察者模式(三)

23.3 完整解决方案      为了实现对象之间的联动,Sunny软件公司开发人员决定使用观察者模式来进行多人联机对战游戏的设计,其基本结构如图22-4所示:图22-4  多人联机对战游戏结构图      在图22-4中,AllyControlCenter充当目标类,ConcreteAllyControlCenter充当具体目标类,Observer充当抽象观察者,

2017-12-04 09:24:29 168

正则表达式

正则表达式

2017-08-09

空空如也

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

TA关注的人

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