自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (11)
  • 收藏
  • 关注

原创 Layui 动态表格单条循环滚动的实现

【代码】Layui 动态表格单条循环滚动的实现。

2024-03-08 16:11:34 234

原创 layui之layer弹出层的icon数字及效果展示

icon如果在信息提示弹出层值(type为0)可以传入。

2024-03-07 16:33:42 289

原创 双色球随机开奖号码

int i = 0;if (!i++;if (!i++;

2024-02-18 12:05:09 347 1

原创 SQL group by 遇到的坑

背景介绍:有两张表:busi_customer用于保存客户信息;busi_order用于保存客户的订单信息;建表语句如下:CREATE TABLE "public"."busi_customer" ( "id" int8 NOT NULL DEFAULT nextval('busi_customer_id_seq'::regclass), "cust_code" varchar(255) COLLATE "pg_catalog"."default", "cust_name" var

2022-01-25 10:31:28 961

原创 java基础知识回顾

一、面向对象的三大特性1、封装将方法的内部实现对外关闭;2、继承3、多态多态是指同一个方法的调用,由于对象的不同可能会有不同的行为。比如:继承、实现、重写!二、JDK\JRE\JVM三者的区别和联系三、==与equals的区别1、==基本数据类型:byte,short,char,int,long,float,double,boolean。他们之间的比较,应用双等号(==),比较的是他们的值引用数据类型:比较的是他们在内存中的存放地址(确切的说,是堆内存地址).

2021-07-26 10:46:40 148

原创 基本数据类型、包装数据类型、BigDecimal使用注意事项

public static void main(String[] args) { /** * 对于 Integer在-128 至 127 之间的赋值,Integer对象是在 IntegerCache.cache 产生, 会复用已有对象,这个区间内的 Integer 值可以直接使用==进行判断,但是这个区间之外的所有数据,都 会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用 equals 方法进行判断。 */ Integer v1 = 134; Integer ..

2021-07-07 10:28:23 260

原创 java编码常见踩坑

1、pojo类中的任何布尔类型的变量,都不要加is前辍,否则部分框架解析会引起序列化错误。在数据库建表SQL中,布尔类型变量采用is_xxx的命名方式,所以,需要在<resultMap>设置从is_xxx到xxx的映射关系。2、Object的equals方法容易抛出空指针异常,应使用常量或确定有值的对象来调用equals。推荐使用java.util.Objects#equals(JDK7以后)。3、任何货币金额/时间单位,均以最小货币单位/时间单位,且整形类型来进行存储。4、浮点数之

2021-04-20 10:08:12 200

原创 自定义HashMap(玩一玩)

一、自定义Map接口public interface Map<K,V> { V set(K k,V v); V get(K k); int size(); void remove(K k);}二、自定义HashMap实现类package com.summer.customer;public class HashMap<K, V> implements Map<K, V> { private static final int

2021-04-08 10:09:02 139

原创 java设计模式(二):创建型设计模式之单例模式

一、创建型模式的特点和分类创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的工厂来完成。就像我们去商场购买商品时,不需要知道商品是怎么生产出来一样,因为它们由专门的厂商生产。创建型模式分为以下几种。单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。 原型(Prototype)模式:将一个对象作为原型,通过对其进行复

2020-12-28 14:15:31 108

原创 java设计模式(一):概述

一、什么是设计模式设计模式(designpattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(ErichGamma)等人在 1990年代从建筑设计领域引入到计算机科学的。二、为什么要用设计模式可读性 (即:编程规范性, 便于其他程序员的阅读、理解和维护); 代码重用性 (即:相同功能的代码,不用多次编写); 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)...

2020-12-25 09:55:35 76

原创 RabbitMQ进阶教程

RabbitMQ入门的相关课程请查看我的上一个博客https://blog.csdn.net/qq_34721505/article/details/109992289一、Spring boot 集成RabbitMQ二、RabbitMQ相关参数的说明三、RabbitMQ之死信队列四、RabbitMQ集群搭建五、RabbitMQ常见问题5.1如果消费者连接中断,这期间我们应该怎么办?如果消息是持久化的,消费者服务重启后可以继续接收未消费的消息;5.2如何...

2020-11-25 19:31:35 184

原创 RabbitMQ快速入门

一、RabbitMQ简介RabbitMQ官网:https://www.rabbitmq.com/With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. FromT-MobiletoRuntastic, RabbitMQ is used worldwide at small startups and large enterprises.RabbitMQ拥...

2020-11-23 18:27:31 698

原创 ubuntu16.04(阿里云ESC)安装postgres

一、postgres简介PostgreSQL是一个开源的、免费的、对象关系型数据库管理系统(ORDBMS),由PostgreSQL全球开发集团(全球志愿者团队)开发, 它不受任何公司或其他私人实体控制。PostgreSQL的官方网站是:https://www.postgresql.org/postgres中文手册:http://www.postgres.cn/docs/10/二、postgres下载登录https://www.postgresql.org/ftp/source/v10..

2020-11-04 14:49:27 303

原创 ubuntu16.04 OS搭建FTP服务器

FTP: File Transfer Protocol文件传输协议,两台计算机传送文件的协议,客户端可以通过FTP命令从服务器下载,上传文件,修改目录。可以通过命令vsftpd -version查看是否安装了vsftpd。FTP支持以下两种工作模式:主动模式:客户端向FTP服务器发送端口信息,由服务器主动连接该端口。 被动模式:FTP服务器开启并发送端口信息给客户端,由客户端连接该端口,服务器被动接受连接。说明大多数FTP客户端都在局域网中,没有独立的公网IP地址,且有防火墙阻拦,主动模式下F.

2020-10-31 09:21:07 387 1

原创 redis从入门到精通

一、redis简介redis官网地址:https://redis.io/1、redis的优势Reids是REmote DIctionary Server远程数据服务的缩写。是一款内存高速缓存数据库。 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的String类型的数据,同时还提供list,set,sorted set,hash等数

2020-08-06 21:24:09 249

原创 开放API接口安全(2)---HTTP Headers消息头详解

一、关于HTTP消息头HTTP消息头是在客户端请求(Request)或服务器响应(Response)时传递的,位于请求或响应的第一行,HTTP消息体(请求或响应的内容)是其后传输。HTTP消息头以明文的字符串格式传送,是以冒号分隔的键/值对,如:Accept-Charset: utf-8,每一个消息头最后以回车符(CR)和换行符(LF)结尾。HTTP消息头结束后,会用一个空白的字段来标识,这样就会出现两个连续的CR-LF。HTTP消息头支持自定义, 自定义的专用消息头一般会添加'X-'前缀。二、

2020-07-29 15:23:57 1618

原创 开放API接口安全(1)---常用加密算法

一、对称加密在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。美国国家标准局倡导的AES即将作为新标准取代DES。常见的对称加密算法:DES算法,3DES算法,TDEA算法,Blowfish算法,RC

2020-07-29 15:12:49 1271 1

原创 postgres重命名表名后修改主键自增序列

----删除前先解除 id 对该序列的依赖ALTER TABLE public.biz_device ALTER COLUMN id SET DEFAULT null;DROP SEQUENCE IF EXISTS device_id_seq;SELECT MAX(id) FROM public.biz_device;---- id_max 即 id 目前的最大值,可写为1,可通过 “SELECT MAX(id) FROM tablename” 得到CREATE SEQUENCE biz_dev.

2020-06-28 21:18:06 776

原创 feign.FeignException: status 404 reading XXXClient#XXMethod(String)

在一次feign调用中,有一个需求,根据订单编号查询订单,接口如下:@FeignClient(name = "order", path = "/")public interface OrderFeignService { @GetMapping(value = "/order/{orderNumber}") BizOrderModel checkBizOrderExist(@PathVariable("orderNumber") String orderNumber);}实现如下:

2020-06-22 12:23:05 1472

原创 java计算字符串的字节长度,以及字符集转换

String sgbk = "aB 1234567"; System.out.println(sgbk.length()); // 10 System.out.println(sgbk.getBytes("GBK").length); // 10 System.out.println(sgbk.getBytes("UTF-8").length); // 10 String sgbk = "中国移动通信 a1"; // 中文之后有个空格 System.out.println(s...

2020-06-02 14:37:40 3221 1

原创 window环境启动kafka报错:此时不应有../config/log4j.properties

window7下启动kafka报错如下:背景:1、在官网下载kafka_2.10-0.10.2.0.tgz;2、将第一步的压缩包解压到D:\Program Files (x86)目录下;3、启动zookeeper;4、进入到D:\Program Files (x86)\kafka_2.10-0.10.2.0\kafka_2.10-0.10.2.0目录,执行.\bin\win...

2020-04-24 22:34:20 1664 1

原创 Enum枚举类的优雅用法

一、声明一个通用接口/** * 枚举类通用接口 * @author Administrator * * @param <T> */public interface CommonEnum<T> { Object getCode();}二、声明枚举类public enum EMessageCode implements CommonEnum...

2020-02-06 10:58:17 508

原创 常用并发数据结构:CopyOnWriteArrayList,CopyOnWriteArraySet,ConcurrentHashMap

并发数据结构:添加或删除阻塞式集合:当集合为空或满时,等待; 非阻塞式集合:当集合为空或满时,不等待,返回null或抛出异常!ListArrayList:线程不安全; Vector:线程安全,适合写多读少,效率低(几乎所有的读写操作都加了synchronized); Collections.synchronizedList(...):线程安全,使用synchronized,效率低;...

2020-01-21 11:11:06 217

原创 FTPClient踩过的坑

一、ftpClient.enterLocalPassiveMode() public static final int PASSIVE_LOCAL_DATA_CONNECTION_MODE = 2;官网关于该常量的说明:A constant indicating the FTP session is expecting all transfers to occur between...

2019-11-06 16:46:59 7376 1

转载 postgres之窗口函数

本博客内容来自于官方文档:http://www.postgres.cn/docs/10/functions-window.html#FUNCTIONS-WINDOW-TABLE一、窗口函数介绍一个窗口函数在一系列与当前行有某种关联的表行上执行一种计算。这与一个聚集函数所完成的计算有可比之处。但是窗口函数并不会使多行被聚集成一个单独的输出行,这与通常的非窗口聚集函数不同。取而代之,行保留它们...

2019-09-30 10:22:23 530

原创 PostGres常用的日期和时间函数

详细使用请参考官方文档:http://www.postgres.cn/docs/10/functions-datetime.html一、需求有一张工单表biz_ticket,建表SQL如下:CREATE TABLE "public"."biz_ticket" ("id" int4 DEFAULT nextval('"public".biz_ticket_id_seq'::regcl...

2019-09-29 10:35:17 981

原创 postgres使用with计算占比,同比和环比

1、postgres中with用法的官方文档地址http://www.postgres.cn/docs/10/queries-with.html2、有一张表biz_ticket,建表语句如下CREATE TABLE "public"."biz_ticket" ("id" int4 DEFAULT nextval('"crt".biz_ticket_id_seq'::regclass...

2019-09-26 11:24:00 4564

原创 springboot JPA的JPQL中判断查询条件是否为空

springboot的版本号为:2.1.4.RELEASEpostgres版本号为:PostgreSQL 10.5, compiled by Visual C++ build 1800, 64-bit建表SQL如下:CREATE TABLE "crt"."employee" ("id" int8 DEFAULT nextval('"crt".employee_id_seq'::re...

2019-09-20 17:44:25 6946 3

原创 java加减乘除计算踩过的坑以及BigDecimal的用法

直接上代码:一、普通数值类型的加减乘除:System.out.println(1.1+2.2); // 返回3.3000000000000003System.out.println(2.0-1.1); // 返回:0.8999999999999999System.out.println(2.1234*1.16); // 返回:2.4631440000000002System.out...

2019-08-30 18:27:46 343

原创 Executor线程池

一、为什么要用线程池?1)、系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互。在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短的线程时,更应该考虑使用线程池;使用线程池可以降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2)、使用线程池可有有效地控制系统中并发线程的数量;当系统中包含大量并发线程时,会导致系统性能剧烈下降,甚至...

2019-08-07 21:47:59 94

原创 JDK1.8新特性---lambda表达式

一、简介函数式接口(Functional Interfaces):如果一个接口定义个唯一一个抽象方法,那么这个接口就成为函数式接口。同时,引入了一个新的注解:@FunctionalInterface。可以把他它放在一个接口前,表示这个接口是一个函数式接口。这个注解是非必须的,只要接口只包含一个方法的接口,虚拟机会自动判断,不过最好在接口上使用注解 @FunctionalInterface 进行...

2019-07-18 18:18:07 280

原创 java守护线程

Java分为两种线程:用户线程和守护线程;所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:...

2019-04-02 09:50:17 2223

原创 synchronized(this)引发的线程不安全问题

业务场景说明:模拟多个线程同时抢购100张火车票;代码展示:/** * 对synchronized(this)的一些理解: * 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 * 二、然而,当一个线程访问object的一个sy...

2019-03-28 10:56:39 1008

原创 rabbitmq之死信队列的应用

如果此教程对你有帮助,有钱的捧个钱场,没钱的请捧个人场!1、背景说明: 开发环境:sprint boot,rabbitmq,mysql,jdk1.8... 在预生产环境中,消费者消费消息时出现了异常,后台不断写日志,一天时间日志文件超过了30G,导致服务器因磁盘空间不足而宕机! 2、原因分析: 1)rabbitmq的默认配置spring.rabbitmq.l...

2019-03-27 17:37:27 1351

原创 多线程实例之一:模拟抢票系统

一、多线程未共享同一个实例且run()方法未对写操作加锁public class MutilThreadDemo01 { public static void main(String[] args) {// TrainTicket tt = new TrainTicket(); new Thread(new TrainTicket()).start(); new Thread...

2019-03-26 09:33:58 2592 3

原创 FdfsServerException: 错误码:22,错误信息:无效的参数

springboot整合fastDfs文件下载报错:FdfsServerException: 错误码:22,错误信息:无效的参数!不知道是什么原因?一、POM.XML引入的依赖<dependency> <groupId>com.github.tobato</groupId> <artifactId&g...

2019-02-11 15:22:38 14106

原创 springEL和资源调用

本文使用spring 表达式语言实现资源的注入;spring 主要在注解@Value的参数中使用表达式;项目结构如图所示:1)test.properties文件中的内容如下:book.name = san guo yan yibook.author = luo guan zhong2)test.txt中的内容随便写3)FunctionService中的代码如下:i...

2018-11-21 15:49:18 467

原创 Eclipse中导入Maven工程缺少Maven Dependencies 的解决办法

背景介绍:spring-boot学习项目异常信息:pom.xml报错如下:解决方案:修改setting.xml文件,注释掉阿里云的仓库地址:然后:项目右键---&gt;maven---&gt;update project,项目可以正常启动了;...

2018-09-22 09:51:18 2649

原创 springcloud踩过的坑(三):查看微服务状态(或健康状态)失败

背景介绍:查看 springcloud源码,在InstanceInfo中,我们可以看到一些URL的配置信息,比如:homePageUrl,statusPageUrl,healthCheckUrl,它们分别代表应用的主页URL、状态页URL、健康检查URL。其中,statusPageUrl和healthPageUrl在spring cloud中默认使用了: spring-boot-actuator模...

2018-09-01 23:08:07 11328 1

原创 springcloud踩过的坑(二):已关闭的服务无法从注册中心剔除

背景介绍:eureka默认开启了自我保护机制,导致实际上已经停止服务的实例无法从注册中心剔除!解决方案:在注册中心(eureka-server端,而不是eureka-client端)添加如下配置:# 以下配置仅在开发环境中使用# 关闭注册中心的自我保护机制,防止已关闭的实例无法从注册中心剔除eureka.server.enable-self-preservation=false...

2018-09-01 18:21:29 4632 1

分布式调度框架quartz从入门到精通

本文档包含以下章节:1、quartz简介;2、quartz快速入门;3、quartz核心API详解;4、quartz.properties配置详解;5、quartz持久化;6、quartz集群部署;7、springboot整合quartz。8、常见分布式调度框架的比较;

2020-12-08

FTP服务器搭建.docx

本文档包含ubuntu16.04\centOS6\window7三种环境下FTP的服务器搭建,以及在搭建过程中遇到的问题的多种解决方案,以及springboot整合FTP进行文件上传、下载和删除!

2019-10-11

解析excel工具类

通用的解析excel的工具类,适合xls和xlsx两种类型。同时针对特殊数据类型和空行做了处理

2019-03-14

sonar代码检测

sonar(SonarQube)是一个开源平台,用于管理源代码的质量,它不仅是一个质量数据报告工具,更是代码质量管理平台。它通过插件的形式来管理代码,它支持的语言包括:Java,PHP,C#,C等

2019-02-01

docker学习笔记

从零入门学习docker,本笔记记录了本人学习docker的心路历程

2019-01-31

kafka学习笔记

该笔记从零开始学习kafka,笔记内容包括:kafka的简介、下载、安装、配置、运行,以及springboot整合kafka实例

2019-01-28

redis笔计(第二版)

史上最全的redis笔计,从零开始学习,包括redis简介、安装、数据类型、持久化、常用命令、主从模式、集群模式、哨兵模式、spring\springboot整合redis等相关内容!(对前一个版本进行完善)

2018-12-17

史上最全redis学习笔计

史上最全的redis笔计,从零开始学习,包括redis简介、安装、数据类型、持久化、常用命令、主从模式、集群模式、哨兵模式、spring\springboot整合redis等相关内容!

2018-12-13

使用sigar监控web服务器软硬件信息

Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API。 Sigar API 提供一个方便的接口来收集系统信息,如: ◆系统内存,页面交换,cpu,平均负载,运行时间,登录信息 ◆每个进程占用的内存,cpu,帐号信息,状态,参数,环境,打开的文件 ◆文件系统探测和度量 ◆网络接口探测,配置信息和度量 ◆网络路由和连接表

2017-12-20

Java嵌入式数据库H2学习大全

本文档中包含最新、最全的H2数据使用指南,堪称H2数据库官方使用手册。例案从入门级到进阶级,应有尽有,详细实用

2017-09-20

was8.5.5配置https步骤.docx

本文档图文并茂,生动详细地介绍了was8.5.5配置https协议的步骤,并经多人测试和检验。

2017-07-18

空空如也

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

TA关注的人

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