自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【笔试】华为OD机试20210320

华为OD机试20210320记录下午三点左右开始的,时间150分钟,三道题,两道简单100分/每道,一道复杂200分/每道。满分400,320及格。第一次参加牛客的机试,没准备好,电脑还不给力,开头卡了半个小时。考的时候没记录题的内容,考完发现不能查看做过的题和分数,只能问hr结果。凭记忆记录一下这三道题。1.给定一个数组,求是否存在满足A=B+2C等式的三个元素A、B、C2.拼接url,给定一个字符串,中间存在“,”隔开前后两个url,要求拼接这两个url,且中间有且只有一个“/”。 (例如 ab

2021-03-22 17:55:31 25567 28

原创 【leetcode】5. 最长回文子串

5. 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成作答=============================

2021-03-18 16:08:59 387

原创 【Zookeeper】Zookeeper

Zookeeper一、入门1.1概述zookeeper是一个为分布式应用提供协调服务的项目Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,比如服务器的状态。然后接受观察者客户端的注册,一旦这些数据的状态发生变化 ,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。1.2特点1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。2)集群中只要有半

2021-03-08 19:36:04 302

原创 【Java基础】JDK1.8新特性

JDK1.8新特性Lambda表达式匿名内部类操作符:new;一个要实现的接口或要继承的类;一对括号,如果是匿名子类,与实例化普通类的语法类似,如果有构造参数,要带上构造参数;如果是实现一个接口,只需要一对空括号即可;一段被"{}"括起来类声明主体;末尾的";"号(因为匿名类的声明是一个表达式,是语句的一部分,因此要以分号结尾)。Lambda如果接口中只有一个需要被实现的方法,可以使用Lambda表达式代替匿名内部类对接口进行简单实现。语法形式为 () -> {},

2021-03-06 22:53:56 214

原创 【集合】集合

集合在jdk的java.util包下,集合主要派生自Collection接口和Map接口,Collection接口属于对象的集合,Map接口属于键值对的集合。实现自Collection接口的又有List接口(有序可重复)和Set接口(不可重复)。List接口的实现类有LinkedList(基于链表,增删快,查询慢,线程不安全),ArrayList(基于数组,查询快,增删慢,线程不安全),Vector(基于数组,线程安全,读写都加锁,每个方法都加了synchronized),CopyOnWriteAr

2021-03-05 23:36:01 255

原创 【MQ】RabbitMQ

MQ一、消息中间件简介Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. 维基百科给出的消息中间件的定义是支持在分布式系统中发送和接受消息的硬件或软件基础设施。消息中间件就是用来解决分布式系统之间消息传递的问题。二、消息中间件的典型使用场景1、系统解耦首先假设有一

2021-03-03 20:51:48 302 3

原创 【并发】并发

并发进程和线程进程:资源分配的基本单位。可以理解为在内存中运行的程序。每个进程都有独立的内存空间,一个进程包含多个线程线程:任务执行的基本单位。负责进程中任务的执行。每个线程共享进程的内存空间,一个线程使用时,其他线程必须等待。用户 (User) 线程:运行在前台,执行具体的任务,如程序的主线程、连接网络的子线程等都是用户线程。守护 (Daemon) 线程:运行在后台,为其他前台线程服务。也可以说守护线程是 JVM 中用户线程的 “佣人”。一旦所有用户线程都结束运行,守护线程会随 JVM 一

2021-03-01 20:08:35 765

原创 【JavaScript】前端编写js脚本需关注点

JavaScript文章目录JavaScript1. var let const2. null undefined3. layer.open layer.alert4. GET和POST区别5. JSON6. JSON.stringify() JSON.parse()7. JS获取时间8. Ajaxurl:type:async:data:dataType:contentType:success:error:1. var let constvar:普通变量let:局部变量const:常量2.

2021-02-26 11:29:13 344

原创 【JVM】JVM

JVMJVM的组成及流程JVM包括运行时数据区、类加载器、执行引擎、本地库接口。首先编译器将Java代码转为字节码,类加载器再把字节码加载到JVM内存即运行时数据区的方法区内,再由执行引擎将字节码翻译为底层指令,交由CPU执行,这个过程需要调用其他语言的本地库接口。JVM运行时数据区首先是线程独占的,包括程序计数器、Java虚拟机栈、本地方法栈​ 程序计数器:记录当前线程所执行字节码指令的地址,以便切换线程时可以恢复到正确的执行位置​ Java虚拟机栈:每个方法被执行时,Java虚拟机

2021-02-23 23:09:36 225 1

原创 【MySQL】MySQL

MySQLMySQL与Oracle的区别MySQL免费,Oracle付费MySQL自动提交事务,Oracle需要手动commit提价MySQL对于字符类型支持char和varchar,Oracle支持CHAR,NCHAR,VARCHAR2和NVARCHAR2MySQL事务默认隔离级别REPEATABLE READ,Oracle默认隔离级别READ COMMITTED,且都支持SERIALIZABLEREAD COMMITTED(提交读),大多数数据库系统的默认隔离级别(MySQL不是)。一

2021-02-21 00:47:51 206

原创 【工作笔记】web项目从Spring3.x升级到Spring4.x

Spring3.x升级到Spring4.xSpring升级首先到https://docs.spring.io/spring-framework/docs官方文档查看Spring各个版本的信息,比较不同,确定要升级的版本和要改动的地方。从官网可以得知***Spring4.3.x版本于2020年12月31日正式停产***,如果不想升级到Spring5.x,可以使用Spring4.3.x版本。我要升级的项目是非maven项目,且是3.0.6===》4.3.14,可以先看下Spring3.x和Spring4.

2021-01-26 19:43:45 1746

原创 【多线程】如何创建线程池

文章目录ThreadPoolExecutor构造方法创建线程池Executors创建线程池(不要用)Executors中四种线程池实现方式:Executors返回的线程池对象的弊端如下:ThreadPoolExecutor构造方法创建线程池import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;/** * 线程池创建 * @author zmxqq * @date 2020/12/1 - 1

2021-01-12 19:06:37 240

原创 【Java基础】Java基础扫盲

Java基础扫盲文章目录Java基础扫盲1 Java创建一个对象的方法有几种?[~](https://www.cnblogs.com/liululee/p/11570353.html)2 Java中== 和equals的区别是什么?3 序列化的作用是什么?常见的序列化方法是什么?Java自带的序列化是怎么实现的?4 解释下重载和重写的区别?[~](https://blog.csdn.net/geekmubai/article/details/81975990)5 [有了解过java的异常机制么?](ht

2021-01-07 19:42:08 266 1

原创 【Spring】Spring事务

Spring事务文章目录Spring事务0.事物的概念1.Spring事务的配置方式1.1编程式事务管理1.2声明式事务管理2.Spring事务的传播机制3.事物的隔离级别4.只读5.事务超时6.回滚规则7.Spring声明式事务配置参考表 1. @Transactional 注解的属性信息8.Spring事务实现原理图 1. Spring 事务实现机制图 2. TransactionManager 类结构@Transactional 只能应用到 public 方法才有效避免 Spring 的 AOP 的

2020-12-18 09:00:31 168

原创 【并发】锁是什么?

锁文章目录锁1.锁的类型乐观锁CASCAS的操作过程CAS的三个问题悲观锁自旋锁适应性自旋锁无锁偏向锁轻量级锁重量级锁公平锁非公平锁可重入锁非可重入锁独享锁共享锁锁状态只能升级不能降级。2.锁状态升级原理偏向锁轻量级锁各种锁的比较3.synchronized3.1 synchronized修饰方法和同步代码块的区别3.3 synchronized分别修饰在实例方法和静态方法时,多线程并发时会竞争锁4.ReentrantLockReentrantLock与Synchronized的区别:ReentrantL

2020-12-15 00:26:45 598

原创 【Dubbo】Dubbo(三)SpringBoot整合Dubbo配置

SpringBoot整合Dubbo相比于上面ssm项目繁琐的xml配置,SpringBoot就简洁的多。1.添加dubbo-spring-boot-starter依赖,其中直接包含了dubbo和zookeeper客户端<!-- Dubbo Spring Boot Starter --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId&g

2020-12-13 22:34:54 528

原创 【Dubbo】Dubbo(二)简单实践

Dubbo(二)实践安装注册中心:下载zookeeper,在zookeeper路径下新增date文件夹存储数据,conf路径下新增zoo.cfg,编辑zoo.cfg,修改数据目录dataDir为新增的data文件夹,其他与zoo_sample.cfg一样:执行bin目录里的zkServer.cmd启动注册中心启动成功执行zkCli.cmd ,连接zookeeper注册中心zookeeper是一个树型的目录服务get / 获取zookeeper根节点,ls / 查看根节点下的节点,

2020-12-02 22:57:38 276 3

原创 【多线程】多线程-简单

文章目录0.概念1.Thread类主要方法执行start()和run():中断**interrupted()** :isInterrupted :interrupt() :线程间协作join() :join(long)睡眠sleep(long) :Thread的sleep()与Object.wait()区别:yield():2.ThreadLocal2.1ThreadLocal与Thread2.2ThreadLocal类几个核心方法:2.3ThreadLocal的应用场景Session管理:数据库连接:Th

2020-12-01 20:26:33 150

原创 【Linux】Linux查看服务器日志

Linux查看服务器日志第一种:查看实时变化的日志tail -f catalina.out (默认最后10行)tail -n 20 catalina.out (显示最后20行)tail -n +5 catalina.out (从第5行开始显示)第一种一般测试的时候使用,或者生产环境下调试。 执行完代码及时CTRL+C看下日志打印信息。第二种:搜索关键字附近的日志cat -n catalina.out | grep “关键字”cat -n catalina.out | grep -C 5

2020-11-26 08:55:39 672

原创 【Spring】Spring源码(一)循环依赖与bean生命周期

Spring循环依赖文章目录Spring循环依赖Spring解决循环依赖Spring生命周期1.扫描:扫描是否有bean注入2.解析:解析是不是单例模式,是否懒加载...3.调用扩展:查看是否赋予额外的扩展功能4.验证:根据第二步解析获得的属性判断要不要new一个Bean5.实例化:实例化Bean============================如图,类之间的相互引用就是循环依赖,spring是允许这样的循环依赖(前提是单例的,非构造方法注入的情况下)原型模式时每次注入bean(例如B)

2020-11-26 00:07:59 210

原创 【Java基础】计算机网络知识整理

文章目录OSI七层模型与TCP/IP 五层模型?各层常见协议与硬件?常见协议的概念?TCP,UDP区别?[TCP如何保障可靠传输?](https://blog.csdn.net/qq_32998153/article/details/79678565 )TCP粘包现象原因和解决方法?TCP三次握手?TCP四次挥手?客户端浏览器一次http完整请求过程?HTTP与HTTPS之间的区别?GET和POST区别?HTTP常见响应状态码?重定向和转发区别COOKIE和SESSION有什么区别?怎么获取Cookie/S

2020-11-23 23:11:30 322

原创 【Dubbo】Dubbo(一)为什么使用Dubbo?

DubboDubbo是一款Java RPC框架如何将应用打包并部署到服务器上?之前的单一应用架构,可以部署到多个服务器上,每次修改或扩展某一处功能都要将整个应用重新打包并部署到多台服务器上;协同开发时都改这一个应用,不利于开发与维护;当应用规模不断扩大,一台服务器无法支撑整个单体应用,仅仅依靠增加服务器也不能带来效率上的显著提升。垂直应用架构:将整个应用拆分成多个子应用,每个子应用都包括页面、业务逻辑、和数据操作。开发人员分工合作时可以互不干扰;可以对访问量较多的子应用进行服务器扩展,而不是整

2020-11-22 23:21:34 287 1

原创 【设计模式】------Proxy(jdk动态代理与cglib动态代理的区别)

设计模式------Proxy链接:AOP原理之动态代理文章目录设计模式------Proxy什么是代理?Java中如何实现代理?代理的名词静态代理继承聚合动态代理JDK动态代理CGLIB动态代理JDK和CGLIB动态代理区别1.何时使用jdk还是cglib2.如何强制使用cglib3.区别4.为什么继承只能使用CGLib什么是代理?增强一个对象的功能买火车票,app就是一个代理,代理了火车站的售票处Java中如何实现代理?Java实现代理的两种办法:静态代理和动态代理代理的名词代

2020-11-19 21:59:25 159

原创 【集合】ArrayList异常ConcurrentModificationException原因及解决办法

1.并发不安全—并发修改异常今天遍历并删除ArrayList中的map时遇到了这个问题:并发修改异常代码大概如下:for(Map<String, Object> resultMap: list){ if (...){ list.remove(resultMap); }}看一下这段代码的字节码文件:Iterator var6 = list.iterator();while(true) { Map resultMap; if (!var6

2020-11-16 22:23:30 1511

转载 【MySQL】sql模糊查询正则表达式

MySQL使用Regexp函数,如select * from course c where c.t_id regexp '^\[0-2]+$' 1. 正则表达式元字符说明 元字符含义^匹配输入字符串的开始位置。$匹配输入字符串的结尾位置。*匹配前面的字符零次或多次。+匹配前面的字符一次或多次。?匹配前面的字符零次或一次。.匹配任何字符,除了空.|指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字

2020-11-14 11:19:35 891

原创 【JVM】JVM 垃圾收集器与内存分配策略

JVM 垃圾收集器与内存分配策略由JVM内存区域可知Java运行时内存的各个区域。其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,当方法结束或者线程结束时,内存就会跟着被回收了。而只有处于运行期间,我们才能知道程序究竟会创建哪些对象,创建多少个对象,所以Java堆和方法区这两个区域内存的分配和回收时动态的,垃圾收集器也只关注这部分内存的管理。一.对象存活判断1.引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时

2020-11-11 23:49:46 236

原创 【Spring】AOP实例—日志模块的实现

AOP实例—日志模块AOP能够使系统服务(例如:日志模块、安全模块、事务管理)模块化,并以声明的方式将它们应用到它们需要影响的组件中去。使业务组件会具有更高的内聚性并且会更加关注自身的业务,完全不需要了解涉及系统服务所带来复杂性。日志模块就属于一种系统服务,业务组件不需要自己编写日志逻辑,而是将日志这种渗透到整个系统的服务切面化,利用AOP编写好日志逻辑,并声明到需要记录日志的组件当中。本文以项目中比较常用的日志为例,讲解AOP及注解的部分功能 。1.切面化日志模块1.1导入jar包使用AO

2020-11-03 14:49:27 628

原创 【Java基础】抽象类和接口

抽象类和接口**要点:**父类中定义了相关子类中的共同行为。接口可以用于定义类的共同行为(包括非相关的类)。1.抽象类(abstract class):要点:抽象类不可以用于创建对象。抽象类可以包含抽象方法,这些方法将在具体的子类中实现。一个父类设计得非常抽象,以至于他都没有任何具体的实例。这样的类称为抽象类。通过extends继承。注意:不能使用new操作符创建抽象类的实例。但是抽象类可以做一种数据类型。例如创建一个元素是抽象类型的数组:AbstractDemo[] object = new

2020-10-27 21:21:22 162

原创 【Spring】Spring官方文档笔记

Spring官方文档,和任何一本spring书籍相比,它都更新更全文章目录Spring**1. 控制反转**(Inversion of Control,IoC)1.1 依赖注入(dependency injection,DI)(1)Spring有三种装配bean的方式**①xml配置方式装配:**[xml配置方式](https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans

2020-10-27 21:19:03 197

原创 【JVM】Java内存区域与内存溢出异常

JVM——Java内存区域链接:Java内存区域Java虚拟机 运行时数据区域线程独占(ⅠⅡⅢ)Ⅰ 程序计数器各个线程都有一个独立的程序计数器,记录正在执行的虚拟机字节码指令的地址。Ⅱ Java虚拟机栈线程私有,与线程拥有相同的生命周期。虚拟机栈描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都会同步创建 一个栈帧用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每一个方法被调用直至执 行完毕的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。局

2020-10-07 18:12:51 209

原创 MANIFEST.MF文件作用及格式要求

MANIFEST.MF文件作用及格式要求manifest.mf文件格式如下Manifest-Version: 1.0Class-Path: xxx1.jar xxx2.jar xxx3.jar xxx4.jar xxx5.jarMain-Class: com.example.demo.DemoApplication包括Manifest版本,Class-Path(类加载器通过这个路径找到要用的jar包)和Main-Class(jar文件的入口类)注意:每项的冒号后有一个空格,Class-P

2020-09-16 16:41:33 1656

原创 【leetcode】----102二叉树的层序遍历

102二叉树的层序遍历给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]BFS详解图片来源BFS广度遍历公式:bfs遍历所需要的数据结构为队列,当需要广度遍历时可先写出下面的公式。void bfs(TreeNode

2020-09-16 14:40:28 127

原创 Object类中有哪些方法?

Object类中有哪些方法?registerNatives方法private static native void registerNatives(); /** * 对象初始化时自动调用此方法 */ static { registerNatives(); }作用:类被加载时注册该类所包含的除了registerNatives()方法以外的所有本地方法,例如getClass()、hashCode()、clone()等getClass方法/*

2020-09-10 19:36:43 195

原创 搞定HashMap线程不安全问题-----ConcurrentHashMap源码解析

搞定HashMap线程不安全问题-----ConcurrentHashMap源码解析前言​ HashMap是线程不安全的集合,如果要保证线程安全该怎么做呢?​ 首先,HashMap为什么会线程不安全?​ jdk1.7中,在多线程环境下,(头插法)扩容时会造成环形链或数据丢失。​ jdk1.8中,在多线程环境下,PUT方法会发生数据覆盖的情况。​ 如何保证线程安全?//替代HashMap的方式public static void main(String[] arg

2020-09-07 13:31:24 279

原创 ReentrantLock源码分析及AQS原理

ReentrantLock源码分析及AQS原理ReentrantLock源码分析ReentrantLock(可重入互斥锁)。可重入锁又名递归锁,是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁(前提锁对象得是同一个对象或者class),不会因为之前已经获取过还没释放而阻塞。我们从构造函数开始逐步分析。ReentrantLock的两个构造函数,默认使用的是非公平sync对象public ReentrantLock() { sync = new Nonfair

2020-08-23 20:12:42 189

原创 leetcode----122.买卖股票的最佳时机 II

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价

2020-08-23 16:17:14 136

原创 leetcode----121.买卖股票的最佳时机

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。示例 2:

2020-08-22 23:07:04 126

原创 解决TortoiseSVN提交代码被拒绝

TortoiseSVN提交代码被拒绝随便选个目录右键进入TortoiseSVN --> settings选择左边的saved data -->clear 掉之前的用户名和密码。cmd命令行界面执行:svn ls svn路径(你要导入项目的svn路径) + 回车这里几个选项的意思:(R) eject:拒绝 ,accept (t)emporarily:临时接受, (p)ermanently:永久接受我们输入p选择永久接受,回车此时会让输入旧账号的密码,不用输入,回车跳过就好

2020-08-20 17:25:19 1123

原创 leetcode----三数之和图解

三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解答:class Solution { public List<List<Integer>&gt

2020-08-16 16:37:15 373

原创 HashMap源码分析详细注释版----JDK1.8版本

HashMap源码列举并解释了一些JDK1.8版本的HashMap源码,所有方法和重要的细节源码中的注释都解释的非常清楚。我只是按照自己的理解搬运了一遍。文章的代码顺序按照源码中出现的顺序。源码最开始的内容,几个比较重要的参数。/** * 默认初始化容量,必须是2的次方 */static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16/** * 最大容量。即HashMap的数组容量必须小于等于 1 <<

2020-08-13 16:08:02 250

WinSCP传输工具

WinSCP传输工具。基于 SSH 的开源图形化 SFTP 客户端 WinSCP。WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。

2020-08-07

空空如也

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

TA关注的人

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