自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (17)
  • 收藏
  • 关注

原创 花费10年时间 整理的JVM内存的划分图解

了解了上面这张图,会让你对JVM内存的划分有更深入的理解,而不仅限于什么虚拟机栈、程序计数器等比较浅显的认知。那么这张图有什么用呢?在进行内存排查的时候,我们需要了解到底是哪一个部分除了问题。如果你找不对地方,肯定切入就比较困难,这会耗费你大量的精力。一台4GB的机器,一般使用Xmx分配给JVM的,肯定不能太多。比如3.5GB之类的。这就太贪婪了,很容易造成JVM异常死亡。这是为什么呢?这个比较好理解,因为在操作系统上,运行的不仅仅你的JVM应用,还会有其他一些守护进程,比如各种日志收集工具..

2020-11-26 09:35:18 2

原创 spring boot redis分布式锁

随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁。分布式锁的实现有很多种,比如基于数据库、zookeeper等,本文主要介绍使用Redis做分布式锁的方式,并封装成spring boot starter,方便使用一.Redis分布式锁的实现以及存在的问题锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。使用Redis实现锁,主要是将资源放到Redis当中,利用其原子性,当其他线程访问时,如果Redis中已经存在这个资源,就不允许之...

2020-11-17 18:10:11 8

原创 Redisson实现 redis 集群分布式锁

前言上文我们介绍的 Redis实现分布式锁的正确方式 是 redis 单机的方式,所以本篇要基于 redis 集群做分布式锁,我们使用 Redisson来做。有同学肯定有这样的疑问为什么用 redis 集群方式啊,单机不是挺好的?集群和单机不就是 redis 多节点配置的问题吗?为什么使用另一种方式 Redisson呢?Redisson 是什么呢?可不可以不用Redisson呢?……其实在研究 集群实现分布式锁之前我也有这些问题,所以,我下面一一为各位解答,并用代码实现。

2020-11-16 16:47:41 41

原创 Redis分布式锁詳解

基于setnx和getsethttp://blog.csdn.net/lihao21/article/details/49104695使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。SETNX命令简介命令格式SETNX key value将 key 的值设为 value,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。SETNX 是SET if Not eXists的简写。返回值返回整数...

2020-11-16 16:30:04 6

原创 JAVA开发微信支付-公众号支付/微信浏览器支付(JSAPI)

写这篇文章的目的有2个,一是自己的项目刚开发完微信支付功能,趁热回个炉温习一下,二也是帮助像我这样对微信支付不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了。本以为网上的微信开发教程会和“java的重写与重载”一样铺天盖地,可搜出来的结果,要么是PHP的教程(微信支付官网推荐就是PHP),要么星星点点就那么几篇,想对比的看看思路都成问题,官网下载的JAVA-SDK-DEMO也恕我技术低下,看的糊里糊涂。等自己开发完的那一刻,才豁然开朗,才知道走通完支付这条路的过程走了多少弯路,我是...

2020-10-22 11:38:29 74

原创 jar 替换 class

解压替换文件, 重新压缩成jar 包,切记 :winrar压缩格式选择为存储!!

2020-10-20 17:15:35 7

原创 利用ThreadLocal管理登录用户信息实现随用随取

通常在项目中,用户登录后,我们会将用户的信息存到session,如果想在其它地方获取session中的用户信息,我们需要先获取HttpServletRequest,再通过request.getSession得到HttpSession,从而获取到我们想要的用户信息。通常我们会将以上操作提取一个公共方法,如:public static User getSessionUser(HttpServletRequest request) { if(request.getSession().

2020-10-17 16:52:12 89

原创 Spring Bean的生命周期

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。转载请注明地址 http://www.cnblogs.com/zrtqsk/p/3735273.html,谢谢。一、生命周期流程图:  Spri.

2020-10-14 13:25:46 12

原创 通过RequestContextHolder直接获取HttpServletRequest对象

问题朋友遇到一个问题:他想在Service方法中使用HttpServletRequest的API,但是又不想把HttpServletRequest对象当作这个Service方法的参数传过来,原因是这个方法被N多Controller调用,加一个参数就得改一堆代码。一句话:就是他懒。不过,这个问题该这么解决呢?思考不把HttpServletRequest当作参数传过来,这意味着要在Service的方法中直接获取到HttpServletRequest对象。我们知道,一次请求,Web应用服务器就会分配

2020-09-29 09:25:21 18

原创 JDK8的LocalDateTime用法

JDK8新特性里提供了3个时间类:LocalDate、LocalTime、LocalDateTime在项目开发中,已经需要对Date类型进行格式,否则可读性很差,格式化Date类型要使用SimpleDateFormat,但SimpleDateFormat是现成不安全的。1.为什么需要LocalDate、LocalTime、LocalDateTime1.1 Date如果不格式化,打印出的日期可读性差Tue Sep 10 09:34:04 CST 20191.2使用SimpleDate..

2020-09-28 10:40:05 19

原创 ApplicationContextAware使用理解

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

2020-09-28 10:17:59 129

原创 Streams 的背景以及 Java 8 中的使用详解

为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk

2020-09-27 09:30:35 32

原创 springcloud 微服务间通过 FeignClient 调用 抛出异常 和权限拦截 统一处理

/** * Title: FeignExceptionAspect * Description: Feign统一异常处理 */@Aspect@Order(Ordered.LOWEST_PRECEDENCE - 100)public class FeignExceptionAspect { /** * Pointcut注解声明切点 * 配置切入点,该方法无方法体,主要为方便同类中其他方法使用此处配置的切入点 * @within 对类起作用,@annotation 对方法.

2020-09-25 16:04:00 306

原创 反射常用API

package com.ljy;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;/** * * @ClassName: TestClass * @Description: 通过反射获取指定类的所有信息 * @author krj * @date 2019年9月12日 上午11:29:02 * */public class Te.

2020-08-28 15:28:44 29

原创 spring的controller是单例还是多例,怎么保证并发的安全

答案:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。我们下面来简单的验证下:package com.riemann.springbootdemo.controller;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import org.springframework

2020-08-18 13:31:09 34

原创 基于springboot + mybatisplus 的快速集成多数据库源配置(亲测可用)

一个基于springboot的快速集成多数据源的启动器简介dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据库源的启动器。其支持Jdk 1.7+, SpringBoot 1.4.x 1.5.x 2.x.x。示例项目可参考项目下的samples目录。特性支持数据源分组,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。 支持数据库敏感配置信息加密ENC()。 支持每个数据库独立初始化表结...

2020-08-05 11:19:19 70

原创 手把手教你搭建一个Elasticsearch集群

一、为何要搭建 Elasticsearch 集群凡事都要讲究个为什么。在搭建集群之前,我们首先先问一句,为什么我们需要搭建集群?它有什么优势呢?(1)高可用性Elasticsearch 作为一个搜索引擎,我们对它的基本要求就是存储海量数据并且可以在非常短的时间内查询到我们想要的信息。所以第一步我们需要保证的就是 Elasticsearch 的高可用性,什么是高可用性呢?它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是 100%。如果系统在某个时刻宕掉

2020-07-16 18:06:29 48

原创 springboot 整合 redis 哨兵模式

本文内容涵盖#windows下单机部署redis多实例 、linux下哨兵示例 redis主从配置 redis哨兵配置以spring boot redis demo下一个存action,一个取action为例进行演示。本文只讲配置,不讲原理(原理随便都是,配置完整完善且简洁的少)redis 命令介绍#启动实例 D:\Redis-6379> redis-server.exe redis.windows.conf 指定进入哪个redis实例,redis的默认客户端是redi

2020-07-16 17:50:30 44

原创 redis 哨兵配置文件解读 sentinel.conf

# Example sentinel.conf# port <sentinel-port>port 8001# 守护进程模式daemonize yes# 指明日志文件名logfile "./sentinel1.log"# 工作路径,sentinel一般指定/tmp比较简单dir ./# 哨兵监控这个master,在至少quorum个哨兵实例都认为master down后把master标记为odown# (objective down客观down;相对应的存在sdow

2020-07-16 17:02:32 58

原创 MybatisPlus常用API方法总结

2020-07-15 09:17:48 178

原创 前端js常用的60余种工具方法【强烈建议收藏】

“工欲善其事,必先利其器!”本文为大家带来前端js开发常用的60种工具方法,有了这些开发工具你就可以高效的处理任务和信息了。1.邮箱export const isEmail = (s) => { return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)}2.手机号码export const isMobile = (s) => { return /^1[0

2020-07-01 17:59:40 87

原创 springboot 常用校验注解

2020-06-04 16:20:27 93

原创 VUE 路由传参

vue路由带参总结1. params<router-link :to="{name:'test', params: {id:1}}">配置路由格式要求: path: "/test/:id"js参数获取:this.$route.params.id2.query<router-link :to="{name:'test', query: {id:1}}">...

2020-05-13 18:01:27 21

原创 MySQL 登录报错 Access denied for user 'root'@'localhost' (using password: NO) 的解决办法

这个问题是在Windows下安装MySQL服务时遇到的,使用MySQl绿色版进行安装的,安装完成后,连接到MySQL服务时输入命令 “ mysql -uroot -p ” ,因为时第一次登录,未设置密码,直接回车,就遇到了这个问题,错误信息如下:“ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pass...

2020-05-13 18:01:03 112

原创 java项目通过redis防止定时任务重复执行

public static String IDENTITY_TAG = String.valueOf(Math.random());if (!isRunTaskMethod("GroupOrderTask.groupOrder")) { return;}private boolean isRunTaskMethod(String key) {...

2020-05-13 18:00:08 155

原创 Sonar 规则及相关提示处理

1、".equals()" should not be used to test the values of "Atomic" classes.bug 主要不要使用equals方法对AtomicXXX进行是否相等的判断Atomic变量永远只会和自身相等,Atomic变量没有覆写equals()方法.2、"=+" should not be used instead of "+="bug 主要"=+" 与 "=+" 意义不同a =+ b;虽然正确但写法不合规,应写成 a = +b;3、"@N.

2020-05-12 18:06:03 432

原创 注解实现防止重复提交

@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public @interface AvoidRepeatableCommit { long timeout() default 1000L;}public enum AvoidCommitAspectErrorEnum implements ErrorEnum { BASE_AVOID_COMMIT_ASPECT_ERROR("02990001", "請勿重.

2020-05-11 17:10:04 102

原创 java项目linux 系统部署 shell 启动脚本

#!/bin/bashkill_pid(){ pid=`ps -ef | grep wifi-wgw | grep java | awk '{print $2}'` if [ "$pid" != "" ] then kill -9 $pid echo "kill $pid wifi-wgw pid" else echo 'no pid' fi...

2020-04-30 16:00:52 66

原创 rsync linux安装和配置

#!/bin/bashexit 0# 服务端 ===========================================================useradd -u 8080 -s /sbin/nologin -M webyum install rsync -ycp /etc/rsyncd.conf{,.bak}vim /etc/rsyncd.conf#u...

2020-04-30 16:00:11 25

原创 maven项目修改java class 文件编译版本的配置方法

使用Maven编译Java项目,默认的jdk编译版本是1.5(参考官网的说明-》https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html)。嗯~,有时候会导致jdk版本不匹配(比如代码中使用了jdk1.8的新特性,这是就需要使用jdk1.8进行编译)。解决方案方案一:全局设置在${MAVEN_HOM...

2020-04-22 09:55:09 97

原创 视频等大文件java断点续传处理

import com.teleone.ferryportal.model.bo.Storage;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.f...

2020-04-09 17:56:26 84

原创 linux 系统各种操作及 常用命令

常用Shell命令根据功能进行分类记忆会比较好记。电源管理网络配置管理任务(进程)管理文件系统管理文件压缩系列命令用户和组群管理软件包管理查看系统运行状态和硬件配置服务管理命令高级用法查看帮助手册电源管理poweroff:关机reboot:重启shutdown:关机或重启 (通过带不同参数实现,常用参数:-r表示重启,-h表示关机,可以定时关机)reset...

2020-03-04 11:28:37 49

原创 netty4 client连接服务端步骤及底层原理说明

服务端依次发生的步骤建立服务端监听套接字ServerSocketChannel,以及对应的管道pipeline; 启动boss线程,将ServerSocketChannel注册到boss线程持有的selector中,并将注册返回的selectionKey赋值给ServerSocketChannel关联的selectionKey变量; 在ServerSocketChannel对应的管道中触发...

2020-01-20 16:25:21 35

原创 使用redis分布式锁解决秒杀和高并发问题

(一)redis技术的使用:redis真的是一个很好的技术,它可以很好的在一定程度上解决网站一瞬间的并发量,例如商品抢购秒杀等活动。。。redis之所以能解决高并发的原因是它可以直接访问内存,而以往我们用的是数据库(硬盘),提高了访问效率,解决了数据库服务器压力。为什么redis的地位越来越高,我们为何不选择memcache,这是因为memcache只能存储字符串,而redis存储类型很...

2020-01-06 09:40:06 20

原创 搭建maven 仓库

Maven中央仓库搭建搭建系统:Linux Centos 7.4 x64 安装环境:JDK1.8、maven3.5.4、nexus-3.13下载:nexus-3.13.0-01-unix.tar.gz 百度云:https://pan.baidu.com/s/1B8NVom10Mcmu73ZArciCyQ 密码:xfg11、安装Nexus注:安装前,请确认系统已安装jdk与mave...

2019-12-09 14:14:23 32

原创 RestTemplate使用教程,用更优雅的方式发HTTP请求

Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。我之前的HTTP开发是用apache的HttpClient开发,代码复杂,还得操心资源回收等。代码很复杂,冗余代码多,稍微截个图,这是我...

2019-08-20 17:27:47 50

原创 @Cacheable、@CacheEvict、@CachePut使用方法,Spring常用的缓存注解说明

Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接...

2019-08-20 10:07:59 18

原创 Maven项目 pom.xml 标签说明文档

<span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apach...

2019-06-19 16:16:45 32

原创 idea 警告标准(默认配置标准降级)

<profile version="1.0"> <option name="myName" value="Default" /> <inspection_tool class="Convert2Diamond" enabled="false" level="WARNING" enabled_by_default="false" /> <insp...

2019-04-17 16:52:56 548

转载 java 并发编程内存模型分析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,...

2019-04-17 16:48:07 39

云服务配置文件整理yml.rar|yml.rar

云服务配置文件整理

2020-10-09

web资源web资源|teleone.rar

web资源

2020-10-09

obots-uam.rar|uam.rar

于该网站的robots.txt文件存在限制指令(限制搜索引擎抓取),系统无法提供该页面的内容描述 - 了解详情 CSDN论坛-IT技术交流平台 kefu@csdn.net QQ客服 客服论坛 400-660-0108 工作时间 8:30-22:00 关于我们招聘广告服务 网站地图 京ICP备19004658号 经营性网站备案信息 公安备案号 110105... CSDN技术社区百度快照 CSDN-专业IT技术社区 CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区.

2020-10-09

Rsync_install_doc.txt

linux 安装rsync 自动同步文件 服务端和客户端搭建命令

2020-04-15

deploy-uat.sh

linux 项目启动sh文件包含kill进程 maven打包 启动服务 心跳检测是否启动完成脚本命令等

2020-04-15

jdk-8u241-linux-x64.tar.gz + node-v12.16.1-linux-x64.tar.xz 开发环境

jdk-8u241-linux-x64.tar.gz 和 node-v12.16.1-linux-x64.tar.xz CentOs 软件安装包

2020-03-19

rumen22.7z

天眼查数据显示天眼查数据显示

2019-12-12

rumen11.7z

从入门到精通,Java学习路线导航从入门到精通,Java学习路线导航,从入门到精通,Java学习路线导航从入门到精通,Java学习路线导航

2019-12-12

调用存储过程复制表数据

调用存储过程复制表数据

2018-08-22

mybatis-generator

mybatis逆向工程,mysql 自动代码生成工具,mybatis-generator

2018-08-09

数据库设计案例

数据库设计是完成一个系统很重要的一步。下面来介绍一下数据库设计的过程。数据库设计分6个阶段:需求分析、概念设计、逻辑设计、物理设计、数据库实施、数据库运行与维护

2018-07-20

springboot

微服务是未来发展的趋势,Spring Boot 继承了 Spring 的优良特性,与 Spring 一脉相承,支持各种REST API 的实现方式

2018-07-20

电商资源电商资源电商资源

网站资源网站资源

2018-07-17

sql数据结构数据库

CSS浮动(float,clear)通俗讲解 CSS浮动(float,clear)通俗讲解 CSS浮动(float,clear)通俗讲解

2018-05-19

平台教程

普通程序员通过平台教程就可以实践区块链、对话机器人等热、难点开发技术普通程序员通过平台教程就可以实践区块链、对话机器人等热、难点开发技术

2018-05-17

项目代码,源代码资料

有问有答是程序视界的一个免费问答栏目,感兴趣的朋友,可以按照下面的方式参与有问有答是程序视界的一个免费问答栏目,感兴趣的朋友,可以按照下面的方式参与

2018-05-17

项目代码源文件

不能直接在博客里上传,需要变通一下;CSDN有专门上传文件的地方,然后...点击上传资源然后就可以上传附件了不过他会审核两天,不要着急,过两天就发布出来.不能直接在博客里上传,需要变通一下;CSDN有专门上传文件的地方,然后...点击上传资源然后就可以上传附件了不过他会审核两天,不要着急,过两天就发布出来.

2018-05-16

空空如也

空空如也

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

TA关注的人 TA的粉丝

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