自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 Navcat15Premium激活失败

1.报错:No All Pattern Found! File Already Patched?解决办法1:完全卸载(网上通用的方法,包括注册表信息等)。本人试用无效。解决办法2:不卸载原来的navcat,直接重新安装并覆盖原来的安装目录;完成后再次启动破解软件,点击patch。有效!2.报错:request code not valid图片来自网络可以看到这里有时间限制,把电脑时间改到这个时间之前再次尝试即可。不要忘记把时间改回来!...

2022-04-29 14:07:20 5074 2

原创 AQS——从ReentrantLock入手,了解锁的获取的释放

AQS以下内容可参考美团技术团队:从ReentrantLock的实现看AQS的原理及应用讲到ReentrantLock就不得不讲AQS,因为Lock的底层就是基于AQS来实现的。那么。什么时AQS呢?AQS全称AbstractQueuedSynchronizer,是JUC中的一个类。它提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。常见的ReentranrLock、Semaphore、CountDownLatch、ThreadPoolExecutor中都是用到了这个类。AQS类源

2022-01-17 20:19:17 440

原创 RabbitMQ

RabbitMQ一、初识MQ官网地址:https://www.rabbitmq.com/tutorials/tutorial-one-java.html了解RabbitMQ之前有必要了解什么是MQ、MQ的作用及一些相关的概念。MQ:Message Queue,消息队列;也就是数据结构队列FIFO的一种体现,而消息队列就是对消息或数据处理的一个队列。优势/作用:主要有如下流量削峰:当服务器某时刻访问量激增导致服务器宕机的时候,MQ可对对流量进行限制以减小服务器压力。应用解耦:作为一个中间件,将

2021-12-13 11:30:07 1701

原创 Zookeeper

Zookeeper官网地址:https://zookeeper.apache.org/doc/current/zookeeperOver.html一、概述????概述参考官网1.什么是Zookeeper?Zookeeper是分布式应用程序的分布式开源协调服务。它公开了一组简单的原语,分布式应用程序可以构建这些原语来实现更高级别的同步、配置维护以及组和命名服务。Zookeeper出现的最终目的是减轻分布式应用程序从头开始实现协调服务的责任。2.Zookeeper的特点Zookeep

2021-12-13 11:22:40 920

原创 I/O中同步、异步、阻塞、非阻塞的关系梳理

同步、异步、阻塞、非阻塞主要对于I/O中同步、异步、阻塞与非阻塞之间关系的梳理。因为他们之间的关系自我感觉太过于模糊,所以需要梳理以下。以下仅为个人的理解。同步与异步同步指:一个任务B依赖于任务A,只有等待任务A执行完成通知任务B之后,任务B才能继续进行进行;是可靠的。异步指:一个任务B依赖于任务A,但是任务B不需要等待任务A执行完成就可以继续执行,置于任务A是否执行完成它(B)并不关心。同步/异步体现的是一种消息通知机制,一个任务依赖另一个任务,同步需要等待被依赖任务完成并返回通知;而异步情

2021-09-24 21:39:38 87

原创 Mysql优化

Mysql高级Linux下安装教程可参考:https://www.cnblogs.com/l-y-h/p/12576633.html一些关于远程连接问题:3306端口需要开放如果使用云服务器,注意安全组的设置远程连接错误:1130 ,表示没有权限:》进入mysql》use mysql》update user set host=’%’ where user=‘root’;》flush privileges;即可一、概述Mysql的逻辑架构Mysql的逻辑架构分为四

2021-09-14 09:37:09 77

原创 NIO的使用

NIO所在包:java.nio一、概述BIO与NIOBIO:即Blocking IO 阻塞IO,顾名思义就是会被阻塞的IO。在数据读取(或者写数据)的时候,只有当读取到(或写完)数据之后才能做其他的事情,而在这期间一直处于阻塞状态(等待操作的完成)。NIO:Non-Blocking IO 非阻塞IO,顾名思义就是不会被阻塞的IO。在读取(或写)数据的时候,只将请求发送给底层操作而自己就可以继续做别的事情,当读取(或写)完成自己后,会有Selector通知该线程已经完成,则该线程在回来操作数据。

2021-09-14 09:33:24 135

原创 适配器模式之FutureTask

最近在学习JUC的相关类的源码的时候,看到了FutrueTask类中有使用到适配器模式,加之前段时间刚学习了设计模式,所以就了解了一下加深对适配器模式的理解。简单解释一下适配器的思想:就是一个类不能被直接使用,就通过适配器将其转换为另一个类的过程。就像家庭电压为220V,但是手机充电是不能直接使用220V的交流电,需要通过电源适配器将其转换为5V的直流电才能直接使用,这个电源适配器就是适配器模式中的适配器。直接上代码:构造方法一:传入参数为Callable接口 public FutureTas

2021-09-08 22:14:26 380

原创 设计模式3(行为型)

行为型模式设计模式1(创建型)设计模式2(结构型)模板方法模式命令模式访问者模式迭代器模式观察者模式中介者模式备忘录模式解释器模式状态模式策略模式责任链模式模板模式模板模式(Template Pattern)使用有个抽象类公开定义它的方法模板;其子类根据自身需求可重写抽象方法。模板模式相当于设定好了一个框架流程,子类作为具体实现,按照这个流程进行实现。对于相同的步骤可以使用具体的方法,而对于有差异的方法由子类具体实现。优点:行为由父类控制、子类实现;提取了公共代码便于维护。

2021-09-01 19:09:43 217

原创 设计模式2(结构型)

结构型模式设计模式1(创建型)适配器模式桥接模式装饰模式组合模式外观模式享元模式代理模式适配器模式适配器模式(Adapter Pattern)的作用是作为两个不兼容的接口的"转接口",将目标的功能转换为需求的功能。最常见的例子就是电源适配器:家用电源一般都是220V交流电,手机电脑等小型用电器不能直接使用,所以需要电源适配器将其转化为电压较小的直流电来使用,而这个电源适配器就可以理解为适配器模式中的适配器。优点:使用灵活,提高了代码的复用性,也有利于解耦。缺点:过多的适配器会使系

2021-08-27 21:03:01 214

原创 设计模式1(创建型)

设计模式设计模式的原则首先需要了解使用设计模式的目的:代码可重用性:对于功能重复的代码不用多次编写;可读性:使编程具有规范性,便于阅读和理解;可扩展性:在需要添加功能的时候,可以很方(可维护性高);可靠性:当添加新功能之后对原来的功能没有影响;实现高内聚、低耦合。设计模式的七大原则:单一职责原则降低类的复杂性,一个类只负责一个职责;提高类的可读性,可维护性;降低代码变更的风险;接口隔离原则客户端不应该它不需要的接口,即一个类对另外一个类的依赖应该建

2021-08-26 21:11:51 119

原创 理解和使用JUC

JUC一、前提概要进程与线程简单来说,进程就是一个程序,是cpu的最小资源分配单位;而一个进程可以有多个线程,所以线程是最小的运行单位。java中线程的状态注意,这里说的状态而不是生命周期,所以有如下6中状态:初始(New)就绪/运行(Runnable)阻塞(Blocked)等待(Waiting)超时等待(Timed_Waiting)终止(Terminated)wait与sleep同:都会被interrupted方法中断都是在哪里停止,在哪里继续异:w

2021-08-16 20:44:03 139

原创 java字节码文件学习

字节码文件结构篇java虚拟机规范——字节码文件官网:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.1源代码经编译后会生成字节码文件,字节码文件是一种二进制的类型文件,它的内容是jvm指令。字节码指令:java虚拟机的指令又一个字节长度的、代表某种特定操作含义的操作码(opcode)以及跟随其后的零至多个代表此操作所需参数的操作数构成。字节码文件整体结构:ClassFile { u4

2021-08-10 14:16:33 1170

原创 jvm内存结构介绍

JVM结构篇jvm的发展历程classic jvm >>> exact jvm >>> HotSopt 、 JRockit(最快,专注于服务端)、J9HotSpot虚拟机结构如下:一、类加载子系统从本地或网络中加载class文件(文件开头有特定的文件标识)三个阶段:加载、连接、初始化1.加载阶段(Loading)从各个途径(本地、网络、数据库等)加载.class文件(二进制流),最终生成java.long.Class类类加载器分

2021-08-10 14:10:27 114

原创 Swagger基本使用

SwaggerSwagger即API接口管理工具。在前后端分离的项目中,前端和后台的项目时分开的,而前后端通过API来交互。二者相对独立(松耦合)。但是,如果前后端没有能够即使更新二者的需求,就会导致二者结合失败,故而影响开发效率。而Swagger能够实现API文档与API的定义同步更新。官网:https://swagger.io/SpringBoot整合Swagger创建SpringBoot项目导入依赖 <!-- Swagger2依赖 -->

2021-08-10 13:59:42 99

原创 does not have available server

##SpringCloud报错: com.netflix.client.ClientException: Load balancer does not have available server for client: …简单字面理解就是:注册中心没有可用的服务原因:没有注册服务:eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/注册失败:确保上面的配置完全正确(比如:defaul

2021-05-26 18:31:29 513

原创 Redis

Redis一、Nosql为这么要使用Nosql:因为当下数据量和访问量很大,一个机器放不下,内存不够使用缓存,即可将一些数据放入缓存中,用户查询时就可以在缓存中找到数据,而不用在取数据库中查询数据Nosql特点:Redis是单线程+io多路复用,所以具有原子性(不同的操作不会被打断)(解耦)方便扩展大数据量高性能数据类型多样性,不需要设计数据库传统RDBMS和Nosql不支持ACIDNosql的四大分类:KV键值对:Redis文档数据类型:MongoDB列存储数

2021-05-15 21:12:34 179

原创 springCloud-Alibaba

Spring-Cloud-AlibabaNacos(服务注册和配置中心)一、安装官网:https://nacos.io/zh-cn/刚下完是集群模式,所以直接启动会显示"nacos is starting with cluster"可以在bin/startup.cmd文件中修改:set MODE="standalone"修改完成后即可启动成功,在浏览器输入:http://localhost:8848/nacos即可进入nacos管理界面:二、作为服务注册中心以下配置均可在官网文

2021-05-13 21:36:36 595

原创 springCloud

微服务模块构建一、创建父工程创建Maven父工程用于依赖的版本控制管理创建一个maven工程,只保留pom文件需要做相关的修改:修改Pom文件将父工程的‘packaging’设置为pom添加依赖管理版本统一管理和依赖管理<packaging>pom</packaging> <!--统一管理jar包版本--> <properties> <projetc.build.sourceEnco

2021-04-28 21:15:25 130

原创 深度优先遍历DFS (岛屿问题)java

算法之深度遍历(DFS)最近在学习DFS和BFS,所以做一些学习的笔记,这里是深度遍历。首先,比较常见的深度遍历题目就是网格题(可抽象为二维数组)。在LeetCode中常见的是岛屿问题。思想:深度遍历的思想可以理解为:找到一个起始点S选择一个与S相邻的节点N1,并到达该节点在以该N1未起始点,选择他的相邻节点N2…如此循环,直到最后有一个节点Nn没有相邻节点此时,返回到上一个节点N(n-1),选择另外的相邻节点,继续步骤2-4最后就会遍历完全部的节点这里会有一个问题:第二部会访问N

2021-03-28 22:15:30 492

原创 nginx高可用

Nginx高可用为什么要使用nginx的高可用:因为nginx作为反向代理服务器时,有可能出现宕机的情况,而由于其反向代理的特性,就会导致其他服务器(tomcat等)无法被访问,这样项目就停止工作了。但是使用了高可用后,就可以避免这种现象出现。什么是高可用:nginx的高可用简单来说就是配置了两台(或更多)的nginx服务器,当主服务器宕机时,就会自动切换到备用服务器,从而保证项目的持续运行。高可用的原理:nginx的实现需要借助其他工具(keepalived)来实现。在keepalived中配置一个

2021-03-15 19:54:42 4838 2

原创 nginx入门学习笔记

Nginx一、基本概念Nginx是一个高性能的http和反向代理服务器,专注于优化性能,占用内存少,支持高并发。反向代理:首先理解正向代理,即使用浏览器访问某个服务器时无法直接访问到,则需要在浏览器配置代理服务器,由代理服务器向该服务器进行访问(浏览器—>代理服务器—>目标服务器);而反向代理,浏览器不需要配置代理服务器,浏览器只需将请求发送至反向代理服务器,反向代理服务器会将请求发给各个目标服务器,再返回信,过程中,浏览器不知道目标服务器的存在,只知道反向代理服务器(反向代理服务器与目标

2021-03-15 19:48:28 258

原创 Linux常见问题解决

一、无法ping新安装好系统后,无法使用ping;解决:前提:确保系统的网络适配器使用的的桥接1.使用命令vi /etc/sysconfig/network-scripts/ifctg-ens33最后的一级的名称可能不一样。具体视情况而变2.修改文件主要修改内容:BOOTPBOTO=DHCPONBOOT=YES3.修改完成后重启网卡service network restart 如果出现false,一般重启系统即可4.使用ping命令可以ping通二、无法使用ifconfi

2021-03-15 15:26:46 580

原创 git 基本使用学习

Git常用命令为了更好的管理代码和学习开源项目,学习git工具是非常有好处的Git官方链接,下载安装即可使用https://git-scm.com/一、配置环境保存在.gitconfig文件中设置用户信息:git config --global user.name "zj"git config --global user,email "[email protected]"查看配置信息:git config --listgit config user.name二、获得

2021-03-12 21:20:19 93

原创 java8 新特性

java8 主要新特性一、lambda表达式Runnable run = () ->{ System.out.println("hello"); };格式:lambda操作符(箭头操作符): ->操作符左边:lambda形参列表,即:接口中的抽象方法的形参列表操作符右边:方法体,即:接口抽象方法的方法体特殊情况:lambda表达式的参数列表的参数类型可以省略(类型推断);如果只有一个参数,小括号可以省略lambda体应用大括号包起

2021-03-11 13:54:15 48

原创 java socket入门学习笔记

java socket计算机网络知识不做赘述一、InetAddress类public static void main(String[] args) { try { System.out.println("--------获取ip地址-------"); InetAddress byName = InetAddress.getByName("192.168.43.8"); System.out.println(by

2021-03-08 19:37:07 87

原创 java IO学习笔记

JAVA I/O一、流的分类按流向分输入流:将数据从存储设备读入到内存中输出流:将数据从内存中存到存储设备上按单位分字节流:以字节为单位,可以读写所有数据InputStream:字节输入流,常用有的方法:int read()从输入流读取数据的下一个字节。int read(byte[] b)从输入流读取一些字节数,并将它们存储到缓冲区 b 。int read(byte[] b, int off, int len)从输入流读取最多 len字节

2021-03-08 11:05:34 62

原创 java 集合学习笔记

Collection接口APIModifier and TypeMethod and Descriptionbooleanadd(E e) 确保此集合包含指定的元素(可选操作)。booleanaddAll(Collection<? extends E> c) 将指定集合中的所有元素添加到此集合(可选操作)。voidclear() 从此集合中删除所有元素(可选操作)。booleancontains(Object o) 如果此集合包含指定的元

2021-03-07 12:01:51 154

原创 java 枚举&注解学习笔记

java 枚举类当需要定义一组常量时,可以使用枚举类一、定义枚举类:方式一:自定义枚举类(jdk5.0之前)persion对象的属性:使用final关键字修饰创建类的构造器,并给对象的属性赋值创建枚举类的多个对象public class demo1 { public static void main(String[] args) { System.out.println(persion.A.toString()); System.out.pr

2021-03-04 19:28:08 103 3

原创 docker学习笔记2021-2-17

Docker一、概述docker容器的背景及优点不做赘述docker为go语言开发的一种容器技术,主要用于解决项目"水土"不服问题二、安装docker在linux系统中使用yun安装将yum更新到最新yum update安装需要的软件包yum install -y yum-utils device-mapper-persistent-data lvm2设置yum源yum-config-manager --add-repo https://download.docker.

2021-02-17 18:26:15 174

原创 反射原理即使用(浅尝)

前提:刚学习了ssm框架,对ssm框架有了初步的了解,知道框架的底层实现是基于反射机制,故而学习浅尝了反射机制,仅作为学习笔记和学习记录反射将类的各个组成部分封装为其他对象,即为反射机制一、优点可以在程序运行中,操作这些对象可与i解耦,提高程序的可扩展性二、获取class对象的方式Class.forName(“全类名” : 将字节码文件加载进内存,返回C对象(多用于配置文件)//1. Class.forName("全类名"Class Class1 = Class.forName("

2021-02-04 20:09:50 70

原创 Mybatis学习笔记

Mybatismybatis为持久层(Dao层)的使用框架通过xml或注解的方式将statement配置起来将java对象和statement中的sql参数进行映射生成最终执行的sql语句一、原始jdbc1.1、原始jdbc查询操作查询://注册驱动Class.forName("com.mysql.jsbc.Driver");//获得连接Connection conn = DriverManager.getConnection("jdbc:mysql:///test","root",

2021-02-02 16:35:36 338

原创 SSM学习笔记

本文为个人的学习笔记,仅作为学习记录笔记Spring(IDEA)一、概念spring是分层的java SE/EE应用full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。二、优势提供IoC容器,解耦;AOP编程的支持声明式事务的支持方便测试方便集成各种框架降低javaEE API的使用难度(封装)java源码可供学习三、开发步骤导入Spring开发

2021-01-26 16:59:38 1379 2

原创 动态规划问题Java解题

题目:leetcode:https://leetcode-cn.com/problems/coin-change/给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。解题思路:第一次做此类问题,学习后写的笔记,代码中解释更为直观,可见代码。该题为典型的动态规划(Dynamic Programming)问题,求最优解(最少硬币),使用动态规划来解决。一、

2021-01-25 21:37:48 284

原创 spring学习笔记

Spring(IDEA)**前言:**该学习记录是本人观看视频学习时整理的笔记,仅作为学习记录和个人学习。一、概念spring是分层的java SE/EE应用full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。二、优势提供IoC容器,解耦;AOP编程的支持声明式事务的支持方便测试方便集成各种框架降低javaEE API的使用难度(封装)java源码可供学习

2021-01-18 15:36:33 74

原创 maven学习笔记

Maven前言:此笔记为个人基于观看b站尚硅谷maven视频的学习整理笔记常用jar包依赖网站https://mvnrepository.com/一、Maven的优点1.maven可以将一个项目拆分成多个工程2.maven可将架包仅仅保存在“仓库”中,需要时可以“引用“文件接口,不需要真正复制jar包3.解决架包依赖问题,maven会自动导入被依赖的架包4.具有规范的、可靠的方式下载架包二、构建过程中的各个环节1.清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备2

2021-01-11 16:27:53 317 1

原创 查询后的偶数和问题

题目:给出一个整数数组 A 和一个查询数组 queries。对于第 i 次查询,有 val = queries[i][0], index = queries[i][1],我们会把 val 加到 A[index] 上。然后,第 i 次查询的答案是 A 中偶数值的和。(此处给定的 index = queries[i][1] 是从 0 开始的索引,每次查询都会永久修改数组 A。)返回所有查询的答案。你的答案应当以数组 answer 给出,answer[i] 为第 i 次查询的答案。示例:输入:A =

2021-01-04 19:02:49 99

原创 stm32入门实验代码编写步骤整理

前提1.该笔记为本人学习时做的一些笔记,仅为个人学习只用,可能存在错误或缺陷2.本人是在 正点原子 平台学习,具有大量视频,讲解清楚一、GPIO 的操作步骤1) 使能 IO 口时钟。调用函数为 RCC_APB2PeriphClockCmd()。2) 初始化 IO 参数。调用函数 GPIO_Init();3) 操作 IO。GPIO_SetBits()、GPIO_ResetBits ()等二、串口usart**1) 串口时钟使能,GPIO 时钟使能;RCC_APB2Periph

2021-01-03 10:47:29 3994

原创 前端HTML/CSS学习笔记

前言该笔记仅为个人学习时做的一些笔记,作为学习记录,可能存在错误或缺陷。HTML(超文本标记语言)https://www.w3cschool.cn/html/dict一、主题格式<!DOCTYPE html> <!--文档声明--><html> <!--根标签--> <head> <!--子标签--> <meta charset="utf-8"> <!--字符集--&

2021-01-03 10:41:30 231

原创 python入门笔记

前言:该笔记为空闲时间自学python时做的一些笔记,仅作为本人的学习记录,可能存在错误或不完整的地方。python入门笔记1.条件分支:1.1基本结构1.if………if…………if2.If…else3.If…elif………….elif………if1.2三元操作符>>> x if x<y else y表示如果x<y则为x,否则为y2.列表>>>[ ] 可以同时包含各种数据类型2.1添加元素:\1. append() 只能添加一

2021-01-03 10:17:29 742

java学习常用jar包.zip

c3p0-0.9.5.2.jar、c3p0-config.xml、druid-1.1.21.jar、gson-2.8.5.jar、jsp-api.jar、jstl-1.2.jar、mysql-connector-java-5.1.48.jar、mysql-connector-java-8.0.12.jar、servlet-api.jar、sqljdbc4.jar、standard-1.1.2.jar

2021-03-12

空空如也

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

TA关注的人

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