- 博客(28)
- 收藏
- 关注
原创 java中创建对象的四种方式
这里主要涉及到javaI/O流方面知识,主要用到FileOutPutString和ObjectOutPutString,FileOutPutString主要将字节输出到文件,ObjectOutPutString通过调用writeObject方法将对象变可以写出到流的数据,所以整个流程是这样的: ObjectOutputStream 将要序列化的对象转换为某种数据,然后通过 FileOutputStream 连接某磁盘文件,再对象转化的数据转化为字节数据再将其写出到磁盘文件。
2024-06-02 20:52:22
880
原创 Redis这一篇就够了
事务的ACID:MySQL事务在Redis中没有隔离级别的概念在Redis单条命令式保证原子性,但是事物不保证原子性乐观锁:①当程序中可能出现并发的情况时,就需要保证在并发情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。②没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。在Redis是可以实现乐观锁的!
2024-06-02 20:48:19
1257
原创 【原型模式】详解
原型模式是一种创建型设计模式,它的主要思想是通过复制现有对象来创建新对象,而不是通过实例化一个类来创建。在原型模式中,我们称被复制的对象为原型(Prototype),新创建的对象为克隆体(Clone)。在Java中,使用原型模式可以通过实现Cloneable接口和重写Object类的clone()方法来实现。
2024-06-01 18:52:03
1219
原创 【单例模式】
单例模式是一种创建型设计模式,其目的是确保一个类只有一个实例,并提供对该实例的全局访问点。单例模式的核心思想是使用一个私有的构造函数和一个静态方法来创建一个唯一的对象。在Java中,单例模式有多种实现方式,其中最常见的是饿汉式和懒汉式。
2024-06-01 18:46:53
907
原创 建造者模式
建造者模式(Bulider Pattern)又叫生成器模式,是一种对象构建模式。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节,使得同样的构建过程可以创建不同的表示。建造者模式适用于创建对象需要很多步骤,但是步骤的顺序不一定固定。如果一个对象有非常复杂的内部结构(很多属性),可以将复杂对象的创建和使用进行分离。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。
2024-05-31 20:44:20
1410
原创 工厂模式详情
简单工厂模式是最基本的工厂模式,它通过一个工厂类来创建不同类型的对象,而客户端只需要传递不同的参数给工厂类即可获得不同类型的对象实例。简单工厂模式有三个角色:工厂类、抽象产品类和具体产品类。其中,工厂类负责创建不同类型的对象,抽象产品类定义了产品的公共接口,具体产品类则实现了不同类型产品的具体生产过程。
2024-05-31 20:39:26
792
原创 压测工具Jmeter的使用
下载地址:国外地址:jmeter.apache.org(下载会很慢,建议使用国内地址)国内地址:apache-jmeter-binaries安装包下载_开源镜像站-阿里云下载好进入bin文件下,双击jmeter.bat打开后发现全是英文,可以改成中文。
2024-05-30 21:33:26
1100
原创 测试工具的使用(大全)
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/)。使得前后端分离开发更加方便,有利于团队协作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。
2024-05-30 20:48:59
912
原创 RabbitMQ详情
MQ本质是队列,FIFO先入先出,队列中存放的内容是message(消息),还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中是常见的上下游“逻辑解耦+物理解耦”的消息通信服务。主要用来实现流量削峰,应用解耦,异步处理等系统优化方案。
2024-05-29 21:29:00
1482
1
原创 JDBC使用步骤-小白入门
通过Connection建立连接,Connection是一个接口类。其功能是与数据库进行连接(会话)。建立Connection接口类对象:当中URL的格式要求为:JDBC:子协议:子名称//主机名:port/数据库名?属性名=属性值&…如:"jdbc:mysql://localhost:3306/test“运行对象Statement负责运行SQL语句。由Connection对象产生。
2024-05-29 21:15:34
1290
原创 索引下推详情-简单入手
索引下推(Index Pushdown)MySQL5.6添加的,是一种优化技术,用于在查询执行时将部分计算移动到存储引擎层,从而减少数据传输和计算的开销(减少回表查询次数),提高查询性能。在传统的查询执行过程中,数据库会首先从磁盘读取数据页,然后将数据加载到内存中进行过滤和计算,最后返回结果。而索引下推技术可以利用存储引擎的索引结构,将查询条件移动到存储引擎层进行计算,从而减少了磁盘和内存之间的数据传输,提高了查询效率。例如,假设有一个包含10万条记录的表,需要查询出年龄大于30岁的用户信息。
2024-05-28 21:15:52
969
原创 MySQL底层为什么要选用B+树作为索引的数据结构呢?
在数据库中,数据的自增是一个很常见的形式,比如一个表的主键是id,而主键一般默认都是自增的,如果采取二叉树这种数据结构作为索引,那上面介绍到的不平衡状态导致的线性查找的问题必然出现。因此,简单的二叉查找树存在不平衡导致的检索性能降低的问题,是不能直接用于实现 Mysql 底层索引的。1。
2024-05-28 21:11:13
1022
原创 MySQL事务
客户机A插入新记录,但是还没有提交或回滚,此时打开客户机B此一次查询该表的记录,客户机B读取到的表记录为原始状态的表记录,但是当客户机A提交后,客户机B第二次查询该表的记录,依然查不到新增加的表记录,但是客户机B将新记录再次插入,会发生无法插入的现象,说明新记录已经存在,客户机B查询不到的现象,这就是幻读现象。幻读(phantom read):同一个事务内,两条相同的查询语句应该相同,但是,如果另一个事务同时插入了新的记录,当本事务更新时,出现了后一次查询出现了新的记录,这就导致了幻读。
2024-05-26 16:36:16
827
原创 SpringMVC拦截器详情
拦截器用于对URL请求进行前置/后置过滤Interceptor与Filter用途相似,但实现方式不同Interceptor底层就是基于SpringAOP面向切面编程实现。
2024-05-25 18:00:32
412
原创 Spring IOC容器与Bean管理详解
bean scope属性用于决定对象何时被创建与作用范围bean scope配置将影响容器内对象的数量bean scope默认值singleton(单例),指全局共享同个对象实例默认情况下bean会在loC容器创建后自动实例化,全局唯一。
2024-05-25 17:54:36
858
原创 Spring AOP面向切面(小白入门级)
Spring AOP - Aspect Oriented Programming面向切面编程AOP的做法是将通用、与业务无关的功能抽象封装为切面类切面可配置在目标方法的执行前、后运行,真正做到即插即用最终目的:在不修改源码的情况下,对程序行为进行扩展简单的spring AOP配置文件,依赖AspectJ定义Advice,pointcut实现切面类/方法在aop文件下创建aspect文件创建MethodAspect.java文件这样很好的去捕获时间,随时插入使用,不会影响源代码。
2024-05-24 14:46:23
1366
1
原创 Spring概述
Spring是轻量级的开源的JavaEE.框架Spring可以解决企业应用开发的复杂性Spring有两个核心部分:IOC和 AopIOC:控制反转,把创建对象过程交给Spring进行管理Aop:面向切面,不修改源代码进行功能增强特点:方便解耦,简化开发Aop编程支持方便程序测试方便和其他框架进行整合方便进行事务操作降低API开发难度Spring是Java企业级应用开发框架,主要目的是为了简化应用程序开发过程,提高代码的可维护性和可扩展性。
2024-05-24 14:29:04
975
原创 Session、Cookie和Token的区别
Cookie和Session是存储在客户端和服务端的认证方式,用于记录用户的身份信息和会话信息。Token是一种服务端无状态的认证方式,通常代表一小段字符串,可以存储到cookie里,遂请求一起发过去,也可以存在服务器中。Cookie和Session是Session+Cookie的组合方式,用于在第一次请求时服务器生成一个信物,并要求客户端也定一个信物。Token是一种基于临时证书签名的认证方式,适用于REST API的场景。
2024-05-23 16:03:07
898
1
原创 Docker容器的使用(入门级)
可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统运行时利用沙箱机制形成隔离容器,各个应用互不干扰启动、移除都可以通过一行命令完成,方便快捷Docker如何解决依赖的兼容问题的?将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包将每个应用放到一个隔离容器去运行,避免互相干扰不同环境的操作系统不同,Docker如何解决?我们先来了解下操作系统结构内核与硬件交互,提供操作硬件的指令系统应用封装内核指令为函数,便于程序员调用。
2024-05-23 15:49:48
3722
2
原创 Linux基础入门
操作系统(Operating System)是应用程序运行的基础支撑环境操作系统作用是管理和控制计算机系统的硬件与软件资源Intel x86架构上常见的操作系统:Windows、Linux、Unix…
2024-05-22 21:21:16
1132
1
原创 SpringClude-服务异步通讯入门详情(2024最新)
RabbitMQ是基于Erlang语言开发的开源消息通信中间件,官网地址:链接:RabbitMQ单机部署在Centos7虚拟机中使用Docker来安装下载镜像方式一:在线拉取方式二:从本地加载评论区可单独留言跟我要取上传虚拟机使用命令加载镜像安装MQ执行下面命令来运行MQ容器-d \RabbitMQ中的几个概念:channel:操作MQ的工具exchange:路由消息到队列中queue:缓存消息。
2024-05-22 20:59:59
748
1
原创 2024最新-javaSE面试题
java是一种面向对象的编程语言,其特点如下:简单易学:Java的语法设计简单,易学易用,同时Java标准库提供了丰富的API,可以帮助程序员快速实现功能。平台无关性:Java程序可以在不同的操作系统和硬件平台上运行,这是由Java虚拟机(JVM)的存在实现的。这使得Java成为一种非常灵活的语言。面向对象:Java是一种纯面向对象的编程语言,所有的代码都必须写在类中,可以方便地封装、继承和多态等特性。安全性:Java程序运行在虚拟机上,严格的安全机制可以确保程序的安全性。
2024-05-21 21:45:22
721
1
原创 带你了解Nginx三大特性与高可用性
Nginx (engine x) 是一个高性能,轻量级的HTTP和反向代理web服务器,电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的页面服务器中表现较好。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。正常情况下我们的项目由一台服务器跑起来就可以面对小规模量的访问,但是访问规模量增大后,tomcat肯定顶不住,反应不过来。如何解决?
2023-06-18 12:57:12
1505
1
原创 小白Git安装+使用,GitHub的使用
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。一个分支就是一个单独的副本。(分支底层其实也是指针的引用)同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。分支的操作项目ValueGit branch 分支名创建分支查看分支Git checkout分支名。
2023-06-18 12:24:14
534
1
原创 设计模式的七大原则详解
软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。设计模式是一套经过反复使用的代码设计经验,目的是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式主要解决的是可扩展性的问题,设计模式具有很好的扩展性。大厂会怎么问?在项目中你使用过什么设计模式,怎么使用,解决的什么问题。
2023-03-22 16:04:28
214
原创 数据结构——链表(Linked List)
使用单向环形链表解决Josephu问题,用不带头结点的单向循环链表先构成一个有n个节点的链表,然后由k节点起从1开始计数,直到第m时,对应节点删除,然后从被删除的下一个节点开始从1开始计数,直到最后一个节点被删除结束算法。2.temp.next = temp.next.next,也就是说需要删除节点的前一个节点本来指向的是删除节点,然后我们使其指向删除节点的下一个节点,直接跳过删除节点,这样该节点也就相当于被删除了。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。1.单链表是以节点的方式来存储的。.
2022-08-31 13:31:01
13754
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人