自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (6)
  • 收藏
  • 关注

原创 一篇httpclient连接池比较好的文章

httpclient连接池

2022-12-19 16:01:17 168 1

原创 消息摘要算法

文章目录概述MD(Message Digest)SHA(Secure Hash Algorithm)MAC(Message Authentication Code)其它概述看图,我们在下载commons-codec时候会有这么一个页面,我们点md5会有一个值,这个值是做什么呢?为什么会有这么一个值呢?这就是消息摘要算法的作用,验证数据的完整性。消息摘要算法是数字签名的核心算法MD(Message Digest)在MD算法家族有MD2、MD4、MD5,从名称上看就可以看出它们的出现先后顺序,安全性

2021-02-12 22:29:08 410 1

原创 非对称加密算法

文章目录概述DH(Diffie-Hellman)秘钥交换算法RSA-基于因子分解ElGamal-基于离散对数ECC(Elliptical Curve Cryptography)—椭圆曲线加密概述对称加密算法是因为秘钥的对称而由来的,而非对称加密算法是因为和对称加密相反的原理来实现的,是高级的,举个例子:银行的保险柜,肯定是银行工作人员拿着他自己那把钥匙,加上事主自己那把钥匙,共同才能打开保险柜的,这种方式我们叫做双保险。非对称加密算法是分公钥、私钥,公钥是非安全的方式(公开)发放的,私钥自己保存。

2021-02-12 16:51:32 1890

原创 对称加解密

对称加密算法DES对称加密算法不仅在软件行业使用,在硬件行业也有很多使用。为什么叫对称加密算法呢?因为这种加密算法的加密秘钥=解密秘钥,是一种初等的加密算法,常见的有DES算法,但是由于DES的秘钥长度不够,所以衍生出了3DES(三重DES),它的秘钥要长了很多,可正因为秘钥长了,性能降低了,又出现了叫AES、PBA、IDEA的算法。DES又名Data Encryption Standard (数据加密标准),DES的出身比较好,他是由于美国的国家标准研究所提出需求,IBM提交的。但是,1998年后DE

2021-02-12 01:38:33 317

原创 dubbo简介

文章目录文档示例分析dubbo设计简介dubbo架构图核心领域模型文档https://github.com/apache/dubbohttps://www.iteye.com/blog/javatar-1123915(dubbo的作者梁飞的博客,用一个例子描述了什么是rpc框架)示例分析定义服务接口package com.alibaba.study.rpc.test; public interface HelloService { String hello(String n

2021-01-13 23:42:36 514 1

原创 代理模式

文章目录定义类型使用场景优点缺点扩展spring代理选择代理速度对比相关设计模式coding静态代理动态代理源码解析java.lang.reflect.ProxyProxyFactoryBeanJdkDynamicAopProxy、CglibAopProxyMapperProxyFactory定义为其它对象提供一种代理,以控制对这个对象的访问代理对象在客户端和目标对象之间起到中介的作用如何理解呢?就跟我们租房子是一样的,假设我们找中介租房子,租那种全托管的房子,出租出来的房子是房东的,房东是目标

2021-01-10 18:28:31 165

原创 结构型-桥接模式

定义将抽象部分与它的具体实现部分分离,使他们都可以独立的变化。通过组合的方式建立两个类之间的联系,而不是继承。类型结构型适用场景抽象和具体实现之间增加更多的灵活性一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展不希望使用继承,或因为多层继承导致系统类的个数剧增优点分离抽象部分及其具体实现部分(大白话就是抽象和实现之间不再是继承关系)提供了系统的可扩展性符合开闭原则符合合成复用原则缺点增加了系统的理解和设计难度因为类和类的关系增加了抽象

2021-01-10 12:20:47 185

原创 MyCat初始

文章目录什么是MyCat?什么是数据库中间层MyCat的作用1.对异构数据库的访问支持2.实现主从数据库的读写分离及多从读数据库的负载均衡3.读写分离时支持写DB高可用4.对业务数据库进行垂直切分5.对业务数据库进行水平切分6.前端应用访问到后端数据库的连接的数量为什么要学习MyCat呢?从单体数据库架构,到使用MyCat后的数据库架构什么是MyCat?myCat是数据库中间层,可以完成在高并发高吞吐量的情况下,对业务分库分表的操作,以提升数据库的整体性能,保证数据库不会成为业务在不断发展的情况下,成为

2021-01-01 00:26:14 187

原创 判断闰年

闰年是阳历或阴历中有闰日或者闰月的年,主要是为了弥补年度天数与地球公转周期的时间差而设置的,详细解释请参考https://baike.baidu.com/item/%E9%97%B0%E5%B9%B4/27098?fr=aladdin回到我们的正题,什么是闰年呢?小学时候就学过,规则就是“能够被4整除,同时不能被100整除;或能够400整除的年份”,我们接下来可以编写程序来判断给定的年份是否为闰年public class Demo{ static boolean leapYear(int year){

2020-11-18 21:58:25 461 1

转载 idea中修改git账号和密码

2020-11-17 19:40:34 543

原创 FTPClient使用中的问题--获取当前工作目录为null

使用org.apache.commons.net.ftp.FTPClient 来做ftp的上传下载功能FTPClient ftp = new FTPClient();ftp.connect(doc.getFtpIp(), doc.getFtpPort());ftp.login(doc.getFtpUser(), doc.getFtpPassowrd());// 获取当前工作目录String pwd = ftp.printWorkingDirectory();System.out.println(

2020-11-13 09:41:34 1054

原创 FileZilla,读取目录列表失败(425 Can‘t open data connection.)的解决办法

因为对外FTP客户要求安全升级的原因,针对部分FTP User启用了SSL认证功能。启用方式:1,建立FTP User时,“Force SSL for user login ”前面打勾。2,启用被动传输模式,进入FileZilla Server–>Edit–>Settings,找到右边的Passive mode settings,启用被动模式,并且设置端口,65401~65420对内网FTP测试,建立FTP加密类型时,选择“要求显式的FTP Over TLS”,测试通过,没有问题。对

2020-11-13 09:41:21 5922

原创 MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法

在使用 MySQL 8.0 时重启应用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed最简单的解决方法是在连接后面添加 allowPublicKeyRetrieval=true文档中https://mysql-net.github.io/MySqlConnector/connection-options/给出的解释是:如果用户使用了

2020-11-13 09:41:11 175

原创 mysql8.0认证方式修改

使用xtrabackup备份mysql8.0的时候报如下错误:[root@localhost bin]# ./innobackupex --defaults-file=/opt/mha/mysql8/conf/my.cnf --user=root --password=mysql -P13306 --socket=/opt/mha/mysql8/mysql.sock /opt/mha/xbackup190923 15:27:03 innobackupex: Starting the backup ope

2020-11-13 09:40:56 557

原创 mybatis单元测试(无需启动容器)

一、浅析相关类1 ConfigurationMyBatis在启动时会取读取所有配置文件,然后加载到内存中,Configuration类就是承载整个配置的类。SqlSessionFactoryBuilder调用build方法创建SqlSessionFactory,而SqlSessionFactory需要Configuration配置中心提供创建的条件,在build方法中XMLConfigBuilder 将xml文件流进行初始化并parse返回Configuration,返回之前需要通过parseConf

2020-11-13 09:40:38 858

原创 使用FileZilla搭建简单的FTP

首先我们要了解FTP的传输,有主动模式和被动模式。如果你和服务器都是公网IP或者你们在一个网段下,那么你可以使用主动模式。如果你和服务器并不是一个网段,你也不具有公网IP,那么就使用被动模式吧。详解:https://blog.csdn.net/qq_16038125/article/details/72851142(随便引用的)。端口关系:https://blog.csdn.net/solaraceboy/article/details/78757921(也是随意引用的)。大致的意思是,主动模式,

2020-11-12 20:59:10 171

原创 Apache POI 安全漏洞

漏洞来源http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201910-1431漏洞详情Apache POI是美国阿帕奇(Apache)软件基金会的一个开源函数库,它提供API给Java程序可对Microsoft Office格式档案进行读和写。 Apache POI 4.1.0及之前版本中存在代码问题漏洞。攻击者可借助特制的文档利用该漏洞读取本地文件系统中或网络资源中的文件。参考资料来源:lists.apache.org链接:ht

2020-11-12 20:52:33 2210

原创 TortoiseSVN打分支、合并分支、切换分支

SVN几个重要文件夹说明:我们一般习惯性在创建repository仓库后,再在刚才创建的仓库里面再创建trunk、branches、tags这三个文件夹,而不是直接将项目提交到仓库的根目录下(虽然直接将项目分享到仓库的root根目录下也是可以的,但是我们一般不这么做)。主要目的是:为了给项目各个阶段,各个版本归类、分阶段存储、并行开发。trunk文件夹: 主干,我们一般把项目提交到此文件夹里面,在trunk中开发。branches文件夹:分支,我们一般把那些需要打分支,但是有可能会修改的项目代码,打

2020-11-12 20:45:35 256

原创 彻底解决unable to find valid certification path to requested target

下载证书第一步是要下载证书去你程序要访问的网站,点击那个锁按钮,并点击查看详情(chrome浏览器)点击View certificate点击详细信息复制到文件下一步选择格式生成的名称,最后保存这里我保存在的D盘根目录下叫abc.cer导入证书切换到jre的/lib/security/下执行如下命令keytool -import -alias abc -keystore cacerts -file D://abc.cer其中:-alias 指定别名(推荐和证书

2020-11-12 20:27:02 1027

原创 ApplicationContextAware使用理解

问题背景在我们的web程序中,用spring来管理各个实例(bean), 有时在程序中为了使用已被实例化的bean, 通常会用到这样的代码:ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext-common.xml"); AbcService abcService = (AbcService)appContext.getBean("abcService");但是这样就会存在一个

2020-11-12 20:16:45 258

原创 spring使用@Value标签读取*.properties文件的中文乱码问题的解决

在spring中我们常常使用.properties对一些属性进行一个提前配置,spring在读取∗.properties文件时,默认使用的是asci码,这时我们需要对其编码进行转换.当然方法有很多种,我说以下几种1.在配置spring.xml文件时,声明所需的∗.properties文件时直接使用"utf−8"编码<context:property-placeholder location="classpath:conf/*.properties" file-encoding="UTF-8"/&g

2020-11-12 20:04:06 277

原创 在Windows Server 2012R2离线安装.net framework3.5

一、软件环境Windows Server 2012R2二、安装方法1、下载以下压缩文件,解压后传到Windows Server 2012R2,例如D:\软件安装包\sxs链接:https://pan.baidu.com/s/1jjUhSObNfWo69ct-S8Bjlg提取码:8uba2、打开“控制面板->所有控制面板项->程序和功能->启用或关闭Windows功能”弹出“添加角色和功能向导”界面:点“下一步”:点“下一步”:点“下一步”:点“下一步”,在功

2020-11-12 19:59:28 1816 2

原创 java.lang.String中的replace方法到底替换了一个还是全部替换了

你没有看错我说的就是那个最常用的java.lang.String,String可以说在Java中使用量最广泛的类了。但是我却发现我弄错了他的一个API(也可以说是两个API),这个API是关于字符串替换的。我的错误见解之前我一直以为String有个API是这样子的,String replace(String oldString, String newString)用来替换String中的第一个oldString为newString,这可能和我之前做的东西基本山替换的都是单一的字符串有关吧。但是当我看

2020-11-12 19:54:11 1088

原创 IntelliJ IDEA下SVN的配置及使用说明

下载及安装SVN客户端到官网下载小乌龟SVN客户端,官网地址:https://tortoisesvn.net/downloads.html,根据操作系统情况选择适合版本。比如64为操作系统,如图所示,选用for 64-bit OS。客户端软件下载后,进行软件安装,安装比较简单,大部分都是默认安装。其中有一个地方需要注意,如下图所示,command line client tools一定要勾选。不然无法集成到IDEA软件中。在IDEA中集成SVN在idea中配置svnFile—setting

2020-11-12 19:49:38 543 1

原创 Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar

本来好好的,突然打包就一直出现这个错误,并且有很多乱码,找了很多资料,如下图配置并执行一下就OK了。clean install -DskipTests -Dmaven.javadoc.skip=true

2020-11-12 19:41:46 1351

原创 Excel解析的几种实现方式

文章目录Java读写Excel的方法POIJXLFastExcel读写PDFJXL的使用写Excel文档读取ExcelPOI使用写入Excel读取Excel创建高版本的ExcelJava读写Excel的方法有三种方式:POIJXLFASTEXCELPOI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office 格式档案读和写的功能。HSSF 是Horrible SpreedSheet Format的缩写,也即“讨厌的电子表格格式”。通过H

2020-08-31 00:44:56 5641

原创 组合模式

定义将对象组合成树形结构以表示“部分-整体”的层次结构。作用组合模式使客户端对单个对象和组合对象保持一致的方式处理类型结构型例子菜单、目录适用场景希望客户端可以忽略组合对象和单个对象的差异时处理一个树形结构时优点清楚地定义分层次的复杂对象,表示对象的全部或部分层次让客户端忽略层次的差异,方便对整个层次结构进行控制简化客户端代码符合开闭原则缺点限制类型时会较为复杂使设计变得更加抽象相关设计模式组合模式和访问者模式coding业务场景:视频网站有很多

2020-06-27 20:30:02 127

原创 享元模式

定义提供了 减少对象数量从而改善应用所需的对象结构的 方式。运用共享技术有效地支持大量细粒度的对象类型结构型使用场景常常应用于系统底层的开发,以便解决系统的性能问题。例如:Java中的String模式就是使用了享元模式,String是如果有就返回,如果没有就创建一个String并且保存在String的缓存池里。数据库的连接池,里面都是创建好的连接对象,需要的话直接用,不需要放回去系统有大量相似对象、需要缓存池的场景。优点减少对象的创建,降低内存中对象的数量,降低系

2020-06-27 15:22:04 244

原创 适配器模式

定义将一个类的接口转换成客户期望的另一个接口“一个接口”说的是被适配者,而“另一个接口”是目标类定义补充使原本接口不兼容的类可以一起工作类型结构型例如我们的手机的适配器,电脑的电源适配器,都是一个意思。适用场景已存在的类,它的方法和需求不匹配时(方法结果相同或相似)也就是方法的结果相同或相似,在这个基础上出现这种场景时,适配器为了复用一些现有的类,系统的数据和行为都正确,但是接口不符合,这个时候就可以采取适配器模式不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品、不同厂家

2020-06-26 23:22:44 403

原创 纷杂的Spring-boot-starter: 5 应用安全与spring-boot-starter-security

文章目录了解SpringSecurity基本设计应用安全属于安全防护体系中的重要一环,但也是最薄弱的一环,究其原因,或许是:应用核心职责是完成业务和产品的功能需求,而安全确实非功能性需求,在资源有限的情况下,企业一定是更加注重将有限的资源投入到“开疆扩土”上去,否则,穷家破瓦的,也真没什么值得安全防护的。大部分应用开发者对应用安全知之甚少,而且安全一般属于一个企业或者业界秘而不宣的信息,所以,在没有一个专职安全团队负责推动整个安全防护体系落实的情况下,零零散散和线上落实的一些应用安全防护已经算是很不

2020-06-25 23:24:23 440

原创 纷杂的Spring-boot-starter: 3 数据访问与spring-boot-starter-jdbc

大部分的Java应用都需要访问数据库,尤其是服务层,所以,SpringBoot会为我们自动配置相应的数据访问设施若想SpringBoot为我们自动配置数据访问的基础设施,那么,我们需要直接或间接地依赖spring-jdbc,一旦spring-jdbc位于我们springBoot应用的classpath,即会触发数据访问相关自动配置行为,最简单的做法就是把spring-boot-starter-jdbc加为应用的依赖默认情况下,如果我们没有配置任何DataSource,那么,SpringBoot会为我们自

2020-06-25 18:11:19 317

原创 纷杂的Spring-boot-starter: 2 快速 Web 应用 开发 与 spring- boot- starter- web

在这个互联网时代,使用Spring框架除了开发少数的独立应用,大部分情况下实际上在使用SpriugnMVC开发web应用,为了帮助我们简化快速搭建并开发一个Web项目,SpringBoot为我们提供了spring-boot-starter-web自动配置模块只要将spring-boot-starter-web加入项目的maven依赖:< dependency> < groupId> org. springframework. boot</ groupId> &

2020-06-25 17:08:46 194

原创 纷杂的Spring-boot-starter: 1 应用 日志 和 spring- boot- starter- logging

我认为,SpringBoot微服务框架从两个主要层面影响Spring社区的开发者们:基于Spring框架的“约定优先于配置(COC)”理念以及最佳实践之路提供了针对日常企业应用研发各种场景的spring-boot-starter自动配置依赖模块,如此多“开箱即用”的依赖模块,使得开发各种场景的Spring应用更加快速和高效。SpringBoot提供的这些“开箱即用”的依赖模块都约定以spring-boot-starter-作为命名前缀,并且皆位于org.springframework.boot包或

2020-06-25 16:26:05 1350

原创 Springboot的工作机制:4 再谈谈自动配置

文章目录基于条件的自动配置调整自动配置的顺序此前我们讲到,@EnableAutoConfiguration可以借助SpringFactoriesLoader这个特性将标注了@Configuration的JavaConfig类“一股脑儿”的汇总并加载到最终的ApplicationContext,不过,这其实只是“简化版”的说明,实际上,基于@EnableAutoConfiguration的自动配置功能有更加强大的调控能力,通过配合比如基于条件的配置能力或者调整加载顺序,我们可以对自动配置进行更加细粒度的调整

2020-06-24 19:59:37 90

原创 Springboot的工作机制:5 总结

通过对SpringBoot的核心组件完成了基本的剖析,综合来看,大部分的东西都是Spring框架背后原有的一些概念和实践方式,SpringBoot只是在这些概念和实践方式上对特定的场景实现进行了固化和升华,而这也恰恰是这些固化让我们开发基于Spring框架的应用更加方便高效。如果SpringBoot真有什么秘密可言的话,那也是Spring框架和Spring生态圈的秘密,如果大家对Spring框架和其生态圈已经了然于心,通过本章的讲解,相信SpringBoot对大家已经无甚神秘可言了吧!通过适当的固化Sp

2020-06-24 19:58:38 116

原创 Springboot的工作机制:3 SpringApplication:SpringBoot程序启动的一站式解决方案

如果非说SpringBoot微框架提供了点儿自己特有的东西,在核心类层面(除了各种场景下的自动配置一站式插拔模块),也就是SpringApplication了。SpringApplication将一个典型的Spring应用启动的流程“模板化”(这里是动词),在没有特殊需求的情况下,默认模板化后的执行流程就可以满足需求了;但有特殊需求也没有关系,SpringApplication在合适的流程结点开放了一系列不同类型的扩展点,我们可以通过这些扩展点对SpringBoot程序的启动和关闭过程进行扩展。最“肤浅

2020-06-24 19:57:08 100

原创 删改数据如何避免锁表?等等,啥是锁呀

文章目录什么是锁机制共享锁和排它锁共享锁例子:共享锁在释放之前,其它的事务不能修改数据例子:两个事务对同样的数据加共享锁排它锁例子:没有加锁的子句,但是数据库自动加锁例子:手动加锁如何减少并发操作的锁冲突在删改数据的时候,如何避免锁表?对于这个问题,有的童鞋懵逼了,啥是锁表?这是MysQL平时在执行sql的时候会自动加锁,所以很多童鞋不知道锁机制也是很正常的。下面就介绍下MySQL的锁机制什么是锁机制因为我们平常使用的是 InnoDB,就说下InnoDB的锁机制,采用的是行级锁,这个比MyISAM引

2020-06-08 17:54:28 1475

原创 读多写少,读多写多

这篇文章没有什么操作性,主要是让伙伴们开拓视野的,通过一些使用场景,并没有太多上手的操作。读多写少的业务场景普遍来说,绝大多数系统都是读多写少的也就是select语句执行的多,而insert、delete、update这样的操作执行的很少,比如上面都是属于读多写少的范畴,就那在线购物来说我们在淘宝上看的多买的少,也就是货比三家后才下单,我们在货比三家的过程中,其实产生了很多查询的操作,只有在下单的时候才产生了insert操作。再比如我们在手机上看了多条新闻,才回复一条评论。再有就是58同

2020-06-08 16:13:05 1374

原创 千万数据,如何快速商品分页

MySQL的limit子句的语法,我们是非常熟悉的,查询的起始位置不同,消耗的时间也是不一样的。我们创建一个数据表t_test:字段名类型长度小数点不是 null虚拟键idint00√√valvarchar2550√我们接下来往数据表里添加1000万条数据,怎么导入呢?先把数据写到文件里面,再导入到表里,先来看下生成数据的java代码吧public class Demo2{ public static void main(String

2020-06-08 14:57:37 312

原创 事务机制主要是利用undo、redo日志?

为什么数据库需要事务机制答: 如果数据的写入直接操作数据文件是非常危险的事情如上图,比如说现在写了一个update语句,要给员工涨工资,执行的过程中系统突然重启了,这时候我们就搞不清楚那些数据修改了,那些数据还没有修改,因为没有原始数据做对比,所以数据发生混乱后,就特别不好维护,所以说用sql语句直接操作后端文件遇到突然事件的后果是非常严重的。利用日志来实现间接写入如果想让sql语句不直接修改数据文件,这时候就要引入事务机制了,MySQL总共有5种日志,其中只有redo日志和undo日志与事务

2020-06-08 12:09:40 430

PowerISO镜像制作

PowerISO 可以制作ISO镜像文件,也可以把苹果的gmu系统安装文件转换为iso虚拟机使用的镜像文件

2020-06-29

PerconaTookit.rar

Percona公司维护的这个MySQL工具包,这家公司太优秀了,比如对MySQL做的深入优化再次发行后叫Percona Server数据库,这个数据库的性能是MySQL中性能最好的,甚至说当初阿里巴巴开发出自家的电商数据库OceanBase也是借鉴了PerconaServer很多的技术。不管怎么说,Percona的产品几乎都是免费试用的,这一点非常好。

2020-06-03

ccsetup567.exe

可以进行注册表的清理和修复,这作用可就大了,比如:软件卸载后重装失败,可以清理注册表或修复它,是一个很好的工具

2020-06-03

VMware-player-15.5.5-16285975.exe

Vmware 是VMware公司不需要注册码的workstation, 功能上比pro版要少些内容,如果只是因为搭建虚拟机,还是可以满足要求的

2020-06-03

erlang_win64_20.2.rar

包含一个erlang的exe文件,还有一个RabbitMQ的exe文件

2019-10-14

scrt-x64.8.5.4.1942.exe

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。

2019-06-29

空空如也

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

TA关注的人

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