自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 easy-rule规则引擎用法

easy-rule用法举例,源码解析

2022-06-20 11:39:22 897 1

原创 JVM类文件结构

jvm的class文件的结构

2022-06-04 00:24:33 240

原创 JVM垃圾回收算法和垃圾回收器

文章讲述了垃圾的对象的判定,几种垃圾回收算法的优缺点,hotspot长见垃圾回收器的优劣.以及对象分配的策略

2022-06-03 15:47:53 168

原创 Jvm内存模型和对象的创建

Jvm内存模型,运行时数据区域,和对象的创建,对象结构

2022-05-16 23:35:42 223

原创 ES通过reindex修改mapping

elasticsearch修改mapping,reindex,重建索引

2022-05-06 14:49:03 629

原创 elasticsearch使用bool组合查询常用查询

elasticsearch 实现 a=1 and b =2 and (c =3 or d =4)GET rtc_video_record/_search{ "query": { "bool": { "filter": [ { "term": { "enterpriseId": 8000559 } }, { "term": {

2021-08-11 17:43:07 408

原创 es聚合后求count的总和

使用sum_bucket聚合{ "size": 0, "query": { "match_all": {} }, "aggregations": { "questionRecommendAgg": { "nested": { "path": "messages" }, "aggregations": { "messagesAgg": { "terms": { "field": "messages.cards", "size

2021-08-02 14:52:55 4492

原创 es聚合结果返回所有字段

使用topHit aggregation{ "size": 0, "query": { "match_all": {} }, "aggregations": { "questionAgg": { "terms": { "field": "faqQuestion", "size": 100 }, "aggregations": { "faqFeedbackAgg": { "

2021-08-02 14:51:29 2346

原创 redis实现分布式锁

定义锁对象package com.tinet.clink.core.lock;import java.io.Closeable;import java.util.UUID;/** * 通过Redis实现的分布式锁 * * @author Dengsx * @date 2018/05/11 */public class RedisLock implements Closeable { private String key; private final UUID uuid

2021-08-02 14:50:17 169

原创 springboot整合websocket两种方式

方式1:html5原生支持方式向spring容器中注入一个ServerEndpointExporterpackage com.tinet.websocket.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.server.standard

2021-08-02 14:49:11 2418 1

原创 多线程下载资源后分片上传至oss

使用多线程下载资源后,分片上传至阿里oss(主流对象存储都支持分片上传)。实现边下载边上传注意:下载的资源url必须支持部分资源返回。http状态码:206下载执行类DownloadTask该类实现callable接口,负责下载资源的某一部分使用CloseableHttpClient进行下载package com.tinet.clink.chat.web.service.rtc;import lombok.extern.slf4j.Slf4j;import org.apache.http

2021-08-02 14:45:36 596

原创 knife4接口文档整合springboot

knife4j底层整合了swagger,重写了ui,使得整体风格符合国人习惯

2021-03-18 19:50:38 1425

原创 Rocketmq入门

1. MQ介绍##1.1 为什么要用MQ消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。当物流系统回复后,

2021-03-05 17:01:08 145

原创 redis分布式锁和键事件通知

什么是分布式锁?分布式锁相对应的是线程锁、进程锁。线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象 头,显示锁Lock是共享某个变量(state)。进程锁:为了控制同一操作系统中多个进程访问某个共享资源,因为进程具有独立性,各个进程无法访问其他进程的资源,因此无法通过synchronized等线程锁实现进程锁。

2021-03-04 18:10:49 485 1

原创 java实现单向链表

java实现的链表,包含常用的方法,例如:add(); 添加add(Object o,int index); 指定位置添加remove(); 删除remvoe(int index);指定删除元素iterator();迭代器reverse(); 链表反转package link;import java.util.Iterator;import java.util.NoSuch...

2019-12-23 10:00:38 148

原创 java解决多线程并发安全问题的三种方式

java并发线程带来的安全问题场景模拟创建三个线程模拟三个售票窗口,来同时出售一百张票代码package com.shemuel;/** * @Author: dengshaoxiang * @Date: 2019/6/11 15:46 * @Description: */public class ThreadDemo { public static void m...

2019-06-11 16:43:29 1947

原创 centos7上安装完docker启动报错

centos7上安装完docker启动报错报错信息Redirecting to /bin/systemctl start docker.serviceJob for docker.service failed because the control process exited with error code. See “systemctl status docker.service” ...

2019-06-06 16:05:36 196

原创 23种设计模式之——建造者模式

建造者模式前言:一个被转型的后端程序员的自救。。。什么是建造者模式?模式动机:无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,**建造者模式可以将部件和其组装过程分开,一步一...

2019-03-18 22:56:42 687

原创 23种设计模式之——工厂设计模式

前言:记得大二时上过一门设计模式的课,当时听的那叫一个懵逼。。如今工作半年了,想把东西再捡起来,顺便记录一下。。工厂模式是平时接触的多一点的,就从工厂模式开始吧…什么是工厂设计模式?工厂设计模式,顾名思义,就是用来生产对象的,是一种创建型设计模式。在面向对象语言中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都...

2019-02-24 17:47:12 387

原创 Vue基础(完整版)

1.5 一些链接Vue官方文档Vue开源项目汇总Vue.js中文社区2. Vue起步2.1 安装Vue直接下载源码然后通过路径引入开发版本:https://vuejs.org/js/vue.js生产版本:https://vuejs.org/js/vue.min.jsCDN<script src="https://cdn.jsdelivr.net/npm/...

2019-01-24 14:41:33 2831 4

原创 Node.js基础入门

Node基础Node快速体验1. Node介绍1.1. Node.js是什么Node 是一个基于Chrome V8 引擎的JavaScript 运行环境。Node 不是一种独立的语言、Node不是 JavaScript 框架,(jQuery库,bootstrap)Node是一个除了浏览器之外的、可以让JavaScript 运行的环境特点:非阻塞IO模型/事件驱动/跨平台...

2019-01-21 14:54:21 671 1

原创 CAS实现SSO单点登录案例(整合SpringSecurity)

CAS介绍CAS是一个单点登录框架,由耶鲁大学的一个组织开发。CAS是一个开源项目,代码目前是在github上管理。单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。通俗理解为一个应用登录了,其他被授权的应用不用再登录。之前也写过一篇sso单点登录,用redis实现的,有兴趣可以翻翻cas下载地址:https:/...

2019-01-15 10:28:30 4356

原创 SpringSecurity入门

导语互联网已经成为了我们生活一部分,但是安全问题频发,身份认证变得更为复杂。如何让这一部分更安全?如何让这一部分的身份验证变得更简单?下面将介绍Spring全家桶中的安全框架SpringSecurity快速入门及使用,来解决身份验证问题.springsecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配...

2019-01-15 09:29:36 389

原创 Vue.js入门

指令使用’{{}}‘访问vue实例里data内的数据,’{{}}'称之为插值表达式,此方式访问数据会有数据闪烁的问题。v-text:作用与’{{}}'插值表达式类似,只是v-text会将html内容覆盖,v-text可以做类似的表达式计算,前提是i是数字,v-text=“i+1”v-cloak:解决能够解决插值表达式闪烁的问题v-html:可以把数据当作html内容解析,且也会覆盖绑定h...

2018-12-25 21:59:17 186

原创 SpringCloud入门(eureka集群和feign负载均衡)

什么是springcloud?这是spring官网对springcloud的介绍,大致意思就是:让分布式系统简单化。springcloud是建立在springboot之上的,也就是说他是需要依赖springboot的,因此学习springcloud首先就要了解springboot。在上一篇文章中有介绍到springboot。这张图说明了Spring Cloud是实施微服务的一系列套...

2018-11-11 18:02:20 772

原创 使用IDEA快速搭建Springboot项目(Springboot+JPA)(统一异常处理+HTTP请求日志处理)

1.使用IDEA新建一个项目,选择左侧的spring Initializr,选择好jdk版本之后点击下一步2.然后idea会自动创建一个maven项目。之后点击下一步3.选择项目所需要的依赖,如web,jpa,mysql等等 4.最后一步:给项目命名,选择项目地址,就创建完成了。项目的启动入口springboot项目创建完成会自动创建一个项目入口,直接运行就可以...

2018-10-19 17:32:35 504

原创 java语言实现登录验证码功能

先上效果。 生成验证码后端逻辑import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax....

2018-10-18 17:15:00 715

原创 SSO单点登录系统的实现

什么是SSO?维基百科的解释是: 个人理解:    我们刚学javaweb所写的程序都是一些比较小的用来练手学习的程序,所有的系统都在一个tomcat内完成,在一个tomcat内session可以共享,之后在企业项目都会被拆分成分布式的项目,也就是每个系统都是一个单独的项目,这种情况下session不能共享,那么如何保存用户的登录信息,于是我们就要用到SSO单点登录系统。我们平时用...

2018-10-04 15:21:18 1623

原创 Springmvc实现对jsonp的支持

跨域问题提到jsonp首先就要提一下跨域。因为只有遇到跨域问题才会使用jsonp。现在的项目一般都是分布式项目,既然是分布式项目肯定就会涉及到跨域请求资源的问题,那么什么是跨域。我们对资源的访问都是通过url,即域名+各种 参数。当域名,端口号,协议不同时,即为跨域。这种情况下就要使用jsonp来进行跨域请求。jsonp的原理是利用src能跨域请求资源的特性来实现的,细心的...

2018-10-01 23:32:28 4763 2

原创 对Restful的理解

什么是Restful?Restful是Roy Thomas Fielding这位大神在他的博士论文文中提出来。由于其超前的思想,在当时并未引起过多的注意。直到近几年来,大概08年以后开始慢慢流行起来。restful是一种设计思想。是Representational State Transfer的英文缩写:表现层状态转换或者表述型状态转换。这里省略了主语,是资源的表现型状态转换。资源...

2018-10-01 20:56:38 2648

原创 MySql基础入门到进阶

1. 基本操作登录:mysql -u root -p输入密码,登陆数据库创建数据库 study:CREATE DATABASE study CHARACTER SET UTF8;删除数据库:DROP DATABASE 数据库名;查看所有的数据库:SHOW DATABASES;使用数据库 study:USE study;创建数据表 news:...

2018-09-12 10:53:25 654

原创 springMVC实现文件下载功能(解决火狐浏览器文件名乱码问题)

项目中经常遇到文件上传下载的功能,springMVC里也提供了文件上传下载的相关功能,下面直接上代码,使用springmvc的ResponseEntity实现日志文件下载。下载的流程:1.获取文件源(我这里是String类型的文本日志)2.将源文件转化为对应的输入流3.将输入流读取到缓冲区4.设置浏览器请求头信息,请求状态5.把流以ResponseEntity的形式返回给客...

2018-08-23 16:32:54 3303

原创 springMVC配置通用跳转页面、Mybaits配置通用Mapper以及配置分页助手

web项目中经常用到页面跳转的功能,如果给每个页面跳转都单独写一个方法,显然太麻烦,因此我们经常用到的是通用页面跳转。@requestMapping("page");@Controllerpublic class PageController{ @requestMapping(value="{pageName}",method=RequestMthod.GET); pub...

2018-08-22 22:04:13 612

原创 使用eclipse搭建SSM框架整合Maven(超详细!)

工作以来,一直在写前端,很久没碰后端了,今天突然发现,后端的东西得慢慢捡起来了,毕竟以后还是得靠后端吃饭的。要写后端,首先得有环境吧,那就从搭框架开始吧,今天先搭一个SSM框架,方便以后需要时直接用。下次有时间再写一个搭建SSH的。文章大部分内容参考传智播客教学视频,本文只列出搭建流程,一些固定代码还是能copy就copy吧^_^1.使用eclipse新建一个Maven工程2.填写...

2018-08-21 21:24:46 7889 7

原创 Angular JS实现表单提交(json格式数据)

Angular的特点即为数据绑定,利用angular这一特点,可以减少传统表单提交获取表单数据繁琐的dom操作。方法:给form里的每个表单控件绑定angular对象:使用ng-model <form name="envForm" novalidate> <div > <div clas...

2018-08-21 17:55:27 1956

原创 Jquery实现淡入淡出自动消失的提示框,Jquery+css实现加载中提示框

浏览器原生弹出框太丑,且不能自动消失,可以使用Jquery自定义一个消失提示框。样式写法参考了bootstrap样式的编写方式。静态效果如下:首先在html页面body里任意位置写一个div<div class="tips"></div><!-- 提示框 --> 在css样式里添加样式:.tips{ display: none;...

2018-08-21 17:36:29 2830

原创 miniui-datagrid之增删改

需求1:表格内添加新记录、指定位置显示空白行。实现方法:调用miniui官方提供的方法:addRow(row,index);参数row:要新增的行数据,可以是json对象,可以是表格的行对象,若要新增空行数据,则row可以定义为 var row={};参数index:给出要新增行的位置索引。具体实现代码:需求2:选择某条记录,在其下方复制新的一行记录,并可以去除某一主键值。实现方法:取得选中行的行...

2018-04-25 10:58:29 9092

原创 SpringBoot整合Redis集群

 1.在pom.xml中加入redis的依赖2.在application.properties加入整合redis的配置。(spring.redis.cluster.nodes=....)3.新建一个RedisConfig.java文件,在此类的上面加入@Configuration注解,则此类相当于applicationContext.xml配置文件。 4.在RedisConfig类...

2018-03-03 23:28:26 667

原创 eclipse搭建SpringBoot项目

    首先使用eclipse下载SpringBoot插件,方法:打开eclipse,Help->Install new software在work with 里选择:http://dist.springsource.com/release/TOOLS/update/e4.X/  其中X为当前eclipse版本号。注意:如果用Help->Eclipse MarketPl...

2018-03-03 18:23:16 1616

转载 java中常用的数据结构

java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。其主要的关系(继承关系)有:  (----详细参见java api文档!)(图片来自百度)1、Collections    API----This class consists exclusively of static meth...

2018-02-26 21:03:06 172

空空如也

空空如也

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

TA关注的人

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