自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (7)
  • 收藏
  • 关注

原创 JAVA中的deflate压缩解压实现(二)

Http传输过程中对请求体进行压缩解压处理

2023-06-26 14:19:44 546

原创 JAVA中的deflate压缩解压实现(一)

deflate实现http传输压缩解压功能

2023-06-26 14:00:10 250

原创 提供一个小工具:微信小程序自动转码机器人!供大家24小时免费使用!

弄个微信小程序自动转码机器人就可以完成,今天把我的机器人安排给大家,外面很多都是收费的,2毛钱转一次,这个钱真没必要花,我的机器人供大家24小时免费用,下面简单介绍一下机器人的功能。很容易理解,就是把小程序卡片的形式,转成小程序码的形式,这样容易让大家用图片的形式去分享朋友圈。很容易理解,就是把微信公众号名片形式,转成二维码的形式,这样容易让大家用图片的形式去分享朋友圈。很容易理解,就是把网页链接的形式,转成二维码的形式,这样容易让大家用图片的形式去分享朋友圈。3、微信公众号名片自动转码。

2023-04-08 11:08:02 4073 3

原创 自研返利网源码、有需要的私信

很多小伙伴问我有没有返利最高的工具?不巧,没有。但是,应小伙伴大量需求,咱们自己开发了一个高额返利工具!也许是目前返利最高的网购返利工具!干杯!!!在这个人手一个返利App的年代,没有的话感觉自己都跟不上时代潮流再不用你就out啦!淘宝购物三部曲,曲曲入肺:1.打开淘宝2.复制商品链接3.打开查券返利工具这是最基本的步骤、不过真的可以找到内部隐藏的券、还能找到下单抵扣金;其实抵扣金就是返利的钱、这样通过抵扣金的形式主要是为了大家方便、用完即走;不用牵挂提.

2021-07-21 19:42:45 1028

原创 曼格短视频小程序源码包

【微信小程序】曼格拉短视频V1.3.2小程序安装更新包+小程序前端【包更新】,修复部分用户前端编译失败!曼格短视频小程序是一款短视频类小程序平台,做一款属于自己的短视频小程序!1.新增自定义界面颜色,你的地盘你做主,不要再担心“撞衫”!2.刷一刷页面,接入流量主广告、自定义广告,更多机会展现,提高你的收益!3.视频播放后,展示重播、下一条、分享、自定义推广曝光等能力!4.自动同步功能后,再添省心功能!前端本地搜索加云搜索,你采集的视频搜索不到,直接云端搜索,腾讯就是你的在线视频库,不要在因视频数量

2020-12-20 21:06:20 2539 2

原创 纳秒级分布式无锁限流插件 Current-Limiting

github:https://github.com/yueshutong/SnowJena码云:https://gitee.com/zyzpp/spring-boot-starter-current-limiting1.简介基于令牌桶算法和漏桶算法实现的纳秒级分布式无锁限流插件,完美嵌入SpringBoot、SpringCloud应用,支持接口限流、方法限流、系统限流、IP限流、用...

2019-07-18 13:51:00 1678 1

原创 Java Springboot 使用druid连接池抛java.lang.ClassNotFoundException: org.apache.log4j.Logger

废话少说直接上错误日志:Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger at com.alibaba.druid.filter.logging.Log4jFilter.<init>(Log4jFilter.java:26) ~[druid-1.1.9.jar:1.1.9] at sun...

2019-05-22 15:53:54 2667

转载 史上最强多线程面试46题(含答案):线程锁+线程池+线程同步

多线线相关的并发面试是BAT面试必考的内容,整理出的最全多线程并发面试46题和答案总结,希望有所帮助,由于篇幅较长,建议收藏后细看~1、并发编程三要素?1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。2)可见性可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。实...

2019-04-10 15:03:55 1785 1

原创 如何保证RabitMQ消息不被重复消费(如何保证消息消费时的幂等性)

上篇博客主要讲了消息可靠性传递,那么是不是大家也想了解怎么保证消息队列消费的幂等性?如何保证MQ的消费是幂等性的,需要结合具体的业务来看 :  比如你拿个数据要写库,你先根据主键查一下,如果这数据都有了(最好带有时间戳字段,每次更新都以时间戳为条件),你就别插入了,update一下好吧  比如你是写redis,那没问题了,反正每次都是set,天然幂等性   比如你不是上面...

2019-03-01 18:49:59 1783

原创 如何保证RabitMQ消息的可靠性传输(如何处理消息丢失的问题)

相信大家在工作中为了项目解耦,大家都会用到消息处理中间件RabitMQ、ActiveMQ、Kafka等中间件,但是是否有遇到过消息丢失的场景,遇到这种丢失场景我们应该采用什么方案来解决问题,保证消息的高可用、可靠性传输?今天就以RabitMQ保证消息可靠性传输抛砖引玉,欢迎大家留言讨论。首先来看下MQ流程图解生产者弄丢了数据相信对于生产者丢数据的情况,只要用过MQ的...

2019-03-01 17:26:25 1130

转载 redis面试最叼的问题系列

Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名在互联网技术行业打击过成百上千名【请允许我夸张一下】的资深技术面试官,看过了无数落寞的身影失望的离开,略感愧疚,故献上此文,希望各位读者以后面试势如破竹,永无失败!Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合S...

2018-10-22 14:53:04 425

原创 (七)Mybatis Sql如何解析执行StatementHandler(3)--MyBatis源码解析

这篇博客我们来学习下StatementHandler是如何解析执行sql的,带你一起看下整个执行过程,一起学习。SimpleExecutor执行sql过程当BoundSql加载完成之后,下一步就是执行select/update/insert/delete语句了。在SimpleExecutor中执行语句最终会由doQuery和doUpdate方法完成。public int doUpda...

2018-08-03 17:50:04 1174

原创 (六)Mybatis Sql如何解析执行(2)--MyBatis源码解析

上篇博客讲解了如何解析sql,不过SqlNode.apply()后,Sql还是个半成品。只处理了"${}"这种占位符,"#{}"这种占位符还没有处理,而且Sql执行时的参数也没有生成。我们再回顾下DynamicSqlSource.getBoundSql()方法public BoundSql getBoundSql(Object parameterObject) { Dynamic...

2018-08-03 17:28:01 230

原创 (五)Mybatis Sql如何解析执行(1)--MyBatis源码解析

通过前面一些篇幅,我们整理了sqlSession和executor关系之后,接下来就要看看具体一条sql是怎么被解析执行了,先看下query代码。对应的mapper配置文件我也补上,后续会将代码打包发布到github上&lt;mapper namespace="com.mybatis.demo.User"&gt; &lt;resultMap type="com.mybatis...

2018-08-03 15:39:43 1074

原创 (四)Mybatis Executor接口实现方式--MyBatis源码解析

经过上一篇文章的我们应该对sqlsession的创建以及方法使用有所了解select类方法 update/insert/delete方法 commit() rollback() close()接下来我们就来讲下sql的执行器是如何执行sql的,首先我们来普及下Executor,让大家对执行器稍微有点印象,让接下来的讲解更容易理解,不那么抽象。先让我们看两张图,刷个脸熟Base...

2018-08-02 18:17:15 1373 1

原创 (三)MyBatisSqlSession创建及简要解析----MyBatis源码解析

       上一篇我们介绍了mybatis动态代理,文章末尾也写了要继续分析excutor,但是第三讲再讲解excutor执行分析之前,我必须要带领大家回顾下SqlSession的创建过程,这样有助于接下来excutor的理解。 SqlSession的使用简单 当我们得到sqlsessionFactory后便可以获取sqlsession对象了,sqlsession对象的生命周期都有以下...

2018-08-02 15:12:52 466

转载 (二)MyBatis调用动态代理解析----MyBatis源码解析

如果我们要使用MyBatis进行数据库操作的话,大致要做两件事情: 1. 定义DAO接口 在DAO接口中定义需要进行的数据库操作。 2. 创建映射文件 当有了DAO接口后,还需要为该接口创建映射文件。映射文件中定义了一系列SQL语句,这些SQL语句和DAO接口一一对应。MyBatis在初始化的时候会将映射文件与DAO接口一一对应,并根据映射文件的内容为每个函数创建相应的数据库操作能力。...

2018-07-31 16:35:14 201

转载 (一)MyBatis初始化过程解析----MyBatis源码解析

1. 准备工作为了看清楚MyBatis的整个初始化过程,先创建一个简单的Java项目,目录结构如下图所示:1.1 Product 产品实体类public class Product { private long id; private String productName; private String productContent; privat...

2018-07-31 15:32:49 205

转载 TCP和UDP的主要区别

TCP UDPTCP与UDP基本区别  1.基于连接与无连接  2.TCP要求系统资源较多,UDP较少;   3.UDP程序结构较简单   4.流模式(TCP)与数据报模式(UDP);   5.TCP保证数据正确性,UDP可能丢包   6.TCP保证数据顺序,UDP不保证   UDP应用场景:  1.面向数据报方式  2.网络数据大多为短消息   3.拥有大量Client  4.对数据安全性无特殊...

2018-06-05 20:16:24 8894

原创 过滤器跟拦截器的区别和使用

1、首先要明确什么是拦截器、什么是过滤器 1.1 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前...

2018-06-05 19:55:12 981

原创 springboot多环境部署(三)

上一篇文章我们着重讲解了springboot的一些基础配置,接下来我们来讲解springboot项目如何分环境部署在Spring Boot 中系统提供了更为简洁的方式。全局Profile配置我们使用application-{profile}.properties来定义,然后在application.properties中通过spring.profiles.active来指定使用哪个Profile。...

2018-05-28 17:57:03 779

原创 springboot启动类之注解(二)

上一篇博文我们讲解了如何创建一个springboot项目,接下来我们解释下启动类上的注解SpringBootApplication,该注解属于一个组合注解,我们看源码不难发现它会包含如下@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfigura...

2018-05-28 17:41:36 2154

原创 springboot项目搭建(一)

Spring Boot可以让我们快速创建一个基于Spring的项目,而让这个Spring项目跑起来我们只需要很少的配置就可以了。Spring Boot主要有如下核心功能:1.独立运行的spring项目   springboot可以用jar的形式独立运行,很方便;后台运行指令:日志文件名相当于tomcat下的catherine.out    nohup java -jar 包名.jar &gt; 日...

2018-05-28 16:04:22 332

原创 springboot热部署之idea和eclipse

相信大家在用springboot开发web应用时都遇到过改动页面上一个地方就需要重启下服务的困惑,现在推荐给大家一种热部署方法,可以改动页面内容时无需重启服务,提高开发效率;亲测好使在idea1.pom.xml文件需要调整添加依赖注:热部署功能spring-boot-1.3开始有的&lt;!--添加依赖--&gt;&lt;dependency&gt; &lt;groupId&gt;or...

2018-03-09 17:20:28 1578

转载 shiro登录流程大剖析

关于shiro我会出一个专题进行讲解,相信当家通过开涛博客都不会陌生,今天着重讲下登录流程1.大致流程图如下第一步:用户登录,根据用户登录名密码生产Token UsernamePasswordToken token = new UsernamePasswordToken(username, password);Subject subject = SecurityUtils.getSubject(...

2018-03-09 16:22:36 5022 2

原创 git 操作大全

针对git使用大全不断丰富一.git 初始化仓库1.先在码云或者github上新建一个项目2.在本地目录下执行以下操作git initgit add .git config user.name '****'git config user.email '***'git pull https://git.oschina.net/XXX/springboot.git mastergit rem...

2018-02-09 13:54:52 319

原创 springboot集成druid连接池(数据库密码加密)

1.springboot默认连接池习惯使用springboot的小伙伴通过开始学习springboot链接数据库时,都会尝试着官方文档来 学习,所以springboot默认支持的数据库连接池c3p0和 dhcp,大家应该都很熟悉了吧,只需要在.propeties文件中配置下数据库连接字符串即可,默认采用c3p0链接池进行连接数据库,但是今天我着重记录的并非官方默认支持的链接池,而是集成性...

2018-01-10 14:18:32 34013 11

原创 Mybatis-generator配置说明

<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><!-- 可以用于加载配置项或者配置文件,在整个配置文件中就可以使用$

2017-08-21 17:19:00 378

转载 mycat实现简单的mysql读写分离

什么是mycat呢?简单理解为一个MySQL中间件,它支持分流、基于心跳的自动故障切换,支持读写分离,支持mysql主从,基于Nio管理线程的高并发… 详见官网:http://www.mycat.io/ 为什么需要mysql集群?一个庞大的分布式系统的性能瓶颈中,最脆弱的就是连接,一个是客户端与后端的连接,另一个是后端与数据库的连接,说白了就是发送端请求太多,接

2017-07-18 10:44:01 623

转载 每秒处理10万高并发订单的乐视集团支付系统架构分享

随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。所以在15年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。一、库分表在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系

2017-05-25 09:48:58 1700

转载 TCP(Transmission Control Protocol) 传输控制协议

TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urge

2017-05-19 16:38:57 1219

转载 spring事务的传播行为和隔离级别

7个传播行为,4个隔离级别。spring事务的传播行为和隔离级别[transaction behavior and isolated level]Spring中事务的定义:Propagation(key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。)有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有

2017-05-17 17:42:40 412

原创 hashMap的基础知识

前言  由于HashMap在java开发中占有的举足轻重的地位,所以对hashmap的一些重要性质和优化点进行一些总结就显得尤为重要了,同时也能在实际工作中提高hashMap的效率,但对于全面介绍分析hashMap,本文不做过多概述。本文主要是希望对java初学者或者是有意对hashMap的使用效率有更深了解的的读者提供帮助。一、hashMap重要属性  1、  /

2017-05-17 17:31:49 509

转载 spring事务传播行为和隔离级别

7个传播行为,4个隔离级别。spring事务的传播行为和隔离级别[transaction behaviorand isolatedlevel]Spring中事务的定义:Propagation(key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。)有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务

2017-05-17 15:17:08 284

原创 不借助第三方类库字符串反转

代码:package codeGenerate;public class StringReverse {public static String revers1(String str){System.out.println("反转前:"+str);char array[] = str.toCharArray();for(int i=0;ichar temp

2017-05-17 13:12:55 561

原创 最近最少使用队列算法

定义:LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU算法就是将最近最久未使用的页面予以淘汰。可以用一个特殊的栈来保存当前正在使用的各个页面的页面号。当一个新的进程访问某页面时,便将该页

2017-05-17 09:54:14 3887

转载 StringBuffer何时初始化到常量池

首先,在源代码中用双引号引起来的会自动进入常量池中(其实字符串对象是在堆中,然后常量池里有个引用指向它,但是和直接说在常量池中似乎没多大影响,下面也就这么说了) String s1 = new StringBuffer("he").append("llo").toString(); System.out.println(s1==s1.intern());//结果是true这

2017-04-10 13:33:18 2784

原创 String中intern的方法

String中intern的方法首先查看官方API那个的解释:———————————————————————————————————————internpublic String intern()返回字符串对象的规范化表示形式。一个初始时为空的字符串池,它由类 String 私有地维护。当调用 intern 方法时,如果池已经包含一个等于此 String

2017-04-10 13:20:28 615

原创 递归算法及经典递归例子代码实现

一、什么叫做递归?一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法;递归函数就是直接或间接调用自身的函数,也就是自身调用自己;二、一般什么时候使用递归?   递归时常用的编程技术,其基本思想就是“自己调用自己”,一个使用递归技术的方法即是直接或间接的调用自身的方法。递归方法实际上体现了“以此类推”、“用同样的步骤重复”这样的思想,它可以用

2017-03-24 17:28:19 78288 2

原创 斐波那契算法的java实现

斐波那契(Fobonacci)数列的第1和第2个数分别为1和1,从第三个数开始,每个数等于其前两个数之和(1,1,2,3,5……)实现1:public static Integer fobonacci(Integer n){ if(n0||n==0){ System.out.println("参数必须大于0"); return 0; } if(n==1

2017-03-24 14:57:13 1261

navicate.rar

Navicat Premium数据库管理工具64位版是一个可多重连接的数据库管理工具,Navicat 可让你以单一程序同時连接到目前世面上所有版本的主流数据库并进行管理和操作,支持的数据库有: MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL。让管理不同类型的数据库更加方便。支持Microsoft Windows XP SP2, Vista, Windows 7, Windows 8, Server 2003, Server 2008, Server 2012操作系统!

2019-08-29

chrome非安全模式进入网页方案

1.https在证书失效的情况下chrome是无法进入网站的 2.通过下载资源可在不受信的情况下进入网站

2019-01-23

git-windows32版本

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1] Git的读音为/gɪt/。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上

2017-05-14

微信分享后关注

一键关注 其实很简单, https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz= MzI3OTA1ODQ4Mw ==&scene=110#wechat_redirect,把这个链接中的红色部分替换为自己公众号的就行,问题是这一串字符在哪里找呢? 方法: 打开你的公众号,查看历史消息,复制历史消息的链接,然后在连接中我们就能找到这一串字符。 之前还有种方法是使用 https://mp.weixin.qq.com/mp/ad_b ... %3D#wechat_redirect 这个链接,但是现在已经用不了,跳过去不会出现一键关注页面了。 原理很简单,直接把分享的链接修改为上面我们设定的一键关注的链接即可

2016-11-30

DBView eclipse查看数据库插件

eclipse 操作数据库sql插件,几乎无需再用其他客户端查看数据库表数据,直接在eclipse内查看即可!亲测可用

2016-06-04

spring-boot-reference.pdf

针对springboot详细介绍,官方文档

2016-03-25

中文简体繁体互转

一款很不错的中文简体繁体互转工具jar,很方便ChineseUtils.tradToSimp(String res) 一行代码搞定

2015-01-20

空空如也

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

TA关注的人

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