自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java使用RabbitMQ(二)

1、RabbitMQ消息确认机制-可靠抵达前言:为了保证消息不丢失,可靠抵达,可以使用事务消息(客户端与broker建立连接在通道中进行收发消息,设置通道为事务模式,只有当发送成功,或者消费成功,mq给出响应等一连串反应成功之后才算成功),但是官方说性能会下降250倍,为了保证高并发,所以就引入了消息的确认机制eg:publisher发送给broker,网络波动没发成功,发成功了broker没接收到,consumer消费一半网络波动导致消息没接收到等各种场景保证可靠抵达就是保证消息可靠的发送到brok

2022-05-30 21:04:16 279 2

原创 java使用RabbitMQ(一)

1、简介①RabbitMQ是一个消息中间件,各种微服务需要统一的往一个地方存储以及获取数据进行消费,这个业务场景就需要一个消息中间件,大部分应用中,可以通过引入消息中间件来提升系统的异步通信、扩展解耦能力②消息服务中两个重要的概念消息代理(message broker):代我们发送接受消息,安装了消息中间件的服务器目的地(destination):队列(queue:点对点消息通信point-to-point)主题(topic:发布publish、订阅subscribe消息通信)当消息发送者发送消息

2022-05-29 22:16:58 930

原创 jvm分析工具简介

根据开源谷粒商城学习总结的笔记。觉得是个很好用的工具,推荐,因为jdk自带不用单独安装且很好用不像jprofiler还得安装和破解1、jconsole①安装jdk配置好环境变量,win+R输入cmd进入dos命令行,启动应用(想要分析的项目)后在,输入jconsole,2、jvisualvm(java1.6之后带的工具相当于升级版的jconsole)①安装jdk配置好环境变量,win+R输入cmd进入dos命令行,启动应用(想要分析的项目)后在,输入jvisualvm双击想要观察的应用之后,

2022-05-29 17:36:20 344

原创 elasticsearch安装和使用

1、安装通过docker安装docker pull elasticsearch:7.4.2 相当于MySQL数据库通过docker安装docker pull kibana:7.4.2 相当于Navicat 可是化界面

2022-05-12 20:49:56 653

原创 文件上传处理

1、文件存储的方式上传文件到服务器,在通过链接下载下来2、使用阿里云的对象存储查看帮助文档,了解bucket、Object等名词含义,找到java的SDK默认添加的账户是没有任何权限的,所以要给他添加权限使用对象存储,第一步引入starter、第二步配置key、endpoint等相关配置,第三步使用OSSClient进行相关操作上述方式,是前端将文件以文件流传输到后端,后端通过签名等机制传输到OSS,虽然很安全但是很慢2、阿里云对象存储-服务端签名后直传①用户向应用服务器请

2022-04-12 21:16:28 442 1

原创 为什么局部变量要用基本数据类型

1、安装TypeScript首先要有npm环境,node package management,要先安装node.js

2022-04-07 11:05:54 708

原创 docker怎么进入容器内部并修改容器内的配置文件

1、docker操作①docker ps -a:查看docker一共启动了哪些容器②docker exec -it containerId /bin/bash:进入容器内部2、修改配置文件使用vim会报bash:vim:command not found,所以使用包管理安装vimapt-get insatll vim : 会报错unable to locate package vim ,所以得先更新包管理apt-get update 然后在apt-get insatll vim,就可以安装vim

2022-01-20 13:19:32 4962 1

原创 Sping5框架二:AOP

1、AOP初识1.1基本概念AOP:(Aspect Oriented Programming)面向切面、方面编程是OOP的延伸,利用AOP可以对业务逻辑的各个部分进行隔离,从而是得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发效率1.2AOP底层原理AOP底层使用动态代理,有2种情况的动态代理第一种 有接口的情况,使用JDK动态代理第二种 没有接口情况,使用CGLIB动态代理具体例子①使用JDK动态代理,使用Proxy类里面的方法创建代理对象newProxyInst

2021-08-23 15:08:01 98

原创 Spring5框架一:IOC实现的两种方式和底层原理

1、概念(先了解,原理后面再写)1、spring是一个轻量级的开源的JavaEE框架(引入jar包的数量以及体积都比较小)2、spring框架可以解决企业应用开发的复杂性3、spring里面有很多组成部分,IOC和AOP两个核心部分①IOC:Inversion of Control控制反转,把创建对象的过程交给spring管理,不需要手动new对象②AOP:Aspect Oriented Programming面向切面编程,再不修改源代码的情况下给功能进行添加,对功能进行增强4、spring框架

2021-08-16 23:05:47 520

原创 MyBatis3:深入了解MyBatis

1、深入理解参数通过java程序把数据传入到mapper文件中的sql语句中。参数主要是指dao接口方法的形参3.1parameterType参数类型,值dao方法的形参数据类型。这个形参的数据类型是给mybatis使用。mybatis再给sql语句的参数赋值时使用。PreparedStatement.setXX(位置,值)...

2021-08-15 17:03:44 143

原创 MyBatis3:入门及基本原理

1、MyBatis出现的历史背景1、之前与数据库交互得得做到:编写sql -> 预编译 -> 设置参数 -> 执行sql -> 封装结果,功能简单,sql语句编写子java代码里面,这种硬编码,高耦合的方式,不推荐所以就出来一个框架Hibernate2、Hibernate:全自动全映射的ORM(Object Relation Mapping)对象关系映射框架:旨在消除sql,从javaBean映射到DbRecoreds中间加上jdbc编写预编译等黑箱操作的中间过程,开发人员即使不

2021-08-14 22:46:48 357 4

原创 MySQL存储过程

1、函数实际上就是一些功能模块,我们想要实现某个功能的话,就可以用这个模块,快速实现功能,系统中的函数不可能全部满足我们的需求例子要计算每个员工要交多少税。工资低于多少不用交税,每个人的都不同,如果要计算需要写一大堆的sql语句,为每个人计算的时候,都要重复的敲SQL命令把这些sql语句写成一个函数(存储过程),重复性的调用这个存储过程,一个存储过程就是一个功能模块语法delimitercreate procedure x1()begin sql 语句;end;call x1();

2021-08-12 22:53:32 111

原创 java注解

什么是注解注解是代码里的特殊标记,程序可以读取注解,一般用于替代配置文件开发人员可以通过注解告诉类如何运行在java技术李注解的典型应用是:可以通过反射技术去得到类里面的注解,以决定怎么运行类常见的注解@Override @Deprecatedpublic @interface MyAnnotation { // 创建注解要使用@interface关键字 // 只能包含属性,类似方法 String name() default "wchao"; int age()

2021-08-11 23:12:18 126

原创 Java反射以及工厂设计模式和单例模式

1、什么是类对象类的对象:基于某个类new出来的对象,也成为实例对象类对象:类加载的产物,封装了一个类的所有信息(类名、父类、接口、属性、方法、构造方法),每一个类加载到内存后都对应一个Class对象,每个类有且只有一个Class对象(模版类)eclipse在run as中可以设置-verbose:class显示类的加载过程2、获取类对象的方法推荐使用第三种方式,通用性更好一点,可以编译通过,捕获异常,不用这个类就可以编译通过,前两种依赖性太强2.1通过类的对象,获取类对象 Person pe

2021-08-11 22:21:46 174

原创 JDK8新特性

1、Java8概述java8又称jdk1.8,是java语言开发的一个主要版本,Oracle公司于2014年3月18日发布了Java8①支持lambda表达式②函数式接口新的Stream API新的日期API其他新特型1、lambda表达式特殊的匿名内部类,语法更加简洁lambda表达式允许把函数作为一个方法的参数(函数作为方法参数传递),将代码像数据一样传递基本语法<函数式接口><变量名>=(参数1,参数2)->{方法体};①形参直接传就好了,他会自动推

2021-08-10 22:02:02 80

原创 Java常用类

1、基本数据类型到引用数据类型的装箱拆箱package com.wchao.Object;public class Demo01 { public static void main(String[] args) { bufferZone(); } public static void cate(){ // 类型转换:装箱,把基本类型转成引用类型 int num=10; Integer integer = new I

2021-08-08 23:19:30 79

原创 JDBC:数据库

1、JDBC简介Java DataBase Connectivity(java语言链接数据库)本质是SUN公司制定的一套接口(Interface):接口都有调用者和实现者,面向接口调用、面向接口写实现类,这都属于面向接口编程java.sql.*这个软件包下有很多接口1.1为什么要面向接口编程①解耦合:降低程序的耦合度,提高程序的扩展力,多态就是非常典型的面向抽象编程面向父类型编程面向接口编程(不要面向具体编程)建议Animial a=new Cat() 不建议 Cat a=new Cat();p

2021-08-06 01:44:52 88

原创 安装docker

1、安装所需要的软件包先查看自己的linux版本,好像有版本要求,似乎是高于与3.0才支持docker①安装所需要的3个软件包yum -y install yum-utils device-mapper-persistent-data lvm2②设置yum源(windows也支持docker)yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo③安装dockeryum in

2021-06-13 09:45:52 144 3

原创 xshell突然连不上阿里云的linux服务器了怎么办

1、问题描述之前一直连的上服务器,过了几天没看服务器就突然连接不上服务器了,提示信息如下Connection closed by foreign host.Disconnected from remote host(linux) at 15:20:41.2、问题分析百度了一波有人说权限没分配让我去改linux里面的配置文件,由于我连都连不上拿什么改,所以总结这是骗人的博客,但感觉可能是阿里云安全组更新把权限清空了3、问题解决点击阿里云控制台 -> 点击云安全中心进入之后会有一个提示按

2021-06-05 09:33:19 627

原创 java进阶二:JDBC

1、JDBC1.是什么Java DateBase Connectivity(java语言连接数据库)2.jdbc的本质jdbc是sun公司制定的一套接口(interface)java.sql.*;(这个软件包下有很多接口),接口都有调用者(我们)和实现者(各大数据库生产厂家),面向接口调用、面向接口写实现类,这都属于面向接口实现编程,为什么要面向接口编程其实就是面向抽象编程解耦合,降低程序的耦合度,提高程序的扩展力,多态机制就是就是非常典型的面向抽象编程,不要面向具体编程建议Animal a

2021-05-31 22:04:40 52

原创 git工作中推错分支了怎么回滚使用

1、clone项目报错使用git clone 仓库地址 : 报错fatal: unable to access 'https://github.com/xylxpm/H4.9.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 使用如下命令可以顺利拉取代码,最后面是仓库地址 env GIT_SSL_NO_VERIFY=true git clone https://github.com/xylx

2021-05-28 17:57:25 1780

原创 java进阶一:java集合

1、集合简介集合和数组类似,都是储存元素的容器,数组像是静态容器(长度一旦创建就不能再改变、元素类型必须统一、只能通过下标去索引元素等),集合像是动态容器(集合的长度可以动态的改变、元素类型可以不一致、可以用某个映射的关系去索引元素等)java中的集合是一个工具类,可以储存任意数量且具有共同属性的对象。集合的应用场景一般有以下几点无法预测储存数据的数量同时储存具有一对一关系的数据举要进行频繁的数据增删操作数据重复问题java中的集合主要可以分为Collection和Map两大体系2、Co

2021-05-04 22:50:40 154 4

原创 java入门六:java基础终章

1、static关键字静态变量和类一起加载,final修饰后的类无法被继承2、抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法,如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类中没有实习那的抽象方法,否则该子类也要声明为抽象类3、接口

2021-05-03 00:28:15 1175 21

原创 java入门五:面向对象

1、初识面向对象1面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题2面向对象思想物以类聚,分类的思维模式,思考问题先对问题进行分类,然后再对这些分类进行单独的思考。最后才对某个分类下的细节进行面向过程的思索面向对象适合处理复杂的问题,适合处理需要多人协作的问题对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理1.1什么是面向对象面向对象的本质就是:以类的

2021-04-30 16:26:31 99 1

原创 java入门四:数组

1、数组概述数组是最简单的数据结构,是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成的数组中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们2、数组的声明创建首先必须声明数组变量,才能在程序中使用数组。语法如下:dataType [] arrayRefVar; // 首选的方法dataType arrayReVar[]; // 效果相同,但是不是首选的方法Java语言使用new操作符来创建数组,语法如下:dataType[] a

2021-04-26 13:00:24 152

原创 测试五:使用Charles抓包

1、安装Charles我使用的电脑是mac,本文也是记录在mac下如何安装并使用charles抓线上https的包以及普通http的包官网地址:https://www.charlesproxy.com/download/charles默认使用30天,可以下载破解版本,只需要替换jar包即可,但是免费30天够你学习了,我这有jar包,不保证生效,需要点赞私聊安装完毕之后,打开,一片空白不要慌,只需要在手配置代理即可,保证电脑和手机在同一网络下,查看电脑ip地址,在wifi处设置代理,ip为电脑ip,

2021-04-25 16:42:18 163

原创 什么是域名,怎么买服务器

1、域名域名:是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传 输时标识计算机的电子方位。(www.baidu.com)com是顶级域名,baidu是一级域名,www是二级域名,每个域名对应一个ip地址IP地址:internet主机的作为路由寻址用的数字型标识,人不容易记忆。因而产生了域名这一种字 符型标识。什么叫域名?也就是说这种容易记忆的字符型标识就叫域名。域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。这也意味着在全世界没有重复的域名

2021-04-22 21:59:05 121

原创 在centos安装redis,完成数据迁移,安装python3.6部署项目到服务器上

1、安装redislinux中的操作相似,直接参考这一篇文章,就可以在centos中完成redis的安装在ubantu中如何安装redis2、安装python3.6wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz 获取安装包tar -zxf Python-3.6.1.tgz 解压缩cd Python-3.6.1 定位到文件夹./configure 添加配置,根据系统情况生成编译时所需要的makefile文件ma

2021-04-22 17:57:16 205

原创 java入门三:java方法详解

1、什么是方法java方法是语句的集合,他们在一起执行一个功能,1方法是解决一类问题的步骤的有序组合2方法包含在类或者对象中3方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,设计方法的时候最好保持方法的原子性,就是一个方法只完成一个功能,有利于后期的扩展System.(是一个类)out.(是一个输出对象)println(方法)public class Demo01 { // main方法 // public static都

2021-04-22 12:51:09 84

原创 在centos安装mysql5.7并在远程连接详细步骤

1、通过xshell连接服务器1、启用MySQL 5.7存储信息库,需要在终端上执行以下命令sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm2、使用以下命令安装mysql 5.7社区服务器软件包:sudo yum install mysql-community-server进行到第二步报错如下,解决办法为先禁用本地MySQL模块,再进行安装yum module

2021-04-21 14:12:17 251

原创 java入门二:java流程控制

1、用户交互Scannerjava.util.Scanner是Java5的新特性,可以通过Scanner类来获取用户的输入基本语法:Scanner s = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前一般需要用hasNext()hasNextLine()判断是否还有输入的数据next():一定要读取到有效字符后才可以结束输入对输入有效字符之前遇到的空白,next()方法会自动将其去掉只有输入有效字符后才

2021-04-20 22:28:46 83

原创 怎样用pycharm连接数据库,以及常见报错如何解决

1、下载插件工具点击file点击setting点击plugins,搜索database navigator点击install进行下载,然后重启pycahrm。2、使用插件重启pycharm后最上边的工具栏会多一个DB Navigator,点击他然后在点➕,之后跟使用navicat一样输入连接名、地址端口号、用户名、密码,但是报错了,这是因为时区不统一通过全局修改配置文件解决问题,通过cmd连接数据库,修改字段,然后再次连接连接成功,用户可以操作数据库3、操作数据库sql命令在cons

2021-04-20 13:58:02 2801 1

原创 java入门一:java语法基础

1、注释,标识符,关键字单行注释//、多行注释 / *文字 */ 、文档注释/**文字 * /注释不会被编译,写给程序员看,平时写代码一定写注释,方便别人看的懂你的代码2、java的数据类型java的基本数据类型共有四种:整型、浮点型、字符型、布尔型,从中可细化分为8种基本数据类型整型:字节byte、短整型short、整型int、长整型long浮点型:浮点型float、双精度浮点型double字符型:字符型char布尔型:布尔型boolean2.1类型转换3、变量的类型java是一门

2021-04-17 01:03:10 154

原创 java学习过程报错合集

1、基础入门篇1 创建的新项目无法右键创建新的java文件,没有指定模版,去project structure创建一个需要的模版就可以创建模版2 IDEA “Error:java: 无效的源发行版: 13” ,编译不统一我的理解是这样,如下操作可以解决...

2021-04-17 00:03:36 144

原创 测试四:jmeter使用过程遇到的问题

1.查看结果树的条数设置如果用1000个并发量测20个接口则响应的数据量太多想要查看到每一个的响应树结果,结果只显示了一部分,发现可以通过修改配置文件来增加响应的条数,全局搜索并修改配置文件为view.results.max_results=200000即可查看到200000条,默认只能查看500条2.java连接数据库报错第一步,如下图所以导入jar包,连接数据库的jar包要根据自己的项目选择对于的版本去下载第二步,通过代码去连接,可能会遇到如下图的两个问题,解决方案如图所示,一个是时区显示

2021-04-10 22:55:43 212

原创 如何安装MySQL,图文详细,步骤全篇

1.前言介绍首先安装MySQL服务大部分是初学者或者学生,如果在公司中,数据库服务运维肯定会搭建好,基于学习就会有两种方法安装phpstudy,它里面有集成的5.7的mysql服务,像安装QQ一样简单,图形化界面,直接点击打开服务就好了自己装mysql服务,熟悉里面的控件,以及安装了哪些东西(卸载不好卸载)2.卸载MySQL我先在win上演示如何卸载mysql,首先卸载安装的软件,点击win点击设置找到应用卸载,将有关于mysql的全部卸载,因为我是刚安装就卸载,所以我根据时间排序把今天

2021-04-10 22:21:25 146

原创 无法通过命令行连接MySQL,2003错误

1.前提说明因为我使用的是公司电脑,公司有自己的MySQL服务器,我想在公司的电脑上装一个测试数据库,用作sql测试,所以我只在电脑上装了MySQL的服务,通过navicat(连接数据库的工具)可以正常连接数据库,但是通过CMD连接数据库则报错2.问题说明及解决办法①通过mysql -uroot -p输入密码之后直接报错can‘t connect to MySQL server on ’localhost‘(10061)②使用清除服务启动程序mysqld remove③重新安装启动程序mysql

2021-04-09 15:45:44 390

原创 MySQL数据库(九):MySQL总结

1、数据库锁1.1表锁(一般加读)解释:偏向MyISAM存储引擎,开销小,加锁快;无死锁,锁定粒度大,发送锁冲突的概率最高,并发度低。分类:锁也分为读锁和写锁,按照下面的语法为表增加不同的锁lock table 表名字 read(write),表名字2 read(write);如果表锁被锁定,在另一个客户端操作这个表的时候就会变为阻塞状态,在客户端1对表添加读锁,客户端2无法对表进行写操作,如果进行写操作那么状态为阻塞,客户端1对表添加写锁,客户端2可以对表中数据进行读操作,写操作时为阻塞状态,直

2021-03-09 21:48:11 118 2

原创 一篇文章实习心得

1、爬虫实习(2月)如果公司已经搭建好了爬虫框架比如scrapy那么爬的方向可能也是固定的,代码复用率应该很高,只需要分析页面的逻辑,以及想要爬的字段,自己按照前辈写的代码修改就好了,如果公司没有搭建好框架,你是公司的第一个爬虫工程师,你要考虑对于爬取的数据是一次就够还是不定期都需要爬取,是否要搭建框架,只有当做的多了,需求一来,看看页面就知道做不做的了,后期可以往数据分析发展,大数据是以数据为基石的,爬虫正好可以提供数据1.1爬取逻辑首先找到想爬取数据的位置,通过查看网页源码,看其是否在网页源代码中

2021-02-21 21:16:06 176

原创 测试三:jmeter的安装以及使用

1、安装jmeter根据测试一先配置好java的jdk环境,才能安装使用jmeterjmeter下载网址如下http://jmeter.apache.org/download_jmeter.cgi打开后,选择二进制中的tgz文件进行下载下载完成后,记住下载的位置,点击bin目录下面jmeter,就可以完成启动,第一次会有版本验证错误,去系统偏好设置中,点击安全性和隐私同意本次操作即可打开后默认是英语,可以点击options按照下图选择简体中文当关闭jmeter之后重新打开又会是英文状态,

2021-02-20 13:10:39 187

空空如也

空空如也

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

TA关注的人

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