自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lucky_fd的博客

越努力越幸运!!! 一个爱好分享、锻炼的技术博主

  • 博客(116)
  • 资源 (1)
  • 收藏
  • 关注

原创 2024 Java开发跳槽、面试心得体会

在自我介绍和项目介绍时,可以通过抛出亮点来引导面试官提问,但同时,你更需要准备其它常见问题,因为有些面试官依然会问其它问题。对此大家可以在Spring Boot框架,数据库和Java核心开发这三个方面多刷些面试题,甚至可以多准备些笔试题。那么这样一说,你抛出亮点有什么好处呢?第一,真有些面试官在顺着你言辞提问后,发现你回答很好(因为你事先准备过,想不好回答都难),然后他们就不再提问了。第二,面试官多少会问及些你提到的亮点,这样你就能最大程度避免面试官问及你不熟悉的点。

2024-03-20 14:55:24 859

原创 利用Nginx正向代理实现局域网电脑访问外网

在网络环境中,有时候我们需要让局域网内的电脑访问外网,但是由于网络策略或其他原因,直接访问外网是不可行的。这时候,可以借助 Nginx 来搭建一个正向代理服务器,实现局域网内电脑通过 Nginx 转发访问外网的需求。在工作中我遇到了一个类似的情况:在公司网络中,由于管理要求,局域网内的电脑不能直接访问外网。但是,有时候我们需要让局域网内的电脑能够访问外网上的某个网站,这时候就需要用到正向代理。本文将介绍如何配置 Nginx 实现这一功能。

2024-03-11 22:05:04 3237

原创 解析MySQL生产环境CPU使用率过高的排查与解决方案

在生产环境中,MySQL作为一个关键的数据库组件,其性能对整个系统的稳定性至关重要。然而,有时候我们可能会遇到MySQL CPU使用率过高的问题,这可能导致系统性能下降,应用页面访问减慢,甚至影响到用户体验。本文将详细介绍如何排查和解决MySQL CPU过高的问题,帮助您迅速恢复正常的数据库性能。首先我们要明白什么是CPU使用率:CPU使用率是指在单位时间内CPU处于非空闲状态的时间比,反映了CPU的繁忙程度。某个进程的CPU使用率就是这个进程在一段时间内占用的CPU时间占总的时间的百分比。

2024-01-27 19:00:00 2933

原创 Spring WebSocket实现实时通信的详细教程

WebSocket 是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket 连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方。我们常用的HTTP是客户端通过「请求-响应」的方式与服务器建立通信的,必须是客户端主动触发的行为,服务端只是做好接口被动等待请求。而在某些场景下的动作,是需要服务端主动触发的,比如向客户端发送消息、实时通讯、远程控制等。

2024-01-18 20:00:00 1403 1

原创 创作者之旅:纪念

两年前的这一天,我开始了我的创作者之旅。一切似乎是巧合,但我更愿意称之为“机缘”。在这个创造纪念日里,我想分享一下我的初心和成长,以及在创作中所收获的点滴。

2023-12-12 20:15:00 183

原创 从零开始的Spring Cloud Gateway指南:构建强大微服务架构

在本文中,我们将深入研究Spring Cloud Gateway,一款开源的、基于Spring Framework的微服务网关,带领你从零开始构建强大的微服务架构。我们将了解到网关的由来、作用、网关实现的相关技术框架如何快速搭建一个网关服务网关的过滤器和路由配置详细讲解以及实际开发中开能会面临的问题处理

2023-12-05 20:30:00 2340 2

原创 Spring 最全Bean的加载和获取方式整理

Spring Framework是一个强大且广泛使用的Java应用程序框架,它提供了众多功能和工具,其中之一就是Spring容器。Spring容器是Spring应用程序的核心,它负责管理和维护对象(通常称为"Bean")的生命周期。在Spring中,Bean的加载和获取是常见的操作,本文将总结Spring Bean的加载和获取方式,以帮助开发者更好地理解和使用Spring框架。

2023-10-24 12:02:45 1346

原创 深入解析HashMap的优雅之处

HashMap基本介绍:1. Hashmap底层数据结构原理2. HashMap的树化规则与意义3. HashMap的扩容机制介绍4. HashMap索引的计算方式5. HashMap插入数据源码分析

2023-09-26 21:00:00 226

原创 Java 时间日期处理,工作必用(建议收藏)

工作中经常会遇到对时间日期进行处理的业务,像日期类的API个人觉得不需要背,需要的时候去查资料就行。日期时间格式化处理、日期对象类相互转换,计算日期时间间隔等方法

2023-08-26 20:00:00 1652

原创 Mysql join加多条件与where的区别

在连表操作的时候,其实是先进行了2表的全连接(笛卡尔积,也就是所有能组合的情况a.rowCount*b.rowCount),然后根据on后面的条件进行筛选,最后如果是左连接或者右连接,再补全左表或者右表的数据。第一反应写错了,仔细检查没有问题。on后面条件筛选是对2张表生成的全连接(笛卡尔积)临时表进行的筛选,无论on后面的条件是否满足都会返回左表的所有数据,不符合条件的右表的值都为null。inner join有点不一样,它是两张表取交集,最终的结果是符合所有条件的值,所以on后面的条件可以生效。

2023-08-25 20:30:00 524

原创 SpringMVC 详细教程及源码讲解

一文彻底理解SpringMVC框架的使用以及底层源码实现,MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的javaBean,作用是处理数据。javaBean分为两类:V: View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器

2023-08-13 17:46:58 776

原创 Java 强制类型转换原理(父类转子类、子类转父类)

在Java中,对象的强制转换(也称为类型转换)是将一个对象的引用转换为另一个类的引用,前提是这两个类之间存在继承或实现关系。强制转换可能会导致运行时异常,因为在转换的过程中,如果对象的实际类型与转换的目标类型不兼容,就会抛出ClassCastException异常。

2023-07-24 18:30:00 5190

原创 Spring 最全入门教程详解

Spring 基础框架,可以视为Spring 基础设施,基本上任何其他 Spring 项目都是以 SpringFramework 为基础的。Spring 5 的模块结构图:lOC: Inversion of Control,翻译过来是反转控制。把对象创建和对象之间的调用过程,交给 Spring 进行管理Spring 的IOC 容器就是IOC 思想的一个落地的产品实现。IOC 容器中管理的组件也叫做 bean。在创建 bean 之前,首先需要创建IOC容器。Spring 提供了IOC容器的两种实现方式:

2023-07-04 18:30:00 2986 1

原创 Mybatis 最全教程(一篇从入门到精通)

创建Mybatis的核心配置文件创建mapper接口对象创建mapper接口映射文件(mapper接口的全类名和映射文件的namespace一致、mapper接口中的方法的方法名要和映射文件中的sql的id保持一致)创建测试方法/*** SSM*/@Override'}';一个resultMap标签,就是对应着一个实体类。

2023-06-09 19:11:37 3287

原创 [CSDN] 512创作纪念日,大处着眼,小处着手,乐观进取

大家好,我是一名程序员,也是一名CSDN博客作者,今天是我成为CSDN博客作者的512天纪念日,我想借此机会和大家分享一下我的创作历程。

2023-05-10 14:27:38 871 3

原创 Java 反射机制

Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象 (一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。

2023-04-30 22:39:57 1816

原创 Maven的全面讲解及如何安装使用

Maven是一种流行的Java项目管理工具,可用于构建、测试、打包和部署Java应用程序。本文将介绍Maven的概念、安装配置、使用方法、生命周期以及IDEA集成Maven的方法。

2023-04-30 21:09:12 1454

原创 Java 静态代理与动态代理全面讲解

静态代理和动态代理都是代理模式的具体实现,它们都可以增强类的功能,但是实现方式不同。静态代理在编译期间已经确定了代理类的代码,适合代理少量的类;动态代理在运行时动态生成代理类的代码,适合代理大量对象或者不确定代理哪个类的情况。Java中的静态代理需要手动编写代理类的代码,不够灵活,但是效率较高;动态代理不需要手动编写代理类的代码,比较灵活,但是效率较低。Java中的静态代理和动态代理都是基于接口的代理,因此被代理类必须实现接口。动态代理在Java中是通过反射机制实现的,反射机制会带来一定的性能开销。

2023-04-28 17:19:38 2217

原创 Element table组件动态设置expand展开项以及同时只展开一项

场景一:table表格展开项过多,界面数据太繁杂影响查看。场景二:Element Table加载的数据发生变化时,会重新渲染界面,之前的展开项会自动关闭,用户需要手动去打开展开项,频繁的手动操作会极大的影响客户体验。

2023-04-21 14:15:33 10299

原创 掌握这些“学习方法和工具”,让你事半功倍!

学习的过程中,我们应该时刻保持学习的状态,不断总结和反思。每天学习结束后,我们可以花费一些时间回顾所学知识,将其加深自己的印象,并找出不足之处,以便在之后的学习中加以弥补。在学习过程中,不断总结和反思是提高学习效率的重要手段。

2023-04-13 09:40:26 586

原创 idea本地仓库远程分支只有一个master分支,如何添加其他远程分支方法

场景:当我们第一次将远程仓库的代码拉到本地仓库操作时,默认只关联了一个master分支,如果我们需要使用其他分支,就需要添加其他远程分支到本地仓库。如果您只有一个名为"origin/master"的远程分支,则表示您只有一个origin远程仓库的主分支。现在,您已经成功将远程分支添加到您的git仓库中,并且可以在本地进行更改和提交,然后将这些更改推送到远程分支上。2.现在,您可以使用以下命令将远程仓库的所有分支拉取到本地仓库。3.最后,您可以使用以下命令将本地分支与远程分支关联起来。

2023-04-12 22:40:59 2731

原创 Git本地仓库关联多个远程仓库的方法

其中, 是你想要给远程仓库起的名字, 是远程仓库的 URL。你可以使用 git remote -v 命令查看所有已经添加的远程仓库及其对应的 URL。当你执行 git push 命令时,Git 会默认将代码推送到与当前分支关联的远程仓库。其中, 是你想要将代码推送到的远程仓库的名字, 是你想要推送的本地分支的名字。

2023-04-12 22:12:52 2379

原创 java8 stream List集合的常用流操作

filter方法用于通过设置条件过滤出满足条件的元素。以下代码片段使用filter方法过滤出空字符串。count 方法用于统计集合内对象的数量,以下代码片段使用filter方法过滤出空字符串并计数。distinct 方法用于去掉重复数据。以下代码片段使用filter方法过滤出空字符串并去重。sorted方法用于对流进行排序。以下代码片段使用sorted方法对集合中的数字进行排序。分组的字段按照TreeMap的规则进行排序放入Map,底层是TreeMap。map方法用于映射每个元素到对应的结果。

2023-03-27 12:03:10 2735

原创 java IO流的使用

1.抽象基类InputStreamOutputStreamReaderWriter2.节点流(或文件流)FileInputStreamFileOutputStreamFileReaderFilewriter3.缓冲流(处理流的一种)BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter

2023-03-22 09:37:16 249

原创 git推送指定的提交到远程分支详细方法

默认情况下,git push会推送暂存区所有提交(也即HEAD及其之前的提交)到远程库,实际开发中可能因为功能没有开发完成,但是又必须提交部分修改好的代码就需要用到推送指定commit到远程分支。

2023-03-09 13:20:28 3725

原创 git常用命令

git pull是在提交到远程仓库之前,先更新到最新版本代码,防止和别人代码产生冲突。如果只写一个分支名,默认本地分支和远程分支相同。

2023-03-09 10:11:16 492 5

原创 Java集合:Map的使用

Map中的key:无序的、不可重复的,使用Set存储所有的key ---》 key所在的类要重写equals()和ashode() (以HashMap为例。Map 中的value:无序的、可重复的,使用Collection存储所有的alue --->value所在的类要重写equals()|----TreeMap:保证按照添加的key-value 对进行排序,实现序遍历。l----Map:双列数据,存储key-value对的数据 ---类似于高中的函数: y = f(x)3.HashMap的底层实现原理?

2023-02-14 15:27:28 824

原创 工厂设计模式

基本概念:为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。分为三类:简单工厂模式:不利于产生系列产品;工厂方法模式:又称为多形性工厂;抽象工厂模式:又称为工具箱,产生产品族,但不利于产生新的产品;

2023-02-10 14:44:27 331

原创 Java集合:Collection的使用

一、java集合概述1.集台、数组都是对多个数据进行存储操作的结构,简称java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储 (.txt,jpg,avi,数据库)2. 数组在存储多个数据方面的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了比如: Stringl] arr;int[] arr1;数组存储的数据有序、可重复。2. 数组在存储多个数据方面的缺点:一旦初始化以后,其长度就不可修改。

2023-02-06 21:03:42 1582 1

原创 Java 异常处理Exception

一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。3.1 如果父类中被重写的方法没有throws方式处理异常,则子类重写的方法也不能使用throws,意味着如果子类重写的方法中有异常,必须使用try-catch-finally方式处理。2.使用try将可能出现异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,根据此对的类型,去catch中进行匹配。|---java.lang.Exception:可以进行异常的处理。

2023-02-06 11:40:03 368

原创 java interface接口的使用

3.1 JDK7及以前,只能定义全局常量和抽象方法全局常量: public static final的。但是书写时,可以省略不写抽象方法:public abstract的3.2 JDK8,除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法静态方法:使用 static 关键字修饰。可以通过接口直接调用静态方法,并执行其方法体。我们经常在相互一起使用的类中使用静态方法。你可以在标准库中找到像Collection/Collections或者Path/Paths这样成对的接口和类。默认方法。

2023-02-06 11:27:25 511

原创 Java关键字:static final abstract的使用

此类不能实例化抽象类中一定有构造器,便于子类实例化时调用《涉及,子类对象实例化的全过程)v>开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作a. 抽象方法只有方法的声明,没有方法体b. 包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法。c. 若子类重写了父类中的所有的抽象方法后,此子类方可实例化;若子类没有重写父类中的所有的抽象方法,则此子类也是一个抽象类,需要使用abstract修饰a. abstract不能用来修饰:属性、构造器等结构。

2023-02-06 11:10:19 250

原创 docker 定时任务备份mysql数据库与恢复

编写执行脚本备份数据库脚本文件存放路径(自己根据情况放置就行)添加定时任务打开定时任务配置文件,添加执行脚本命令。这里我用的系统级定时任务好避免一些权限问题,也可以根据需要使用用户级定时任务3.复原备份数据将备份数据拷贝到容器中进入容器中进入mysql恢复数据库也可以用下面命令直接恢复数据。

2023-02-05 18:32:22 1086

原创 css实现超出div长度文字自动隐藏或用省略号表示

网页中一些区域的标题文字是不能换行的,例如首页显示的文章标题,因为布局是固定的,换行会打乱布局,从而使网页产生错位。因此,我们需要一行一段文字,超出行宽的文字用省略号表示或者直接去掉不用省略号代替。

2023-02-02 17:11:34 2751

原创 sql数据库优化策略

在MySQL中,执行 from 后的表关联查询是从左往右执行的(Oracle相反),第一张表会涉及到全表扫描,所以将小表放在前面,先扫小表,扫描快效率较高,在扫描后面的大表,或许只扫描大表的前100行就符合返回条件并return了。当删除全表中记录时,使用delete语句的操作会被记录到undo块中,删除记录也记录binlog,当确认需要删除全表时,会产生很大量的binlog并占用大量的undo数据块,此时既没有很好的效率也占用了大量的资源。另外,使用truncate可以回收表的水位,使自增字段值归零。

2023-01-18 10:00:39 502

原创 Java 注解(Annotation)

Retention: 指定所修饰的 Annotation 的生命周期: SOURCE\CLASS (默认行为)\RUNTIME只有声明为RUNTIME生命周期的注解,才能通过反射获取。3.Annotation 可以像修饰符一样被使用,可用于修饰包,类,构造器方法,成员变量,参数,局部变量的声明,这些信息被保存在 Annotation的“name=value”对中。**********出现的频率较低**************如果注解有成员,在使用注解时,需要指明成员的值,

2023-01-05 20:40:36 453

原创 枚举类的使用

1.枚举类的理解:类的对象只有有限个,确定的。3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。说明:定义的枚举类默认继承于java.Lang.Enum类。方式二: jdk5.0,可以使用enum关键字定义枚举类。四、使用enum关键字定义的枚举类实现接口的情况。情况二: 让枚举类的对象分别实现接口中的抽象方法。2.当需要定义一组常量时,强烈建议使用枚举类。情况一:实现接口,在enum类中实现抽象方法。方式一: jdk5.0之前,自定义枚举类。三、Enum类的主要方法。

2023-01-05 20:32:09 171

原创 单例(Singleton)设计模式

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。并且该类只提供一个取得其对象实例的方法如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。

2022-12-29 15:11:07 476

原创 java比较器:Comparable和Comparator

当元素的类型没有实现java.Lang.Comparable接口而又不方便修改代码或者实现了java.Lang.Comparable接口的排序规则不适合当前的操作,那么可以考虑使用 Comparator 的对象来排序。4.对于自定义类来说,如果需要排序,我们可以让自定义类实现Comparable接口,重写compareTo(Object obj)1.像string、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式。返回负整数,表示o1小于o2。

2022-12-29 13:56:48 646

原创 Java 日期和时间接口 Date-Time API

1.System类中的currentTimeMillis()2.Java.util.Date类|---java.sql.Date类3.SimpleDateFormat的使用: simpleDateFormat对日期Date类的格式化和解析4.Calendar日历类(抽象类)的使用5.LocalDate、LocalTime、LocalDateTime 的使用说明:6.Instant类的使用7.DateTimeFormatter:式化或解析日期、时间

2022-12-29 13:31:10 1356

odoo14 附件预览图片及pdf

odoo14 附件预览图片及pdf

2022-04-09

空空如也

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

TA关注的人

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