自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 七、springboot集成kafka(简单使用)

发送成功 result = SendResult [producerRecord=ProducerRecord(topic=test, partition=null, headers=RecordHeaders(headers = [], isReadOnly = true), key=null, value={你好}, timestamp=null), recordMetadata=test-0@5]System.out.println("发送结果:"+future.get().toString());

2023-12-27 17:17:45 944

原创 windows伪集群部署rocketMq-5.1.0

window本地rocketmq伪集群部署

2023-12-08 09:40:28 151

原创 rocketmq的安装及使用

System.out.println("消费响应:msgId : " + messageExt.getMsgId() + ", msgBody : " + messageBody);2、也可以直接下载:https://www.apache.org/dyn/closer.cgi?// 订阅MyTopic的所有消息defaultMQPushConsumer.subscribe(topic, "*");1、去官网下载: https://rocketmq.apache.org/docs/quick-start/

2023-03-14 16:32:53 344

原创 出现org.apache.ibatis.builder.BuilderException

mybatis配置异常

2022-11-07 11:15:50 1522

原创 查询多个字段同时重复2次以上的记录的sql的次数

sql查询

2022-08-16 22:51:15 15488

转载 Linux内核优化

Linux在系统运行时修改内核参数(/proc/sys与/etc/sysctl.conf),而不需要重新引导系统,这个功能是通过/proc虚拟文件系统实现的。在/proc/sys目录下存放着大多数的内核参数,并且设计成可以在系统运行的同时进行更改, 可以通过更改/proc/sys中内核参数对应的文件达到修改内核参数的目的(修改过后,保存配置文件就马上自动生效),不过重新启动机器后之前修改的参数值会失效,所以只能是一种临时参数变更方案。(适合调试内核参数优化值的时候使用,如果设置值有问题,重启服务器还原原

2022-03-25 11:08:54 1938

原创 线程池TreadPoolExecutor七个参数详解

java多线程开发时,当牵扯到大数据量批量处理的时候,常常用到线程池技术,这篇文章是对创建java线程池时的七个参数的详细解释。从源码中可以看出,线程池的构造函数有7个参数,分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler。下面会对这7个参数一一解释。1.corePoolSize 线程池核心线程数线程池中会维护一个最小的线程数量,即使这些线程处理空闲状态,他们也不会被销毁,除.

2022-01-06 18:07:00 276

原创 线程的创建方式以及优缺点

java有以下四种创建多线程的方式1:继承Thread类创建线程2:实现Runnable接口创建线程3:使用Callable和FutureTask创建线程4:使用线程池,例如用Executor框架创建线程DEMO代码package thread;import java.util.concurrent.*;public class ThreadTest { public static void main(String[] args) throws ExecutionExcep..

2022-01-06 15:57:02 170

原创 线程的状态

Java 线程在运行的生命周期中的指定时刻只可能处于下面6种不同状态的其中一个状态(图源《Java 并发编程艺术》4.1.4节)。线程在生命周期中并不是固定处于某一个状态而是随着代码的执行在不同状态之间切换。Java 线程状态变迁如下图所示(图源《Java并发编程艺术》4.1.4节):由上图可以看出:线程创建之后它将处于NEW(新建)状态,调用start()方法后开始运行,线程这时候处于READY(可运行)状态。可运行状态的线程获得了 cpu 时间片(timeslice)后就处于...

2022-01-06 15:42:54 926

原创 线程 安全

什么是线程安全?《Java并发编程实践》中对线程安全的定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程安全的。《深入理解Java虚拟机》的作者也认可这个观点。因为线程安全的主体是什么?是方法还是代码块?这里给出的主体是对象,这是非常恰当的,因为Java是纯面向对象的,Java中一切为对象。因此通过对象定义线程安全是恰当的。但是,这里并不是说

2022-01-06 15:38:30 72

原创 Redis穿透/击穿/雪崩/预热以及性能优化

一、Redis穿透/击穿/雪崩/预热1.1缓存穿透缓存穿透是指查询一个根本不存在的数据, redis和数据库都没有。通常出于容错的考虑, 如果从数据库查不到数据则不写入redis,大批量请求时就造成数据库承受巨大压力甚至被击穿。缓存穿透将导致不存在的数据每次请求都要到数据库去查询, 失去了缓存保护后端数据库的意义。造成缓存穿透的基本原因有两个:自身业务代码或者数据出现问题。 一些恶意攻击、 爬虫等造成大量空命中。缓存穿透问题解决方案:方案一、缓存空对象当从redis里查询为n

2022-01-06 14:43:26 258

原创 Redis为什么性能高,速度快?

Redis为什么速度很快1.数据存放在内存中-------内存的读写速度是磁盘(数据库)的一百倍左右。2.用C语言实现------C语言更底层, 执行速度相对会更快。3.单线程架构------预防了多线程可能产生的竞争问题。4.作者对代码的精打细磨------曾经有人评价Redis是少有的集性能和优雅于一身的开源代码。Redis单线程的优缺点单进程单线程优势没有多线程竞争锁的性能消耗。 没有多线程导致的切换而消耗CPU。单进程单线程弊端CPU不是Redis的瓶颈..

2022-01-06 10:42:51 1600

原创 IDEA编译项目报java: 类找不到符号

解决方法如下:零、直接install解决报出的warning和error问题,一般是冲突引起的,将出现问题的对应代码给添加进Excludes一、idea找不到符号,可能是因为编码问题,所以,在File-》settings-》Editor-》File Encodings-找到编码设置,更改为项目的编码要求,一般都为utf-8,或者可以试一下GBK其他编码编译一下,反正我是几种方式都试了。最终编译结果比较之下,发现公司的项目编码格式是以UTF-8为基准的。二、重新配置一下IDEA的JDK

2021-11-23 09:32:15 13769

原创 六、Springboot整合Dubbo+zookeeper(dubbo可视化)

1. 安装zookeeper (windows版)下载zookeeper 网址 Index of /dist/zookeeper/zookeeper-3.4.13解压后进入conf,将zoo_sample.cfg复制一份改名为zoo.cfg注意配置中的参数:dataDir=D:\\Setup\\zookeeper\\datadataDirLog=D:\\Setup\\zookeeper\\logclientPort=2181(zookeeper的端口号)返回bin目录,.

2021-11-14 14:50:57 1518

原创 五.springboot集成dubbo(无admin)

先搭建两个微服务工程provider/consumer 1.pom.xml<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.4.RELEASE</version></parent><dependen..

2021-11-13 13:27:08 1237

原创 四、springboot集成schedule

在项目开发过程中,我们经常需要执行具有周期性的任务。通过定时任务可以很好的帮助我们实现。常用的几种定时任务框架对比如下从以上表格可以看出,Spring Schedule框架功能完善,简单易用。对于中小型项目需求,Spring Schedule是完全可以胜任的。springboot集成schedule1 添加maven依赖包由于Spring Schedule已经在spring-boot-starter基础模块中了,所有不需要增加额外的依赖。 <dependency>

2021-08-15 21:27:28 236

原创 三、Springboot集成Swagger

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。作用:接口的文档在线自动生成。 功能测试。1.配置pom.xml <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springf

2021-08-15 20:56:04 96

原创 二、springboot集成mybatis和mysql

1.引入mybatis和mysql的依赖<!-- Mybatis --><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version></dependency><!

2021-08-15 20:11:33 376

原创 springboot集成mybatis和mysql时出现的异常

异常:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.整合spring boot项目过程中出现的,用了最新的mysql 连接驱动application-dev.propertiesspring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=.

2021-08-15 19:15:39 529

原创 一、springboot项目搭建

新建Springboot项目0.file->new->project-spring Initializr-点击next1.创建springboot项目,将两个值改成自己的配置,Group:com.example ,Artifact:demo,jar 8其他可以不用动,点击next2.什么都不用选,点击next3.项目名称不用改,点击Finish4.创建好项目之后结构如下5.新建一个接口包6.创建一个测试的类7.测试类代码如下...

2021-08-15 17:37:04 93

原创 ibatis+mysql批量查询

最近写到的功能,牵扯到批量查询,使用的一般的分页查询,步骤如下:Integer pageSize = 3000;1.先查询记录数<select id="count" resultClass="long"> select count(*) from table_name where batch_no=#{batch_no}</select>2.获取记录数并使用在业务层做分页Integer pageNum = count/p...

2020-08-30 22:57:07 313

转载 notepad++的NppFTP插件远程连接linux操作系统

方式一1、首先要有NppFTP插件,如果没有可以去下面链接或者其他网站下载:  https://sourceforge.net/projects/nppftp/files/latest/download  主要目的就是要得到:NppFTP.dll 文件;2、将NppFTP.dll文件放至Notepad++的安装路径下的plugins文件夹下;  3、重启notepad++,菜单栏应该会有如下图标:    再点击齿轮状的图标,选择“profile-setting”,如下图就..

2020-08-30 22:26:34 225

原创 mybatis对oracle的批量增删改查

mybatis映射中可以通过<foreach></foreach>标签来实现Oracle的批量插入、更新和删除 <foreach>标签中主要有以下属性: collection、item、index、open、separate、close collection:该属性必须指定,指代Dao层接口传递的数据类型,主要有三种: ①:list集合类型;collection=”list“ ②:array数组类型;collecti...

2020-08-20 00:04:35 450 1

原创 ibatis对oracle数据库的批量增删改查

传参都是list集合和或者list数组1.批量更新方式一<update id="Update" parameterClass="java.util.List">begin<iterate conjunction=";">update SYS_TABLE setCategory=#list[].Category#,Name =#list[].Name#,Co...

2020-08-19 23:48:06 383

转载 反射的概念

一、概念Java让我们在运行时识别对象和类的信息,主要有两种方式:一种是传统的RTTI(Run-Time Type Identification),它假定我们在编译时已经知道了所有的类型信息;另一种是反射机制,它允许我们在运行时发现和使用类的信息。使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)。Java反射机制是在运行状态中,对于任意一...

2020-04-17 21:33:34 653

原创 邮件收发异常解析

javamail javax.mail.MessagingException: Could not connect to SMTP host:localhost port:25原因:1,请确认邮件服务器是否打开MailServer2,请确认邮件收发端口是110和253,请确认邮件端口(port 25)与杀毒软件McAfee是否冲突,如果是,关掉McAfee就可以发送成功拉4,请确认...

2019-07-03 21:17:10 645

原创 字符编码工具类

package com.gootrip.util;import java.io.UnsupportedEncodingException;/*** 字符编码工具类* @author:*/public class CharTools { /** * 转换编码 ISO-8859-1到GB2312 * @param text * @return */ ...

2019-03-05 07:57:56 138

原创 CookieUtil工具类

package com.itheima.utils;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;public class CookieUtil { /** * 创建和配置cookie * @param name * @param value...

2019-03-04 20:33:28 120

原创 处理json数据格式的工具类

package com.itheima.utils;import java.util.List;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.JsonConfig;import net.sf.json.util.CycleDetec...

2019-03-04 20:06:19 148

原创 Math.round(),Math.ceil(),Math.floor()的区别

1.Math.round():根据“round”的字面意思“附近、周围”,可以猜测该函数是求一个附近的整数,看下面几个例子就明白。小数点后第一位&lt;5正数:Math.round(11.46)=11负数:Math.round(-11.46)=-11 小数点后第一位&gt;5正数:Math.round(11.68)=12负数:Math.round(-11.68)=-12 小数点后第一位=5正数:M...

2018-06-22 00:30:47 127

空空如也

空空如也

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

TA关注的人

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