自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 回溯法框架JAVA实现

记录一个包含了回溯法解决问题的基本要素的高度抽象的框架,没有针对具体问题进行实现,在实际应用中,需要根据问题的具体情况来填充和修改这个框架。记录一个实例填充上述框架,即使用回溯法生成了一个整数数组的所有可能排列(全排列问题)。

2024-09-19 11:27:51 162

原创 动态规划问题案例

除了经典的(Fibonacci Numbers)和(Longest Common Subsequence, LCS)问题之外,动态规划还可以解决许多经典案例。

2024-09-12 17:31:07 538

原创 动态规划解决LCS问题

对于字符串 X 和 Y,定义 L[i][j] 为 X 的前 i 个字符(即 X[0…i-1])和 Y 的前 j 个字符(即 Y[0…j-1])之间的最长公共子序列的长度。

2024-09-12 17:05:43 293

原创 分治法和动态规划法

动态规划法是通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。与分治法不同的是,动态规划解决的子问题往往不是互相独立的,即不同的子问题之间可能共享一些子子问题的解。动态规划通过存储这些子问题的解来避免重复计算,从而提高效率。

2024-09-12 16:28:20 329

原创 单例模式解析

一种常用的软件设计模式,它确保,并提供一个全局访问点来获取这个实例。

2024-09-10 08:38:05 975

原创 synchronized修饰普通方法和静态方法的区别是什么

修饰的对象是调用该方法的实例对象(即this),这意味着每个实例对象都有自己的锁,因此,如果有多个实例对象调用同一个synchronized修饰的普通方法,它们之间不会相互阻塞(每个对象都持有自己的锁)。

2024-09-10 08:22:37 277

原创 三次握手四次挥手

2024-09-08 23:03:01 140

原创 JVM工作过程

将JVM工作过程粗略分为5个阶段,包括其中,(1)加载阶段、主要由完成(2)初始化阶段是由在类加载过程的最后阶段的。(3)执行阶段主要由负责(4)回收阶段主要是(Garbage Collector)负责。

2024-09-07 11:53:26 1062

原创 JVM中运行时数据区

(1)运行时数据区是JVM内存模型的重要组成部分(前有类加载器,后有执行引擎(2)JVM在执行Java程序时,用于存储和管理各种数据的内存区域(多块区域),这些区域共同协作以支持Java程序的运行。(3)包括方法区(旧名字叫永久代->java8换名字为元空间)、堆、虚拟机栈、本地方法栈、程序计数器等五大区域。线程共享区域:Java堆和方法区(或元空间),这些区域在JVM启动时创建,随着JVM的关闭而销毁。线程私有区域。

2024-09-07 09:37:55 998

原创 zookeeper初识

(1)ZooKeeper是一个、开放源码的,是一个为分布式应用提供一致性服务的软件,作为Apache的顶级项目,最初是为Hadoop的分布式协调而设计,主要用来解决。(2)简单来说,ZooKeeper 可以被看作是,它维护着一些关键的数据和状态信息,使得系统中的各个组件能够协调一致地工作。(3)ZooKeeper的数据模型在结构上,每个节点(在ZooKeeper中称为)都可以,从而形成一个。

2024-09-06 16:21:33 1167

原创 redis面试题

在Redis数据库使用过程中,某个或某些key被极其频繁地访问,远远超出其他key的访问频率。(1)缓存击穿指的是缓存中某个热点数据在过期或被删除后,由于大量并发请求同时访问该数据,导致这些请求直接穿透到数据库或其他后端存储系统,从而增加了后端系统的负载,甚至可能引发数据库崩溃。(2)缓存穿透指的是查询一个数据库中不存在的数据,由于缓存中也没有这个数据,所以每次查询都会直接访问数据库,如果有大量此类请求,就会对数据库造成很大压力,这种现象被称为缓存穿透。(3)缓存雪崩指的是在。

2024-09-06 09:01:47 1091

原创 JAVA动态代理

动态代理(Dynamic Proxy)是一种在运行时动态生成代理对象的技术,它。具体来说,动态代理允许开发者在不修改原始对象代码的情况下,通过代理对象来访问原始对象,并在。这种技术通常用于实现横切关注点(cross-cutting concerns),如日志记录、性能监控、事务管理等,以提升代码的复用性和可维护性。

2024-09-03 23:03:21 361

原创 JAVA线程、线程池解析

是操作系统能够进行的最小单位,它被包含在进程之中,是进程中的实际运作单位。进程是资源分配的基本单位,它拥有自己独立的地址空间和各种资源;而线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而。线程的上下文切换速度比进程快。

2024-09-03 00:25:58 1157

原创 JAVA异常

异常是指程序执行过程中出现的不正常情况,它打断了程序的正常执行流程。在Java中,异常被当作对象来处理,这些对象都是Throwable类的实例或其子类的实例。当Java内置的异常类型不满足开发需求时,可以通过继承Exception或RuntimeException来创建自定义异常类。参考:https://blog.csdn.net/qq_43061290/article/details/124078378。

2024-09-02 08:36:55 455

原创 类加载器整理解析

Java类加载器(Class Loader)是Java运行时环境(JRE)的一部分,负责动态地将Java类加载到Java虚拟机(JVM)的运行时环境中。当一个Java程序需要使用某个类时,JVM并不会立即去加载这个类,而是等到程序真正运行时,第一次引用到这个类的时候,才会通过类加载器来加载这个类。类加载器必须实现的核心功能是通过全类名获取类的二进制字节流,并将类的二进制字节流解析并转换成JVM能够识别的数据结构(如Java类和接口的内部表示,以及类的元数据信息等),然后存储在JVM的方法区。

2024-09-01 09:24:05 1196

原创 字节码文件简单解析

字节码文件()是一种包含执行程序的二进制文件的具体体现,包含了程序的指令集,可以被解释器或虚拟机读取和执行。(1)从源代码到字节码文件的编译过程(称为“”)是跨平台的。(2)字节码文件本身并不是直接执行的机器码,需要被虚拟机进一步**“解释”或“即时编译”**(JIT编译)成机器码才能在物理硬件上执行。(视为在目标平台上进行的“”)

2024-08-31 08:02:47 256

原创 Lambda表达式解析

(1)Lambda表达式在逻辑上等同于定义了一个实现了函数式接口的匿名内部类,并且这个匿名内部类中包含了一个(且只有一个)与函数式接口抽象方法签名相匹配的方法。(2)但是,这个匿名内部类并不是以传统意义上Java匿名内部类的形式存在(即不是一个独立的.class文件),而是被编译成了一种可以让JVM理解并执行的内部表示。(3)当Lambda表达式被“调用”时(尽管这个词可能不太准确,因为Lambda表达式本身不是可调用实体),实际上是在创建一个这样的匿名内部类的实例,并调用其实现的抽象方法。

2024-08-30 23:43:39 962

原创 CAS简单解析

Compare-And-Swap,即“比较并交换”,是一种无锁算法(一种原子操作)。算法(原子操作)过程:a)读变量为预期值b)比较这个变量的内存值(可能在从a到b这个过程中被人改了,改了内存值就是改完的值,没改内存值就是原来的值,总之内存值是b这个状态下变量的值)和预期值c)相同则更新变量,不同则自旋(自旋指的是重新从a过程开始循环尝试,直到成功更新变量值,或者达到自旋次数或时间)、或回退、或重试。CAS非阻塞。

2024-08-30 22:40:40 262

原创 ConcurrentHashmap解析

一种由hashmap演变来的存放键值对的容器,线程安全。

2024-08-30 08:56:23 336

原创 Linux终端命令写到一半不换行直接覆盖行首字符

参考:https://blog.csdn.net/m0_45805664/article/details/135508961。使用stty命令来设置行数和列数。

2024-08-23 15:19:10 346

原创 启动zookeeper成功后,查看状态显示It is propbably not running

参考:https://blog.csdn.net/JunLeon/article/details/120689889。问题原因:zookeeper集群需要节点全部启动再查看状态可以。启动所有节点后,再看状态。

2024-08-23 11:18:47 403

原创 如何在一台新centos系统服务器上安装docker

快速在一台centos服务器上安装docker

2024-08-22 21:31:22 246

原创 leecode 111.简单题 给定一个二叉树,计算二叉树的最小深度

是从根节点到最近叶子节点的最短路径上的节点数量。两次提交:第一次未注意叶子节点的定义;(2)传入点有一个节点为空节点。(3)传入节点无空子节点。是指没有子节点的节点。(1)传入点无子节点。

2024-06-27 20:06:16 128

原创 判断一棵树是否是平衡二叉树

第一反应就是递归,主要也是写一个递归计算二叉树节点高度的函数,没什么难点,用到两个Math函数,一个max计算二叉树高度,一个abs计算左右高度差。

2024-06-27 19:46:39 190

原创 Call From hadoop102/192.168.10.102 to hadoop102:8020 failed on connection exception: java.net.Connec

集群第一次启动需要格式化namenode

2022-09-14 16:26:14 3262 1

原创 volatile保证可见性,原理是什么

volatile保持可见性原理

2022-05-18 21:17:52 1843

原创 git 连接gitee时报错 Auth error: Access deined: authorize failure. fatal: Could not read from remote repos

错误记录

2021-12-26 22:58:11 14317 5

原创 Maven的常用命令

学习视频:https://www.bilibili.com/video/BV1K54y1G72s?p=5&spm_id_from=pageDriver常用命令命令描述mvn -version显示版本信息mvn clean清理项目生产的临时文件,一般是模块下的target目录mvn compile编译源代码,一般编译模块下的src/main/java目录mvn package项目打包工具,会在模块下的target目录生成jar或war等文件mvn test测试命令,或执行sr

2021-11-29 13:58:46 187

原创 AJAX请求

jquery中的ajax请求表单序列化 serialize方法

2021-11-23 12:45:17 530

原创 JSON学习

什么是JSON:JSON的访问json的两个常用方法json在java中的使用导入jar包json和Person类对象的转换List和json的转换尝试取list[0]失败转为集合toJson方法的第二个参数必须写成Type必须新建一个类继承TypeToken类实际应用中可以写成匿名内部类的形式...

2021-11-23 11:12:07 330

原创 Filter过滤器

Filter是JavaWeb的三大组件之一,是JavaEE的规范,也就是接口。作用:拦截请求,过滤相应

2021-11-23 10:17:45 85

原创 Session学习

视频资源:https://www.bilibili.com/video/BV1Y7411K7zz?p=2651.Session会话:2.3.Session域数据的存取4.Session生命周期控制5.浏览器和服务器Session之间关联的技术内幕

2021-11-22 23:05:32 250

原创 Cookie

1.Cookie是服务器通知客户端保存键值对的一种技术。2.每个Cookie的大小不能超过4KB3.创建CookieCookie一次可以创建多个4.服务器如何获取Cookie5.查找指定名称的Cookie对象6.Cookie值的修改方案二7.Cookie的生命控制8.Cookie有效路径Path的设置免用户名登录...

2021-11-22 22:23:15 560

原创 MVC解析

视频资源:https://www.bilibili.com/video/BV1Y7411K7zz?p=232&spm_id_from=pageDriverModel模型,View视图,Controller控制 器View视图:只负责数据和界面的显示,不接受任何与显示数据无关的代码Controller控制器:只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个调度者的角色Model模型:将与业务逻辑相关的数据封装为对象的JavaBean类,其中不参杂任何与数据处理相关的代码MVC是

2021-11-22 21:20:35 114

原创 JSTL标签库

学习视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=205core核心库的使用<c:set/>的使用可以向域中保存数据<c:if />的使用用来做if的判断<c:choose><c:otherwise><c:when>标签没有break机制,满足一种情况后,其他情况就失效了<c:forEach/>标签作用:遍历使用遍历map...

2021-11-22 11:18:56 69

原创 Centos7 Nat模式静态ip配置

2021-11-21 18:14:08 361

原创 EL表达式

EL表达式输出Bean的普通属性,数组属性,List集合属性,map集合属性EL表达式获取属性时,其实是通过调用get方法进行调用关系运算逻辑运算算术运算empty运算三元运算EL表达式的11个隐含对象其他六个隐含对象的介绍paramparamValuesheaderheaderValuescodkieinitParam在web.xml里配置然后测试...

2021-11-20 23:20:26 193

原创 jsp学习

视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=174&spm_id_from=pageDriverjsp头部的page指令jsp中的常用脚本

2021-11-20 21:37:25 217

原创 JavaEE三层架构

学习视频:https://www.bilibili.com/video/BV1Y7411K7zz?p=161&spm_id_from=pageDriver

2021-11-19 21:56:00 68

原创 Servlet学习

介绍手动实现Servlet接口新建测试类实现Servlet接口import javax.servlet.*;import java.io.IOException;/** * @version 1.0 * @auther Albedo */public class HelloServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws Servlet

2021-11-19 21:48:14 555

空空如也

空空如也

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

TA关注的人

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