自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何使用Markdown

如何使用Markdown你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;...

2020-03-19 13:12:55 124

原创 RabbitMQ-高级篇-黑马程序员

每个只能配置一个,因此我们可以在配置类中统一设置。我们在publisher模块定义一个配置类:log . error("触发return callback,");} });} }log . error("触发return callback,");} });} }Slf4j;import orglog . error("触发return callback,");} });} }

2023-11-15 11:40:28 927 1

原创 RabbitMQ-基础篇-黑马程序员

多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列。

2023-11-14 00:11:56 765

原创 设计模式-工厂方法

工厂方法是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。

2023-11-12 23:48:20 277

原创 SOLID 原则,程序设计五大原则,设计模式

SOLID 是让软件设计更易于理解、更加灵活和更易于维护的五个原则的简称。

2023-11-11 11:31:41 363

原创 24届java最新面经汇总,持续更新

面经

2023-03-11 10:29:37 453 1

原创 Mac无法识别硬盘解决办法

Mac无法识别硬盘的解决办法

2023-01-31 22:16:50 2293

原创 java中重载与重写

重载重写是非常基础的知识本文从 访问控制修饰符、返回值、方法名、参数列表四个方面对重载和重写进行解析

2022-11-05 22:02:16 578

原创 Redis数据结构

Redis数据结构

2022-09-17 16:39:52 490

原创 计算数组中任意两数的差的绝对值的最小值

given an array with N integer elements, please find out the minimum absolute value of the difference betweent any two elements from the array.

2022-09-03 17:44:18 1145

原创 部署jar包命令详解

java -jar nohub输出重定向

2022-07-13 20:31:39 815

原创 对称加密、非对称加密、签名验签、数字证书、https

对称加密,非对称加密,签名验签、Https

2022-07-09 22:55:42 696

原创 java集合框架 | 熬丙

集合框架Java 集合框架看这一篇就够了Java 集合中「堆」是啥?别这样创建集合了,非常容易内存泄露HashMapHashMap面试官:HashMap 为什么线程不安全?万万没想到,HashMap默认容量的选择,竟然背后有这么多思考!?ConcurrentHashMapConcurrentHashMap & Hashtable(文末送书)我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了ArrayL.

2022-05-25 12:21:08 196

原创 Vmware虚拟机设置静态IP地址

Vmware虚拟机设置静态IP地址

2022-05-11 18:26:00 6208

原创 尚硅谷Java入门视频教程(在线答疑+Java面试真题)

Java核心技术

2022-05-10 19:18:41 4368

原创 MySQL数据库教程天花板,mysql安装到mysql高级,强|硬

MySQL数据库笔记第一部分 MySQL基础篇第01章 数据库概述1. 为什么要使用数据库持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以“固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。2. 数据库与数据库管理系统2.1 数据库的相关概念DB:数据库(Database)

2022-05-10 19:14:30 3409

原创 go 创建map的几种方式

三种方法:1.声明、2.map[keyType]valueType、3.make //1. 声明 var m1 map[string]string fmt.Printf("类型:%T, 长度:%d, 值:%#v, 地址:%p \n", m1, len(m1), m1, &m1) // 类型:map[string]string, 长度:0, 值:map[string]string(nil), 地址:0xc000006028 //2. 使用map[keyType]valueType va

2022-05-06 18:20:23 2192

原创 go 创建切片的几种方式

四种方式:1.声明、2.直接初始化、3.基于数组创建、4.使用make创建 //1 声明切片, 未进行初始化,为nil var s1 []int fmt.Printf("类型:%T, 长度:%d, 容量:%d, 值:%#v, 地址:%p \n", s1, len(s1), cap(s1), s1, &s1) // 类型:[]int, 长度:0, 容量:0, 值:[]int(nil), 地址:0xc000004078 //2 声明并初始化, 不为nil,但长度为0,容量为0, var

2022-05-06 17:49:48 1177

原创 详解Go语言的内存模型及堆的分配管理

https://zhuanlan.zhihu.com/p/76802887http://goog-perftools.sourceforge.net/doc/tcmalloc.html前言这篇文章主要介绍Go内存分配和Go内存管理,会轻微涉及内存申请和释放,以及Go垃圾回收。从非常宏观的角度看,Go的内存管理就是下图这个样子,我们今天主要关注其中标红的部分。Go这门语言抛弃了C/C++中的开发者管理内存的方式,实现了主动申请与主动释放管理,增加了逃逸分析和GC,将开发者从内存管理中释放出来,让开发

2022-04-22 22:31:39 1104 2

原创 Ue4-添加第一人称激光

1.在设置中添加操作映射2.修改蓝图右下角的"显示调试"类似于准星

2021-10-29 22:01:30 315

原创 联表查询中索引的使用

https://www.cnblogs.com/xupengjun/p/14265806.html链接: link.

2021-08-25 17:03:26 1030

原创 IOC简单理解

一下内容摘自: link.2.1 白话版在第一章中我们了解了IOC是来帮助我们管理和创建对象的。这个时候我们需要一个承载我们需要创建信息的容器,即图中的XML或者注解,那么有了我们自己的BeanDefiniton信息以后,我们需要一个接口用来读取这些信息,于是出现了BeanDefinitionReader用来读取我们自己的Bean信息。那么我们需要考虑一个问题了,那么多的对象怎么生产呢?答案就是工厂模式。Spring默认的工厂是DefaultListableBeanFactory,没错,Sprin

2021-08-23 21:54:51 153

原创 UUID详解

源码分析: link.名词解释: link源码中注释/**A class that represents an immutable universally unique identifier (UUID). A UUID represents a 128-bit value.There exist different variants of these global identifiers. The methods of this class are for manipulating the L

2021-08-17 21:53:00 526

原创 Spring解决循环依赖

地址.补充一点内容:1.为什么需要三级缓存三级缓存分级:一级:singletonObjects二级:singletonFactories三级:earlySingletonObjectssingletonObjects 这一级不用多说,直接从map里面拿到BeansingletonFactories 为什么不直接存放 一个对象,而是存放一个factory?供程序员扩展增强earlySingletonObjects 该级用来存放经过factory增强过的半成品Bean,目的是当出现下述情况:

2021-08-14 20:53:33 154

原创 synchronized关键字

目录使用方式作用范围原理Java对象组成锁在哪里?synchronized如何获取monitor对象?锁升级过程偏向锁为什么要引入偏向锁?偏向锁原理和升级过程轻量级锁为什么要引入轻量级锁?轻量级锁原理和升级过程正确加锁姿势众所周知并发编程的三大特性:可见性、原子性、有序性。而synchronized能够同时保证可见性、原子性、有序性。且在Java 6 版本对synchronized关键字进行种种优化后性能大增。因此在解决并发问题时会经常用到synchronized关键字。使用方式首先说一下如何使用s

2021-07-18 15:49:27 130

原创 volatile关键字

目录一、Java的内存模型计算机内存模型Java内存模型二、volatile的作用可见性有序性原子性并发编程的三大特性为:原子性、可见性、有序性,下面将从这三个特性来阐述volatile的作用,先说结论:volatile能够保证可见性和有序性,但不保证原子性。一、Java的内存模型要想搞明白volatile的作用,需要首先了解Java的内存模型。计算机内存模型首先从计算机CPU和内存说起。我们都知道CPU的速度非常快,而内存的速度远不如CPU,但CPU和内存之间需要进行频繁的数据交换,这样一来就降

2021-07-18 11:52:01 102

原创 关于java中接口中默认修饰符的一些思考

以下内容均为个人理解,若有不当之处望批评指正abstract interface AnimalInterface {/** * 属性:interface 中的属性默认且必须是 public static final 且必须被初始化 * 首先我们要清楚interface的创造初衷即能胜任作为和外部系统打交道的合同,就是接口是实现类的标准和规范。 * 明白了这点再来解释这三个修饰符 * public:既然接口的初衷就是作为和外部系统打交道的合同,我并不知道未来外部别人怎么用我

2021-07-15 10:35:25 2649

原创 面向对象的理解

均为个人理解,若有不严谨之处,望君指出!今天有幸和小组长交流了一些java基础知识,非常非常基础,但可能很多人没有深入思考过!面向对象的三大特性关于面向对象的特性:继承、封装、多态这三个特性众所周知,此外还有一个特性抽象,有部分人认为抽象也是面向对象的特性,但这不是普遍公认的,而且是有问题的。因为抽象无处不在(表达式抽象、控制抽象、数据抽象等等),普遍存在的东西只能说共性,不可称之为特性。虽然这么说,但接下来我们仍会讨论抽象这一特性(暂且称之为特性)。抽象、封装、继承、多态这四个特性环环相扣:首先

2021-07-14 22:29:09 88

原创 生成随机数的两种方式

代码为已知随机数生成方法 random(),能够生成1-7的随机数,求能够生成1-10随机数的方法random1参考链接random2参考链接package com.company.random;public class Random { //根据1-7的随机数方法,给出1-10的随机数方法 public static void main(String[] args) { for (int i = 0; i < 50; i++) {

2021-05-18 10:17:28 372

原创 MySQL MVCC

视频链接:https://www.bilibili.com/video/BV1YJ411J7vb?from=search&seid=7752098347457475812博客链接:https://blog.csdn.net/huaishu/article/details/89924250?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161891002016780255242714%2522%252C%2522scm%2522%25

2021-04-20 19:26:59 174 1

原创 Spring Bean生命周期

参考链接:https://www.bilibili.com/video/BV1fk4y127Vr?t=6344https://blog.csdn.net/qq_35634181/article/details/104473308https://blog.csdn.net/ajianyingxiaoqinghan/article/details/81837463总结Factor中创建出BeanDefinition->class ->BeanDefinition->BeanFact

2021-04-16 17:54:06 73

原创 ArrayList、LinkedList、HashMap线程不安全解决方案

方法1: Collections.synchronizedList(new LinkedList())Collections.synchronizedList(new LinkedList<>());Collections.synchronizedMap(new HashMap<>());方法2: LinkedList和ArrayList换成线程安全的集合,如CopyOnWriteArrayList,ConcurrentLinkedQueue…HashMap 换成 Co

2021-04-02 18:58:36 322

原创 HashMap相关问题

Q0:HashMap是如何定位下标的?A:先获取Key,然后对Key进行hash,获取一个hash值,然后用hash值对HashMap的容量进行取余(实际上不是真的取余,而是使用按位与操作,原因参考Q6),最后得到下标。Q1:HashMap由什么组成?A:数组+单链表,jdk1.8以后又加了红黑树,当链表节点个数超过8个(m默认值)且 数组长度需要大于64才会变成红黑树,(若知识链表节点个数超过8个会进行resize()操作),开始使用红黑树,使用红黑树一个综合取优的选择,相对于其他数据结构,红黑树的

2021-03-31 20:17:06 418

原创 Java中各类修饰符的使用总结(看完这篇就够了)

https://blog.csdn.net/u012723673/article/details/80613557?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161710595216780264077433%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161710595216780264077433&biz_id=0&am

2021-03-30 20:37:23 91

原创 类加载——类加载时机、类加载过程、类加载器

链接:总结版:https://www.jianshu.com/p/663d3c59297详细版:https://blog.csdn.net/justloveyou_/article/details/72217806类加载包含两部分:一部分是被谁加载,另一部分是如何加载。 被谁加载是指 ClassLoader 的双亲委派模型,如何加载是指类的加载过程。1 类加载时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备

2021-03-30 18:32:29 358

原创 JAVA集合框架详解

bilibili视频地址:https://www.bilibili.com/video/BV1zD4y1Q7Fw?p=43.对应笔记地址:https://lazydog036.gitee.io/2020/10/29/JAVA%E9%9B%86%E5%90%88%E6%A1%86%E6%9E%B6/.总结:1 List特点:有序、有下标、元素可以重复。方法:void add(int index,Object o) //在index位置插入对象o。boolean addAll(index,Col

2021-03-27 16:24:54 196

原创 计算机网络——运输层协议

目录1. 运输层协议概述1.1 运输层功能1.2 运输层的两个主要协议1.3 端口号2. 用户数据报协议UDP2.1 特点2.2 UDP的首部格式3. 传输控制协议TCP3.1 TCP最主要的特点3.2 可靠传输的工作原理3.2.1 停止等待协议3.2.2 连续ARQ(自动重传请求)协议3.3 TCP报文段的首部格式(具体含义请参考教材)3.4 TCP可靠传输的实现3.4.1 以字节为单位的滑动窗口3.4.2 超时重传时间的选择选择确认SACK3.5 TCP的流量控制3.5.1 利用滑动窗口实现流量控制3.

2021-03-23 19:10:07 2450 1

原创 rREsVKvrDy

s

2021-03-22 21:39:30 85

原创 搞定计算机网络面试

OSI与TCP/IP各层的结构与功能,都有哪些协议1. 五层协议的体系结构学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。2. 应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议

2021-03-21 17:01:29 115

原创 String.intern()方法、str = new String(““)、 str =““等浅析

下述均基于自己理解,有错误之处请大佬指正!参考:https://blog.csdn.net/seu_calvin/article/details/52291082关于其中String s = new String(“1”);这段代码的理解:“1"是字面量,会从类常量池加载到运行时常量池,在第一次遇到他时进入字符串常量池【此处参考https://www.jianshu.com/p/cf78e68e3a99:3.String"字面量” 是何时进入字符串常量池的?】此处遇到1,即把他放入到字符串常量池中,

2021-03-20 21:20:24 190 2

空空如也

空空如也

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

TA关注的人

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