自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ClickHouse列式存储基础笔记

近期会对数仓相关内容进行深入的学习,完善整个学习体系。

2024-03-19 22:51:38 239

原创 ASE 加密

ASE(Advanced Encryption Standard)是一种对称加密算法,也称为Rijndael加密算法。ASE加密算法是采用相同的密钥对明文进行加密和解密,ASE加密算法主要有三种密钥长度:128位、192位和256位。加密的主要过程有初始处理、轮变换和最终处理,其中轮变换是ASE加密算法的核心,它包括SubBytes、ShiftRows、MixColumns和AddRoundKey四个步骤,是通过多轮循环来达到加密的效果。实际运用:可以对接口的返回数据进行加密。1、ASE 加密简单概述。

2023-05-31 13:27:23 1372

原创 Lua学习笔记

需求:自定义一个函数,可以打印table, 当参数为nil时,打印错误信息。并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为。在Linux虚拟机的任意目录下,新建一个hello.lua。官网: https://www.lua.org/数组、table都可以利用for循环来遍历。例子:定义一个函数,来打印数组。

2023-05-03 22:20:57 190 1

原创 docker安装redis教程

2、创建相应的目录及文件(将内部文件挂载在外部)4、关闭防火墙 或者开启将端口放行。6、删除redisr服务。4、配置文件相关的参数。5、启动redis服务。

2023-04-29 20:18:43 984

原创 Docker安装mysql8.0文档

复制下面命令执行,33006是对外访问暴露的端口,当然你也可以设置为3306,主要还是看个人,记得在服务器安全组开放端口。-v /usr/local/mysql是把容器内部挂载在宿主机上,自己也可以更改一下挂载的目录。到此,以docker方式安装mysql8.0的整个操作就算是完成了 ,希望能帮助到你;# 设置密码验证规则,default_authentication_plugin参数已被废弃。# 配置文件,vim之后复制这个下面的内容(i -> esc -> :wq )# 重启mysql容器。

2023-04-26 21:56:58 716 1

原创 java经典面试题:一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。 它在第10次落地时,共经过多少米?第10次反弹多高?

故此,第三次所经过的路径 = 100+100/2+50+50/2+25 = 250。球经过的路径:下落经过的距离+落地弹起的高度。推测,第三次落地,那么他经过的路径如下。第一次弹起高度:100/2。第一次落地: 100。第二次弹起:50/2。第三次弹出 25/2。

2023-04-20 01:16:48 3186 2

原创 Java古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

Java古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

2023-04-18 21:43:56 382

原创 docker基础篇

docker容器是一个开源的应用容器引擎,它相当于一个虚拟机,可以部署多个镜像文件,它也需要寄生于宿主机器(物理机、云服务器等),它比虚拟机VM更加的轻量级且容器是完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心中运行。docker官方地址:https://hub.docker.com/本文仅是针对docker安装、以及一些常用的基础命令进行简单的使用。

2023-04-15 15:19:06 218

原创 Zookeeper分布式锁的实现

众所周知,多个服务间的调用,产生多个JVM问题,当我们使用传统的锁的时候就会出现问题,因为跨JVM中无法可见到同一把锁,这个时候分布式锁就应运而生,例如就出现了Redis分布式锁,基于setnx的方式去实现,当然我们也可以通过zookeeper去实现分布式锁,通过创建子节点从而实现分布式锁。

2023-04-14 00:44:15 95

原创 MYSQL 主从同步原理

2、每一对的主从关系当中,都有三个线程,主库可以连接多个从库,而且会为每一个连接成功的从库创建一个Binlog Dump线程;5、中继日志(Relay log):从服务器I/O线程将主服务器的Binlog日志读取过来,解析到各类的Events之后记录到从服务器本地文件,这个文件被称为Relay log,SQL线程会读取Relay log日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保存一致,中继日志其实就充当了缓冲区,这样master就不必等待slave的全部操作执行完成后才发送下一个事件了。

2023-04-08 16:46:12 384

原创 线程池基础

根据阿里巴巴规范,不推荐外面使用ExecutorService(newFixedThreadPool)的方式创建线程池,因为阻塞队列默认Integer.MAX_VALUE,相当于是一个无界队列,线程池并不会拒绝任务,有可能会触发内存泄漏的风险。 因此推荐采用手动自定义new ThreadPoolExecutor()的方式去创建线程池。在《Java并发编程实践》,计算线程池的线程数目的,基准负载CPU密集型任务设置为参考值可以设为 Ncpu+1IO密集型任务设置为参考值可以设置为 2 * Ncp

2023-04-07 16:43:22 497

原创 记录安装rabbitmq的过程~

:初始账号密码均是guest(建议修改配置文件)9.访问web的admin管理:ip+端口(8.到服务器控制台的安全组,开放端口。敬请期待...更加完善的教程。

2022-11-20 14:17:07 613

原创 Spring MVC笔记

前端控制器:DispatcherServlet。- 倡导自然模板,即以HTML文件为模板。官网:https://www.thymeleaf.org。- 标准表达式、判断与循环、模板的布局。- Controller:控制层。- 表现层、业务层、数据访问层。- Model:模型层(数据)后续会手动画一个完整的SpringMVC流程图。- 生成动态的HTML。- View:视图层。

2022-10-04 00:43:37 427

原创 spring笔记

ComponentScan:会自动扫描包下的bean装配到容器,它会扫描配置类所在的包和子包的bean(需要有@Controller、@Service、@Repository、它们都是由@Component实现的)加入注解就会被Spring容器管理。bean的名字是类名首字母小写,类名如果比较长也可以改一下bean的名字 自定义bean的名字@Service("写bean的名字"),可以通过bean的名称获取bean.想运行的bean上加上:@Primary注解,就会优先执行这个bean(只会执行一个)

2022-10-02 13:23:13 486

原创 Elastic-Job笔记

意为脚本类型作业,支持shell ,python, perl等所有类型脚本。执行脚本路径可包含参数,参数传递完毕后,作业框架会自动追加最后一个参数为作业运行时信息。的一款非常好用的分布式任务调度框架,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-cloud组成。Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。该接口提供2个方法可供实现,分别用于抓取(fetchData)和处理(processData)数据。

2022-10-02 09:37:17 401

原创 K8s(kubernetes)基础知识

例如,你可以自动化Kubernetes来为你的部署创建新容器,删除现有容器并将它们的所有资源用于新容器。kubctl run mynginx --image=nginx #(mynginx是起个名字 --image=nginx镜像 pod里面是容器,这个容器是nginx)k8s可以使用DNS名称或者自己IP地址公开容器,如果进入容器的流量很大,k8s可负载均衡并分配网络流量,从而使部署稳定。运行中的一组容器,Pod是k8s中应用的最小单位,(一个pod可以部署多个容器,但是一个pod推荐只安装一个容器)

2022-09-24 14:35:38 1963 1

原创 shell脚本的简单使用

shell脚本的简单使用

2022-09-13 00:09:52 480

原创 217.存在重复元素-力扣

力扣数据结构题解 : 217存在重复元素

2022-09-07 23:37:06 152

原创 Elasitcsearch基础学习笔记(1)

数据的分类 1.结构化数据:指具有固定格式或有限⻓度的数据,如数据库,元数据等。 对于结构化数据,我们⼀般都是可以通过关系型数据库(mysql,oracle等)的 table 的⽅ 式存储和搜索,也可以建⽴索引。通过b-tree等数据结构快速搜索数据。 2.⾮结构化数据:全⽂数据,指不定⻓或⽆固定格式的数据,如邮件,word⽂档等。 对于⾮结构化数据,也即对全⽂数据的搜索主要有两种⽅法:顺序扫描法,全⽂搜索法。全⽂搜索对⾮结构化数据进行信息提取出来,重新组织,使其变得有⼀定结构,

2022-06-09 22:46:05 482

原创 LeetCode两数之和-java

两数之和

2022-06-06 23:59:42 131

原创 Git基本操作笔记

Git在我们日常工作中是必不可少的,刚入职的实习生可能只要会安装git、git clone,git pull 即可,git安装的教程有很多我就不一一讲述了。

2022-06-05 11:33:00 2809

原创 Try-Finally执行顺序的经典面试题

try{} catch{} finally{},finally一定会执行,常在finally进行释放锁、释放连接等操作。案例一代码分析案例二代码分析

2022-06-03 15:23:44 148

原创 迭代器(Iterator)基本使用

不要在foreach循环里进行元素的add、remove操作时,推荐采用迭代器(Iterator)进行对元素的操作,如果存在并发操作可通过对Iterator加锁的方式去进行操作。迭代器代码实现: 每天记录一个小的知识点,技术就会不断地往上增。...

2022-06-03 13:23:37 2703

原创 类加载机制

类的加载的机制:主要从两个方面回答。我们自己写的java文件到最终的运行,它必须经过编译和类加载这两个阶段。编译的过程就是把.java文件编程成class文件;类加载过程 就是把.class文件加载到JVM内存中,装载完成后会得到一个class对象,我们就可以使用new关键来实例化这个对象。而类的加载过程需要涉及到类加载器,JVM在运行的时候会产生三个类加载器,组成了一个层级关系,每一个类加载器分别去加载不同作用范围的jar包。...

2022-05-19 01:24:18 524 1

原创 排序算法汇总(java)

算法解决思路,将复杂的算法拆分成简单的问题-》逐步解决。1)类似于时间复杂度的讨论,一个算法的空间复杂度(Space Complexity)定义为该算法所耗费的存储空间,它也是问题规模n的函数。2)空间复 杂度(Space Complexity)是对一个算法 在运行过程中临时占用存储空间大小的量度。有的算法需要占用的临时工作单元数与解决问题的规模n有关,它隨着n的增大而增大,当n较大时,将占用较多的存储单元,例如快速排序和归并排序算法,基数排序就属于这种情况。3)在做算法分析时, 主要讨论的是时间复

2022-05-19 00:25:09 217

原创 创建型设计模式-建造者模式学习笔记

建造者模式(Builder Pattern)使用多个简单的对象一步步建成一个复杂的对象,将一个复杂对象的构建与它的分离,使得同样的构建过程可以创建不同的表示。允许用户只通过指定复杂对象的类型和内容就可以构建它们,不需要知道内部的具体构建细节。核心组成:Builder:抽象建造者,定义多个通用方法和构建方法。ConcreteBuilder:具体建造者,可以有多个。Director:指挥官,控制整个组合过程,将需求交给建造者,由建造者对象。Prod...

2022-05-08 22:25:17 393

原创 SpringCould学习笔记(1)

笔记简述:阳哥的SpringCloud 学习视频URL:尚硅谷SpringCloud框架开发教程(SpringCloudAlibaba微服务分布式架构丨Spring Cloud)_哔哩哔哩_bilibili一.什么是微服务? 微服务架构是一种架构模式,它提倡将单一应用程序划分为一组小的服务,服务之间相互协调,相互配合,为用户提供最终的价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制相互协作。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生...

2022-05-02 21:53:35 553

原创 数组中重复的数字(java实现)

描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1数据范围:0\le n \le 10000 \0≤n≤10000进阶:时间复杂度O(n)\O(n),空间复杂度O(n)\O(n)解题代码import java.util.*;...

2022-04-30 22:56:49 821

原创 关于线程的基础知识笔记(2)

一.补充进程、线程、协程基本概念进程:本质上是一个独立执行的程序,进程是操作系统进行资源分配和调度的基本概念,操作系统进行资源分配和调度的一个独立单位。线程:是操作系统能够进行运算调度的最小单位,一个进程至少拥有一个线程。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程,每条线程执行不同的任务,切换受系统控制。​协程:又称为微线程,是一种用户态的轻量级线程,协程不像线程和进程需要进行系统内核上的上下文切换,协程的上下文切换是由用户自己决定的,有自己的上下文,所以说

2022-04-30 11:06:18 196

原创 关于多线程的学习笔记(1)

一.创建多线程的一共有四种方式方式一:通过继承Thread,重写run方法,创建实例,执行start方法。优点:代码编写简单。缺点:没有返回值,java是单继承,继承一个类后,不能再集成其他类了,扩展性差。代码如下:public class ThreadDemo extends Thread { @Override public void run() { System.out.println("继承Thread实现多线程,名称:"+Thre...

2022-04-29 23:56:54 538

原创 今日面试题回顾——java开发工程师岗位

第一项流程:自我介绍第二项提问环节1.int与Integer的区别?追问int与Integer值做比较?2.了解hashMap吗,它的初始容量是多少?扩容机制?3.什么是线程安全,什么场景会产生线程安全问题?4.说说spring发起请求的流程吗?5.谈谈@Autowired与@Resource的区别?6.谈谈springboot与spring?7.说说多线程创建的方式有哪几种?聊聊项目内容1.你商城的订单表怎么设计的?2.如果你接收不到支付回调,你如何保证在这条订

2022-03-26 00:00:14 1558

原创 六大设计原则

java 六大设计原则

2022-03-23 21:26:49 315

原创 关于JVM的简单论述及调优

简单初识JVM:下面我们讲的都是关于:HotSpot JVMJavaDevelopmentKit(JDK)是一款Java语言的软件开发工具包Java运行环境(Java Runtime Environment,简称JRE),JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的函数库lib(Class Library)。如何发现内存OOM问题:可以在IDEA安装插件JProfiler插件,同时安装客户端;JDK1.8 JVM主要分为.

2022-03-23 18:51:14 614

原创 设计模式—创建型工厂模式之抽象工厂JAVA实现(工厂模式完结)

这是工厂模式的第三篇没有看前两篇的建议看完之前写的两篇,在看这篇文章,这样子会让你更能理解工厂模式的抽象工厂,抽象工厂使用一个产品族拥有多款产品类型,不同的产品族又构成等级关系。抽象工厂的优缺点: /** * 工厂方法模式和抽象工厂方法模式之间的转换关系: * 当抽象模式每一个具体工厂类只能创建一个产品对象的时候,抽象的工厂模式就会退化到工厂方法模式 * 抽象工厂方法模式优点: * 1.产品族中有多个对象被设计成...

2022-03-22 02:10:21 477

原创 设计模式—创建型工厂模式之工厂方法JAVA实现

工厂方法模式 * 优点如下: * 1.符合开闭原则,增加一个产品类,只需要实现其他具体的产品类和具体的工厂类 * 2.符合单一职责原则:每一个工厂只负责生产对应的产品 * 使用者只需要知道产品的抽象类,无需关心其他实现类 * 满足: * 1.迪米特法则:最少知道原则,实体应尽量少的与其他实体之间发生相互的作用 * 2.依赖倒置原则:针对接口编程,依赖于抽象而不依赖于具体 * 3.里氏替换原则:俗称LSP,任何基类可

2022-03-22 01:44:49 143

原创 设计模式—创建型工厂模式之简单工厂JAVA实现

简单的讲述简单工厂模式:简单工厂是静态方法,可通过类名直接调用,而且只需要传入简单的参数即可。核心组成:* 1.Factory:工厂类,简单工厂模式,它负责实现创建所有实例的内部逻辑* 2.IProduct: 抽象产品类,简单工厂模式所创建的所有对象的父类* 描述所有实例所公共的接口* 3.Product: 具体产品类,是简单工厂的创建目标实现步骤:* 创建抽象产品类:里面有抽象方法,由具体的产品类去实现* 创建具体产品类: 继承了他们的父类,并实现具体的方法* 创建工厂类: 提

2022-03-20 14:51:33 502

原创 LeetCode——第八题字符串转换成整型数题解(JAVA实现)

字符串转换成整型数可直接看代码注释,每一行代码都基本写上了注释,第一遍还看不到不懂的话可以debug走一遍,你就会很清晰的明白了。真正的理解每一道题的代码真的不容易吧,你需要花费很多的时间进行理解消化,每一步的debug,你的思路就会慢慢的清晰起来。

2022-03-20 00:27:36 358

原创 设计模式——单例饿汉方式JAVA代码实现

设计模式 饿汉加载方式: 提前创建好对象 * 在类加载(创建)的时候就对对象初始化了浪费内存 * 优点:实现简单,没有多线程同步问题 * 使用场景如何选择: * 1.如果对象不大,且创建不复杂,直接用饿汉方式 * 2.其他的情况则采用懒汉实现的方式

2022-03-19 12:31:11 197

原创 设计模式——单例懒汉JAVA代码实现

设计模式——单例懒汉JAVA代码实现

2022-03-19 02:13:05 946

原创 斐波那契数列——java实现

斐波那契数列:指的是这样的数列:0,1,1,2,3,5,8,21,34..., 这个数列从第三项开始,每一项都等于前两项之和。

2022-03-12 14:02:37 4099

空空如也

空空如也

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

TA关注的人

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