自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秒怂_z

书本不会抛弃任何人,只要你足够热爱它

  • 博客(75)
  • 资源 (2)
  • 收藏
  • 关注

原创 macos 修改mysqlworkbench快捷键

macos 修改mysqlworkbench快捷键code /Applications/MySQLWorkbench.app/Contents/Resources/data/main_menu.xml

2022-03-11 12:12:52 1285

原创 验证RocketMQ默认重试

测试验证RocketMq的默认重试机制

2022-03-10 10:58:40 2115

原创 maven

maven一、为什么使用Maven这样的构建工具【why】二、maven是什么【what】三、安装maven四、第一个maven五、仓库和坐标六、依赖七、生命周期八、Eclipse中使用maven九、maven工程的依赖高级特性十、build配置一、为什么使用Maven这样的构建工具【why】① 一个项目就是一个工程如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程② 项目中使用jar

2022-01-26 13:46:23 237

原创 电商平台站点数据常用字段

电商平台站点数据常用字段PV:page view页面浏览量,用户每1次对网站中的每个网页访问均被记录1次。用户对同一页面的多次访问,访问量累计。UV:unique visitor,是指通过互联网访问、浏览这个网页的自然人。在同一天内,uv只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。跳失率:是指顾客通过相应入口进入,只访问了一个页面就离开的访问次数占该页面总访问次数的比例DPV:指到达产页面的访问用户浏览点击页面中所展示商家旺铺或商家产品数量的次数,在1天内(00:0

2021-08-13 10:18:38 1371

原创 接口远程调用超时问题

接口远程调用超时问题(单机事务调用单机事物的远程接口,会死锁,并且阿里云监控不到。)排查步骤:1.debug调试,获取远程接口调用的入参。使用入参去调用远程接口。结论:无法复现bug2 .查看线上日志,异常信息是feign超时。推测是feign单节点不支持容错,节点心跳监测没通过,直接被踢掉,没有其他可用服务器,就一直等待。解决办法:增加负载,启用多节点。(问题没有解决)3.debug直连线上,关闭其他服务器。直接抓取线上执行过程,断点一步一步执行。结论:无法复现bug4.增加错误日志内容,恢复

2021-07-02 11:21:34 1909

原创 Maps.newHashMapWithExpectedSize()

Maps.newHashMapWithExpectedSize()Map<String, Object> diffQuota = Maps.newHashMapWithExpectedSize(3);Maps.newHashMapWithExpectedSize(3),初始化一个大小合适的map集合,避免在向集合添加元素的时候,因为大小不合适而resize,每次resize都得执行以下步骤:再次去分配空间,再次去计算所有元素的hashcode,再次根据hashcode计算数组的分配位置,然

2021-06-18 13:27:36 4131

原创 mysql设置表的自增字段下次自增值

mysql设置表的自增字段下次自增值alter table 表名AUTO_INCREMENT 1;

2020-12-30 15:21:28 598

原创 mvn命令行操作

mvn命令行maven 清理,编译,显示报错信息mvn clean install -e -U

2020-12-05 23:39:44 493

原创 Java 关闭占用端口的程序

Java 关闭占用端口的程序找到进程的PIDlsof -i:端口号杀死PID对应的进程kill -9 进程PID

2020-12-04 14:50:15 776

原创 RabbitMQ消息队列

RabbitMQ消息队列一、为什么需要MQ1. 高并发业务场景下容易出现的问题下图中支付宝到余额宝的并发量特别高,如果这些并发都直接交给db,db是很容易出现瓶颈。2.有哪些架构层面的解决方案缓存集群的引入:redis消息中间件的引入:MQ(如RabbitMQ)3.什么是RabbitMQ?RabbitMQ是基于AMQP(高级消息协议,二进制,语言无关,而JMS无法做到)协议来实现的。AMQP的主要特征是面向消息、队列、路由、可靠、安全。RabbitMQ特性:异步:不用一直等待消息

2020-09-29 11:14:31 555

原创 java中的volatile关键字

java中的volatile关键字volatile修饰的变量具有两个性质:线程可见性,禁止重排序。一、测试volatile的多线程可见性1.volatile的多线程可见性测试:public class TestVolatile{ //while是否循环的标志(注:不加volatile时多线程不可见) /*volatile*/ boolean running = true; void m(){ //线程启动输出 System.out.println("

2020-09-24 16:48:15 124

原创 sql优化专题

sql优化一、SQL优化的手段:1.查找、定位慢查询,并优化在项目自验或项目转测试前进行定位,查看慢查询日志,就可以看到所有的慢查询。具体操作:详细看: https://blog.csdn.net/qq_26963433/article/details/78612065(1)查看慢sql是否启动。show variables like 'log_slow_queries'; off代表禁用(2)开启慢查询set global log_slow_queries = on; (

2020-09-23 11:23:38 395

原创 docker使用rabbitmq

docker使用rabbitmq1.拉取rabbitmq(标签为management的是带web管理的,下载这个)docker pull rabbitmq:management 2.查看已下载的镜像docker images 3.启动rabbitmqdocker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:

2020-09-16 09:07:18 140

原创 我的idea快捷键

我的idea快捷键1 执行(run) alt+r2 提示补全 (Class Name Completion) alt+/3 单行注释 ctrl + /4 多行注释 ctrl + shift + /5 向下复制一行 (Duplicate Lines) ctrl+alt+down6 删除一行或选中行 (delete line) ctrl+d7 向下移动行(move statement down) alt+down8 向上移动行(move statement

2020-09-04 08:51:01 86

原创 github使用

github使用一、拿到项目组的路径e.g. https://github.com/miaosong-z/My-Blog.gitidea检出项目,选择git2.输入项目路径,然后一直点下一步

2020-09-03 15:43:50 118

原创 查看sql的执行计划(是否使用索引等)

查看sql的执行计划(是否使用索引等)使用EXPLAIN关键字例子:EXPLAIN SELECT * FROM tb_blog t WHERE t.`blog_id` = 3表的索引:查询结果说明:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALLpossible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WH

2020-08-25 11:52:39 2474

原创 Docker安装(使用阿里云镜像)

Docker安装(使用阿里云镜像)Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS

2020-08-24 09:24:43 9946 1

原创 linux上启动及关闭mysql

linux上启动及关闭mysql启动service mysqld start关闭service mysqld stop

2020-08-24 08:48:53 976

原创 Linux服务器上运行,查看,停止Java程序(jar)

Linux服务器上运行,查看,停止Java程序(jar)一、运行先切到要运行的jar包目录,再执行下面语句nohup java -jar [jar包文件名]二、查看ps -ef | grep java三、停止停止所有Java进程pkill - 9 java2.停止特定java进程kill -9 java 7303...

2020-08-21 10:21:21 5689

原创 mysql字符串转日期类型

mysql字符串转日期类型:一、基本语法select date_format('2013-03-09','%Y-%m-%d');select date_format('2013-03-09','%y-%m-%d');select STR_TO_DATE('2013-03-09','%Y-%m-%d');select STR_TO_DATE('2012-10-11 16:42:30','%Y-%m-%d %H:%i:%s');%W 星期du名字zhi(Sunday……Saturday)

2020-08-20 10:57:06 2192

原创 linux安装JDK

linux安装JDK安装java1.8.0所有程序yum install -y java-1.8.0-openjdk-devel.x86_64注意:输入确认(y)直到控制台返回Complete安装成功查看java版本信息查看是否安装成功输入javac java命令后显示帮助信息就算是安装成功了java -version使用yum安装环境变量自动就配好了...

2020-08-18 08:27:14 88

原创 Oracle 存储过程简单实例

Oracle 存储过程简单实例1.数据表:2.存储过程的目的tt_user 表中sex为0的数据插入到tt_user2中3.存储过程语句create or replace procedure user1to2asnuserid number;nusername varchar2(50);npassword varchar2(50);nsex varchar(1);strsql varchar2(500);begin for r in (select * from tt_user

2020-07-24 15:23:01 11443 6

原创 docker镜像启动mysql,并使用本机客户端连接

docker镜像启动mysql,并使用本机客户端连接docker的确是个好东西,但是在使用中难免踩一些坑才能体验其使用的快感~此文章用来说明在docker使用mysql时踩中的坑环境版本虚拟机软件:VirtualBox虚拟机系统:centos7docker:docker-ce-3:19.03.12-3.el7mysql数据库:lastest 我查了下,现在是 mysql 8.0.20这个版本环境安装配置VirtualBox:先更新到了最新(用旧版本时出现了一些问题,更新之后就可以了)ce

2020-07-14 16:07:48 1881

原创 spring boot2.3.2 redis缓存

spring boot2.3.2 redis缓存在学习中,发现springboot2.x对缓存进行了优化,使复写率大大降低。但对应的,源码逻辑更加复杂,需要经过精心阅读才可以发现其中的奥妙。一、实现代码下面说一下springboot2.3.2版本使用redis进行缓存的代码:实体类:必须实现序列化,这是缓存存取数据的基础public class Employee implements Serializable{ private Integer id; private String las

2020-07-10 09:47:08 1521

原创 冒泡排序,二分法查找

//冒泡排序:左边开始,两数比较,左边大就换位置,每次循环最大的数字到最右边 public static void bubbleSort(int arr[]) { for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ int temp =arr[j]; arr[j] = arr[j+1]; arr[j+1] = te.

2020-07-08 17:47:55 366

原创 Spring Boot 的 application.properties 中的属性值的寻找方法

Spring Boot 的 application.properties 中的属性值的寻找方法一:找到自动配置的properties配置文件二、找到org.springframework.boot.autoconfigure.EnableAutoConfiguration这个属性此属性的值是spring boot自动配置的所有被@Configuration标注的配置类。三、找到自己要配置的属性值的自动配置类(此处以HttpEncodingAutoConfiguration为例)找到配置类,ct

2020-06-23 19:08:36 297

原创 java 框架学习资源

java 框架学习资源SSM框架1.mybatismybatishttps://www.bilibili.com/video/BV1Sb411s7vP?p=12.springspringhttps://www.bilibili.com/video/BV1Sb411s7vP?p=13.spring mvcspring mvchttps://www.bilibili.com/video/BV1Sb411s7qa?p=1Spring bootspring boothttps://www.

2020-06-22 10:50:57 149

原创 Spring MVC 入门案例

Spring MVC 入门学习Spring MVC最好要有spring基础,因为Spring MVC创建对象时,也使用了Spring的 IOC技术。Spring MVC的作用:Spring MVC 在ssm框架中是表现层的框架,主要用于与客户端(浏览器)交互的用处。简单来说就是:浏览器请求(路径)——>对应到Java类中的方法(并且在执行的方法中能取到页面传来的值)——>处理完成后展示新的页面(新的页面中要有后台方法处理返回的返回值)Spring MVC入门案例web.xml中

2020-06-17 14:50:24 151

原创 Spring 事务控制配置

Spring 事务控制配置一、基于xml的声明式事务控制步骤:1.配置事务管理器2.配置事务的通知(1)需要导入事务的约束:tx名称空间和约束,同时导入aop的名称空间和约束。(2)使用tx:advice标签配置事务通知属性:id:该事务通知的唯一标识;transaction-manager:给事务通知提供一个事务管理器的引用。3.配置AOP中的通用切入点表达式4.建立事务通知和切入点表达式的对应关系5.配置事务的属性(在tx:advice标签的内部)<bean id="txMa

2020-06-15 10:23:56 206

原创 动态代理的两种方式

动态代理的两种方式一、动态代理简介动态代理:特点:字节码随用随创建,随用随加载。作用:不修改源码的基础上对方法增强。分类:1.基于接口的动态代理。2.基于子类的动态代理。二、基于接口的动态代理涉及的类:Proxy提供者:JDK官方如何创建代理对象:使用Proxy类中的newProxyInstance方法。创建的对象的要求:被代理对象最少实现一个接口,如果没有则不能使用。newProxyInstance方法的参数:1.ClassLoader:类加载器用于加载代理对象字节码,和

2020-06-12 11:22:09 1207

原创 Oracle数据库查询结果封装到表中

Oracle数据库查询结果封装到表中场景:有一个视图,执行查询时间特别长(大概有5分多),没次查询视图,就要每次都执行5分钟以上才会查出结果。解决办法,将一次的查询结果封装到数据库的表中,这样,每次查询表就可以了,查询表的速度很快(只需要0.9秒左右)。sql语句写法:原视图语句:--视图的封装语句为create or replace view qz_yxhmdj_view_last asselect distinct a."TASKID",a."F_SQBM",a."REQUSER",a."

2020-06-11 11:48:22 334

原创 Spring框架中的常用注解

Spring框架中的注解Spring框架,在使用注解配置时,会比xml配置更方便,但没有xml配置清晰。所以,如果不了解Spring框架,可以先看我的另一篇文章,其中讲解了基于xml配置的常用标签及使用方法:spring框架beans.xml中的标签Spring基于注解开发的注解我分为4种:1.用于创建对象的。2.用于注入数据的。3.用于改变作用范围的。4.与生命周期相关的。一、用于创建对象的标签他们的作用就和在beans.xml文件中的<bean>标签的功能是一样的。bean

2020-06-05 15:55:47 313

原创 spring框架beans.xml中的标签

spring框架beans.xml中的标签一、beans.xml的名称和位置在使用spring框架时,首先要从配置文件入手,不然即使会用全注解方式,也很难会完全理解。而配置文件的名称和位置都没有硬性规定,但在开发中经常按照如下说明进行配置。1.配置文件的名称配置文件没有固定的名称,但在开发中,为了表明配置文件的意义,通常叫做:beans.xml或者applicationContext.xml,我的习惯是叫做beans.xml。其意义在于:该文件配置了创建对象(bean)的信息。2.beans.xm

2020-06-04 14:36:14 1526

原创 Spring 框架中bean管理细节

Spring 框架中bean管理细节一、创建bean的三种方式1.使用默认构造函数(无参构造器)创建在Spring的配置文件中,使用bean标签,配置`id`和`class`属性之后,且没有其他属性和标签时。采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数,则对象无法创建成功。示例:beans.xml文件中配置bean <bean id="userService" class="com.itjj.service.impl.userServiceImpl">&lt

2020-06-03 15:07:52 224

原创 使用sqlyog导出数据库的备份(sql格式)

sqlyog导出数据库的备份(sql格式)在一次做项目时,想迁移数据库,这时在原本数据库中的表和表中的信息也要迁移到新得数据库服务器上。发现sqlyog工具可以将数据库表导出成sql的格式进行备份。具体操作如下:步骤:1.使用sqlyog打开原数据库2.选中想备份的数据库,右键点击并进行如下操作3.上步骤操作之后可自定义导出4.在导出的目录中找到导出的文件5.打开后就是可以执行的sql语句(我是使用notpad++打开的)6.将语句在新的数据库服务器上执行注:我这为了展示效果,

2020-05-29 10:31:37 3096

原创 Java String字符串比较问题

Java String字符串比较问题java字符串的比较分为以下几种/** * @auther zjj * @create 2020-05-15-17:29 */public class TestString { public static void main(String[] args) { String s1 = "abc"; String s2 = "a" + "b" + "c"; String s3 = "ab";

2020-05-18 16:47:55 2753 4

原创 redis

redis一、redis相关文档:1.入门基础教程https://www.runoob.com/redis/redis-tutorial.html2.命令参考http://doc.redisfans.com/二、redis常用1.解决输出乱码问题登录客户端时,使用如下语句:redis-cli --raw

2020-05-14 15:19:58 180

原创 ArrayList与Vector的多线程并发验证

ArrayList与Vector的多线程并发验证首先要知道ArrayList是线程不安全的,Vector是线程安全的。下面代码进行验证一、ArrayList测试并发测试ArrayList并发的类,具体细节及作用见注释。import java.util.ArrayList;import java.util.List;import java.util.Vector;/** * @auther zjj * @create 2020-05-11-16:17 */public class T

2020-05-11 17:03:48 329

原创 java线程

java线程一、如何开启一个线程Java中开启多线程有两种方式:1.继承Thread类。重写run方法,run方法就是此线程执行的方法。/** * @auther zjj * @create 2020-05-09-8:41 */public class MyThread1 extends Thread { //此线程的名称 String name; //构造器传参 MyThread1(String name){ this.name=name;

2020-05-09 14:55:57 214 2

原创 Java线程锁的简易理解

Java线程锁的简易理解线程锁的基础理解:在学习线程的时候,刚开始不理解锁是什么样的概念,读了很多文章后,有了自己的理解,这里的理解不是特别完善,但是有助于快速入门。线程锁的意义:意义在于使不同线程执行同一个方法时,不被其他线程执行时的变量的影响。先看下面的图:多线程要同时访问一个加了锁的代码块时,不能让他们同时访问(可能会造成变量值获取的错误),此时只允许一个线程(获取了锁的线程)执行...

2020-05-08 09:03:15 573

b站老师的整合ssh资料.zip

整合ssh资料 项目源代码 :原为mysql版,可用里面的ojdbc6替换mysql驱动换成oracle版 内含有资料:笔记

2020-03-30

struts2_spring_hibernate整合源码

struts2_spring_hibernate整合源码

2020-03-29

空空如也

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

TA关注的人

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