自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wwwwwww31311的博客

csdn认证博客专家

  • 博客(43)
  • 收藏
  • 关注

原创 String常用方法大全(深入源码层面分析)

替换:String replace(char oldChar, char newChar):返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。String replace(CharSequence target, CharSequence replacement):使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。String replaceAll(String regex, String replacement):使用给定的 rep

2021-01-31 21:57:33 1365 1

原创 生产者消费者案例java代码

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-01-31 17:23:55 602

原创 java多线程通信基础(面向厕所编程)

一、sleep与wait的区别先举例,在理论公厕(公厕的坑位是共享资源)中无论多少人(人是线程)排队,只要你锁好厕门(synchronized)就不会出现线程安全问题,无论排队的多么着急都要一个个来,锁门期间(同步代码块内/同步方法内)调用sleep相当于你蹲坑期间睡着了,那么门锁(同步锁)肯定不会自动打开,依然是锁着的,除非时间到了你睡醒了然后该干嘛干嘛,否则只能通过粗暴的方式先把你叫醒(interreput方法)再说。wait相当于你礼让他人,先主动打开门锁(wait调用后连释放同步锁)让出坑位给别

2021-01-31 11:47:15 3411 3

原创 java synchronized静态同步方法与非静态同步方法,同步语句块练习题

对代码进行同步控制我们可以选择同步方法,也可以选择同步块,这两种方式各有优缺点。同步块不仅可以更加精确的控制对象锁,还可以控制锁的作用域,何谓锁的作用域?锁的作用域就是从锁被获取到其被释放的时间。而且可以选择要获取哪个对象的对象锁。但是如果在使用同步块机制时,如果使用过多的锁也会容易引起死锁问题,同时获取和释放所也有代价,而同步方法,它们所拥有的锁就是该方法所属的类的对象锁,换句话说,也就是this对象,而且锁的作用域也是整个方法,这可能导致其锁的作用域可能太大,也有可能引起死锁,同时因为可能包含了不需要进

2021-01-30 12:56:46 2629 4

原创 java多线程的安全问题与死锁(面向厕所编程)

这是不安全的问题代码/*Windows模拟的是售票窗口类共享数据:多个线程共同操作的数据,即本案例中的tocketNum */public class Windows implements Runnable { private static int ticketNum = 10; @Override public void run() { String name = Thread.currentThread().getName(); whi

2021-01-29 22:51:00 866 3

原创 java线程三种创建方式与线程池的应用

前言:多线程下程序运行的结果是随机的,以下案例代码的运行结果仅供参考一 通过继承Thread线程创建的方法与执行的步骤/*1 继承Thread 2重写run方法 3创建线程继承类的子类4 调用start(一个线程只能通过调用一次start来进行启动) */class MyThread extends Thread{ public MyThread(String name){ //调用Thread类中的构造方法才能顺序初始化成功线程名 super(name)

2021-01-29 12:20:58 718

原创 java线程的睡眠、挂起、阻塞

1 新建状态:单独的创建一个线程,参考我之前博客:创建java线程的四种方法新建 = > 就绪:处于新建状态的进程thread调用它的start()放方法;start方法一个进程只能调用一次start(Thread中通过threadStatus来标志进程状态),start的调用由main来进行完成,start本身可以启动线程并使得线程在获得处理机资源后执行run方法2 就绪状态:处于新建状态的线程被start调用后处于就绪状态,此时已获取了除了cpu以外的全部资源,加入线程队列等待CPU时间片.

2021-01-29 11:10:11 1476 5

原创 java多线程基础概念

程序:为了完成某一功能, (用某种语言编写的一组指令的集合),是一段静态的代码块进程:程序的一次执行过程,是正在运行的程序,有着完整的生命周期,是资源分配的基本单位,由程序控制块(PCB)、程序段、数据段组成线程:进程可以进一步细化为线程,是程序内部的一条执行路径,线程是独立调度和执行的最小单位 ,线程可以显著提高程序运行效率但也会带来安全隐患;具有以下优点:①提高cpu的利用率(不让CPU闲着)②提高用户响应(多线程可以使用户每一次操作都会立刻得到响应,单线程就要一个个来)③改善程序结,将长而复杂的代

2021-01-29 09:42:05 1742

原创 JMeter使用教程

JMeter是Apache下的一个顶级项目,看看官方对它的介绍:The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since e

2021-01-28 13:27:38 1247

原创 this和super(由浅入深、超详细,建议收藏)

this和super的概念、用法、注意点、深入底层的原理分析....建议收藏

2021-01-28 00:31:25 8003 11

原创 java8四大核心函数式接口讲解&源码实战,通俗易懂

一、消费者接口经典案例代码,怎么样,懵逼不?@Testpublic void test1 () { consumerTest(500, (x) -> System.out.println(x)); } public void consumerTest (double money, Consumer<Double> c) { c.accept(money);}那么,看一下小编自己的消费者接口模拟实现,为了使大家能够深入理解,我们都会将一个函数式接口

2021-01-27 16:32:04 1803 2

原创 (Windows和Linxu双系统)Alibaba套件sentinel1.7下载和nacos1.3和seate-server1.3下载

https://pan.baidu.com/s/1eEBV8mdNxKnfJBUtBAi7oA提取码:7k7k

2021-01-26 22:08:53 1222

原创 史上最经典CAP讲解

1、CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中:一致性(Consistency)可用性(Availability)分区容错性(Partition tolerance)最多满足其中的两个特性。也就是下图所描述的。分布式系统要么满足CA,要么CP,要么AP。无法同时满足CAP。分区容错性:指的分布式系统中的某个节点或者网络分区出现了故障的时候,整个系统仍然能对外提供满足一致性和可用性的服务。也就是说部分故障不影响整体使用。事实上我们在设计分布式系统是都会考虑到b

2021-01-26 21:06:54 1975 1

原创 @EnableDiscoveryClient和@EnableEurekaClient

将一个微服务注册到Eureka Server(或其他服务发现组件,例如Zookeeper、Consul等)的步骤<!--1 添加Eureka Client(或其他服务发现组件的Client)依赖 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</ar

2021-01-26 19:04:24 2656

原创 org.springframework.web.client.ResourceAccessException: I/O error on POST request for ************

org.springframework.web.client.ResourceAccessException: I/O error on POST request for “http://localhost:9411/api/v2/spans”:原因:pom依赖中含有 zipkin 依赖,没有配置 zipkin-server, 默认提交9411解决办法:将这个依赖删除 <dependency <groupId>org.springframework.cloud&l

2021-01-26 18:43:03 4936

原创 IDEA快捷键eclipse版(有自定义部分)

1 idea中虽然可以设置快捷键为eclipse版,但依然和eclispe的快捷键有较大差距;这里有我们的自定义快捷键jar包和导入方法的文档讲解链接:https://pan.baidu.com/s/13ncPu5q5mpHIbG3u2d_7UA提取码:7k7k快捷键总结:1.补全代码的声明:alt + /2.快速修复: ctrl + 13.批量导包:ctrl + shift + o4.使用单行注释:ctrl + /5.使用多行注释: ctrl + shift + /

2021-01-26 14:04:38 1206 2

原创 详解java关键字final(爆肝整理,建议收藏)

一、final1、fianl可以修饰的内容①修饰变量如果是基本数据类型(int,double,char)变量那么表示这个变量是不可变的,即表示一个常量,通常是大写如果是引用类型(String,Date,Animal,Person)的变量那么表示这个引用只能指向初始化时指向的那个对象,不能在执行别的对象,但这个对象的fianl修饰的变量一定要有初始化的值且只能初始化一次,否则会报错(还是编译时错误)②修饰类,表示这个类是最终类,是不可被继承的。abstract与fianl是不能修饰同一个类的

2021-01-26 11:51:58 4369 3

原创 接口与抽象类区别和接口jdk8新特性

接口的特点,jdk8之前特点,对比抽象类1 接口用interface表示,和类是并列的,定义接口就是定义接口的成员2 接口只能定义公共抽象方法(public abstract)和全局静态最终变量(public final static),但这些在接口中都是可以省略的,因为接口中的方法和属性只能这样定义,可知接口是没有非抽象方法的,而抽象类中即有抽象方法,也可以有普通方法;3、接口没有抽象类,彻底无法实例化,抽象方法有构造器但依然无法实例化4、接口可以通过被类实现implement来使用,此时继承接口

2021-01-26 09:46:22 940

原创 七大顶级编程学习网站

1、B站,这个不用我多介绍了,很多高质量的"开源"教程应有尽有,如果大家想学专业性较强的知识,如java的juc,ssm,springboot,springcloud,git,maven…推荐来学(学这些前先去mooc打一下基础),总之就是想学习培训机构的课程就来b站,提到培训机构尤其推荐尚硅谷2、中国大学MOOC,上述专业性很强的课程在mooc中基本没有,但是mooc基础学科的建设是无敌的存在,高数,线代,汇编,数据结构,计算机组成原理,计算机网络,操作系统,java/c/c++基础…都是无敌的存在,不

2021-01-25 22:32:18 10572 27

原创 一个案例精通枚举类

public class EumnTest { public static void main(String[] args) { //这是自定义模仿的枚举类 System.out.println(Season.SPRING.getSeasonDesc()); //春暖花开 System.out.println(Season.SPRING.getSeasonName()); //春天 Season.SPRING.show(); //这是春

2021-01-25 16:30:37 871

原创 一个小案例精通lamda表达式与函数式接口

前言:只有基础(匿名接口实现类)足够扎实才能更好的学习花拳绣腿(lamda表达式),Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑,但可读性很差;传统的匿名接口实现类写法显得代码啰嗦,但是思路更条理;interface MathOperation{ int operation(int a, int b);}interface NoRe

2021-01-25 15:58:13 2481 8

原创 为何我要吹爆巨人?

第四季,剧情更是劲爆到让人无法延误,后来,我看到了部分1 阿明在

2021-01-25 12:01:00 868

原创 Linux服务器使用mysql命令执行sql脚本

上传文件1 先安装上传工具yum -y install lrzsz2 上传(传到当前命令执行的目录)rz上传结果3 打开数据库,通过use命令选择需要执行的数据库执行刚才上传的sql脚本mysql> source /deliverymanagement.sql...

2021-01-24 19:50:28 1744 2

原创 CentOS7安装mysql8并配置

对应版本进去复制下载地址,我这里的下载地址为mysql8.0版本https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm#1、下载安装包源(这里我用wget命令,直接获取安装源,#最好在/opt目录下获取的安装源)wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm#2、安装mysql的依赖包,格式:yum -y instal

2021-01-24 19:21:23 2127 3

转载 yum 命令讲解

(一)yum介绍Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。(二)yum使用yum的命令形式一般是如下:yum –选项命令包 [command] [object]1

2021-01-24 18:04:37 1652

原创 nacos1.2(1.3)的下载及CentOS7下安装nacos

1 nacos官网下载太慢,先获到安装包然后放到系统共享盘中nacos-server-1.2.1.ziphttps://pan.baidu.com/s/1kDelloNK23RIbFjj6efmqg提取码: 6d8b2

2021-01-24 17:41:09 3672 3

原创 解决Nacos无法连接Mysql8.0+的问题(坑爹的阿里官方文档,已无力吐槽)

如果你的mysql是8.0以上的的就不要在参考阿里的官方文档了,因为阿里的文档只适用于mysql5版本,再次吐槽一下,阿里的文档才是真正的挖坑埋人!!!,以下才是标准的配置过程1 初始化mysql数据库,建立一个名为nacos_config的数据库,然后执行nacos-mysql.sql文件,该文件在nacos的conf文件夹下,如下2 在nacos安装目录下新建plugins/mysql文件夹(plugins和bin,conf在同一层级),并放入8.0+版本的mysql-connector-java

2021-01-24 16:45:24 3161 7

原创 Windows常用快捷键整理(建议收藏)

快捷键1:功能区按键F1 - F10 功能区键F1 :显示帮助F2:重命名/BIOS进入F3:查找F4:和alt搭配F5:刷新F11:全屏2 Ctrl:控制键ctrl+alt+delete :安全选项(控制面板)ctrl+shift+n:新建文件夹ctrl+tab/tab 快进ctrl+esc:打开开始菜单文字处理ctrl+a:全选ctrl+b:加粗ctrl+c 赋值ctrl+d:删除ctrl+e:居中ctrl+f:查找 findctrl+h:替换ctrl+z

2021-01-24 10:39:02 11226 5

原创 C盘文件内容及清理思路

文件夹介绍:1.PerfLogsPerfLogs文件夹是Windows自动生成的文件夹,其中包含了系统的日志信息。日志信息包括一些磁盘的扫描记录、磁盘扫描错误信息等等。可以删除,但是删除后,下一次启动系统还是会重新建立,而且删除后会降低系统的运行速度,不建议删除2.Program Files不可以删除。这个文件夹里面放置的都是64位应用程序文件,你在安装文件的时候默认地址都是这个(当然你可以自己改),你在这里面删文件夹就等于把应用程序给删除了。虽然这个文件夹不可以删除,但是里面不用的文件可以自己删

2021-01-24 10:36:13 1163

原创 注册Nocos配置中心失败:Could not resolve placeholder ‘config.info‘ in value “${config.info}

一 、标准的nacos配置模块内容1 bootstrap.yml# nacos配置server: port: 3377spring: application: name: nacos-config-client cloud: nacos: discovery: server-addr: localhost:8848 #Nacos服务注册中心地址 config: server-addr: localhost:8848

2021-01-24 09:10:17 7457 1

原创 配置springcloud配置中心读取github上的配置文件报错:com.jcraft.jsch.JSchException: Auth fail解决方案

首先,在配置中检查要读取的分支是否正确,从2020年几月份开始,github上的master分支变为了mian分支。因此yml中读取分支的配置应该是:label: main其次,如果yml使用的是uri: git@github.com:***/springcloud-config.git这种ssh方式连接的话,需要进行其他的配置,因此我放弃了这种方式进行配置,而采用http/https方式进行配置。值得注意的是,采用http和https方式,如果没配置免密的话,需要在配置文件中加入密码及用户名。详细案例

2021-01-23 09:49:25 2274 5

原创 五种IO模型

在《Unix网络编程》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。1、阻塞IO模型最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才解除block状态。典型的阻塞IO模型的例子为:data = socket.read();如果数据没

2021-01-22 15:42:36 871

原创 idea复制maven项目,source root为原项目的解决方法

为什么要复制module?1.module中有大量相同的重复代码(多为测试的时候),一个个复制文件太麻烦;2.网速慢,新建maven项目常常要下载好多包,构建耗费大量的时间;3.版本问题。如springboot项目,idea只提供最近的几个版本的可选项,现在都是2.x版本,想新建springboot1.x版本的module,需要先选择一个2.x的版本,然后等创建完成后在手动改为1.x版本。这样会造成不必要的下载,更重要的是2.x的自动生成测试类和1.x的不同,编译运行时会报错,需要手动改,很麻烦。

2021-01-21 11:36:24 1968

原创 plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘not found

今天pom中突然报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found,回想之前的经验,这种情况下,往往都是添加上版本号就能解决这种情况要么是idea抽风,要么因为在仓库中的spring-boot-maven-plugin文件夹下有至少两个版本的spring-boot-maven-plugin,那么顺着这种思路,我们也可以通过在plugin标签中添加 来解决这个标签的作用是...

2021-01-21 11:19:24 4480

原创 centos7安装3.6版本zookeeper和jdk8

Linux下安装zookeeper1 安装jdk并配置java环境变量//网络下载安装包①get命令用来从指定的URL下载文件②/opt是约定俗成的第三方压缩安装包的临时存放点位[root@CentOSWzh-7 opt]# wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz//解压到/usr/local(推荐软件安装包的存储位置)下的同时强制全部删除该压缩包[root@CentOSWzh-

2021-01-18 18:40:24 1726

原创 五层网络参考模型

五层网络参考模型1) 概述开放系统互连 (OSI)参考模型,是一种抽象模型目的是支持异构网络系统的互联互通,异构网络系统互连的国际标准,理解网络通信的最佳学习工具,但理论成功,市场失败,OSI参考模型解释的通信过程如下数据封装的意义增加控制信息,构成协议数据单元PDU,控制信息主要有地址,差错检查,协议控制,OSI统一将对等层之间传输的数据单位称为协议数据单元(Protocal Data Unit)2.1) 物理层任务:以比特为单位,实现每一个比特的传输,此外还需要确定连接电缆的插头及多少根

2021-01-17 17:39:16 4134 2

原创 Socket详解

Socket1 Socket的位置:Socket是TCP/IP协议与应用层间的的中间软件抽象层,是一种外观模式类型的设计,它把复杂的TCP/IP协议族隐藏在Socket接口后面2 Socket的用法先从服务器端说起。服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端

2021-01-17 17:33:05 1741

原创 DNS详解

5 DNS1) 概念域名系统(Domain Name System,DNS))是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址.因为IP地址是固定长度的,IPv4是32位,IPv6是128位,而域名是变长的,不便于计算机处理,IP地址对于用户来说不方便记忆,但域名便于用户使用,例如www.baidu.com这是百度的域名。**总结一点就是IP地址是面向主机的,而域名则是面向用户的。**域名可将一个

2021-01-17 17:19:45 1165

原创 ip地址详解(深入网络层分析)

四、网络层1 虚电路服务于数据报服务对比对比方面虚电路服务IP数据报服务思路可靠的的通信由网络来保证可靠的通信由用户主机来保证连接的建立必须不需要终点的地址仅在连接建立的时候使用,每个分组使用短的虚电路信号每个分组都有终点的完整地址分组的转发属于同一条虚电路的分组均按照固定的路由转发每个分组独立的选择路由当节点故障时整个虚电路都无法继续工作出故障的节点可能会丢失分组,一些路由可能发生变化分组的顺序总是按照发送顺序到达节点到达结点

2021-01-17 17:11:30 5333

原创 ping指令详解

1 ping命令分析1)概念ICMP协议是*“Internet Control Message Ptotocol”(因特网控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP*主机、路由器之间传递控制消息。ping (Packet Internet Groper):因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令ping命令通常用来作为

2021-01-17 17:08:07 3072 1

空空如也

空空如也

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

TA关注的人

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