自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java实现excel多级联动

现在有一个需求,抽取一个方法,入参是文件路径、导入的省市区数据、指定插入列 ,在本地导入一个Excel,在这个Excel的指定列插入三级联动(省市区)。

2022-11-22 10:18:55 3525 8

原创 java存储过程

day011、PLSQL编程1.1 程序结构存储过程优点:减少数据库和服务器网络交互,提高执行效率(将写到java程序中的代码抽到数据库)PLSQL不区分大小写,三个部分组成://声明部分:DECLARE**-- 声明变量、游标(没有可省略)//可执行部分:BEGINDBMS_output.put_line('hello world'); -- 打印语句//异常部分:(没有的话可省略)END;1.2 变量1.2.1 普通变量变量赋值的方式有两种:1、直接赋值

2021-12-23 19:31:27 4497

原创 【高频核心】大厂java八股文总结

针对3-5年的候选者,面试官更多的是考察面试者的基础是否扎实,仅靠背诵的浅显八股文已经不够用!本篇博客中第一遍觉得看不懂难点的地方就是拉开八股文差距的地方,切记偷懒跳过。

2021-04-23 19:33:47 2941

原创 【苍穹外卖】能力汇总

本篇博客仅为记录笔者在学习苍穹外卖中的能力总结。

2024-05-20 23:18:29 365

原创 Java实用经验总结

以下为笔者在工作中总结的好用且简洁代码的经验。

2024-03-22 15:21:05 403

原创 微服务&Dubbo

面试小结杂记

2023-11-27 21:07:48 1303

原创 Java高并发编程

内存屏障就像是一个"壁垒",用于保证在这个"壁垒"之前和之后的操作顺序。在多线程编程中,如果没有内存屏障,处理器可能会根据自己的优化策略进行指令的重排序,这可能导致一些问题,比如一个线程修改了一个共享变量的值,但其他线程看不到这个修改。内存屏障就像是一个明确的标记点,它告诉处理器和编译器,在这个点之前的操作一定要先完成,然后才能继续执行后面的操作。这样可以确保操作的顺序和可见性,避免了因为指令重排而产生的问题。

2023-08-21 18:22:59 372

原创 java高频词汇

触发器是数据库中的特殊对象,可在特定事件发生时自动执行操作或触发逻辑。它通常与数据库表相关联,可在满足条件时触发数据的增、删、改等操作。作用是自动触发预定义的操作或逻辑。在源代码中,"Repository"是一个类或模块,封装了数据访问逻辑并提供了操作接口。它简化了数据的访问和操作,使其他部分可以轻松地使用数据,而不必考虑底层细节。翻看源码时,最常出现的词汇汇总。

2023-07-21 10:08:35 182

原创 Spring源码

总的来说,Spring的Bean相对于我们自己创建的对象具有更高的灵活性、可配置性和管理能力,通过Spring容器来管理和协调Bean对象,使我们能够更好地组织和管理应用程序的组件。基于接口的代理:如果目标Bean实现了至少一个接口,并且配置启用了接口代理(默认情况下是启用的),Spring会使用JDK动态代理来创建代理对象,并返回该代理对象。然而,如果目标Bean没有被声明为被代理的,或者没有配置任何切面或增强逻辑,Spring容器将直接返回原始的目标Bean对象,而非代理对象。

2023-07-18 15:32:00 435

原创 K8s从入门到实践

Kubernetes是一个帮助我们更轻松地管理和运行应用程序的工具。它会帮助我们自动地将应用程序分配到合适的服务器上,并确保它们一直在运行,还可以自动地增加或减少应用程序的数量,以适应流量的变化。还具有帮助应用程序进行负载均衡,管理和保护敏感数据,以及在不同的云平台上部署应用程序等。

2023-06-28 18:22:39 2628

原创 java动态获取nacos配置文件

动态刷新nacos配置文件

2023-06-05 17:10:52 2582 2

原创 git常用命令

本地分支是指:你当前这个分支还没有推送到远程的情况,这种情况修改分支名称就要方便很多。远程分支是指:假设你当前已经将该分支推送到远程了,这种情况修改起来要稍微多几步。注意:第4步要确保在新分支下进行,否则本地与远程关联会不一致。1、先查看本地分支与分成分支是否一致。4.修改后的本地分支关联远程分支。3.上传新修改名称的本地分支。1.先重命名本地分支。2、重新关联远程仓库。

2023-04-13 15:13:00 165

原创 Linux常用命令

总结笔者工作中使用到的Linux命令。

2023-01-09 10:23:06 90

原创 Error loading property file

Error loading property file

2022-07-19 15:22:14 1039

原创 敏感词过滤算法DFA

敏感词过滤方案DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。其特征为:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号,其中一个状态是初态,某些状态是终态。但不同于不确定的有限自动机,DFA中不会有从同一状态出发的两条边标志有相同的符号。敏感词:冰毒、大麻、大坏蛋......

2022-06-15 19:08:21 880

原创 JVM常问面试题(二)

文章目录1、对象1.1 对象创建的6个过程1.2 对象头里面有哪些东西(大厂常问)1、对象1.1 对象创建的6个过程1、加载类元信息(加载、链接、初始化);2、为对象分配内存空间;3、处理并发问题;4、属性的默认初始化(零值初始化);5、设置对象的对象头信息;6、属性的显示初始化、代码块中初始化、构造器中初始化;1.2 对象头里面有哪些东西(大厂常问)包含两部分:运行时元数据:hashCode、GC分代年龄、线程持有的锁、偏向线程ID、偏向时间戳;类型指针:指向类元数据Inst

2022-04-26 23:45:46 565

原创 java虚拟机常问面试题(一)

jvm面试中常问的一些问题生命周期、GC垃圾回收、双亲委派等

2022-03-15 11:32:05 962

原创 Mysql高级篇

MYSQL高级篇,涉及SQL优化、索引、MVCC等内容

2022-03-15 10:11:06 2089 1

原创 Java枚举类结合Mybatis-plus使用

枚举类的定义概念不做过多解释,这里只说在实际开发中的应用。使用场景:前端传来的参数为“男”、“女”、“未知”,后台数据库保存的则为tinyint类型的1、2、3;一、定义枚举类(这里必须是value变量,mybatisplus里进行了对应的处理)package com.tanhua.sso.enums;import com.baomidou.mybatisplus.core.enums.IEnum;import lombok.AllArgsConstructor;@AllArgsCons

2022-03-11 11:04:15 1382

原创 使用MongoDB实现地理位置的更新和搜索附近的人

mongodb实现地图更新位置的功能

2022-03-01 19:54:52 996

原创 使用ThreadLocal统一处理token

package com.tanhua.server.utils;import com.tanhua.server.pojo.User;//统一处理tokenpublic class UserThreadLocal { private static ThreadLocal<User>LOCAL=new ThreadLocal<>(); public UserThreadLocal(){ } public static

2022-02-17 10:30:25 1672 1

原创 代码简洁之道

代码解耦必备技能,实际好用

2022-02-14 16:00:54 430

原创 java自定义注解并使用

一、什么是注解?注解:源代码的元数据,代码的标签本质一:就是一个附属品,依赖其他元素存在(比如类、方法);本质二:本身没有任何作用,在恰当的时候由外部程序解析产生作用(通过反射);二、编写并使用自定义注解自定义注解:package cn.fllday; import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;i

2022-01-25 17:08:48 656

原创 Nginx报错404

使用nginx作为后端统一路径的转发,原先地址可以正常访问,使用nginx进行统一路径转发时,postman报了如下错误:<html><head> <title>404 Not Found</title></head><body> <center> <h1>404 Not Found</h1> </center> <hr> <center>

2022-01-20 16:12:06 23264 1

原创 报错 java.lang.NoClassDefFoundError: org/springframework/boot/Applicati

进行springbootTest的时候报下面的错,发现是导入的spring-boot-starter-test的jar包版本过高,与其他pom文件里的jar包冲突,将版本降低即可解决方案: 原本我用的是2.5.0版本,降为2.1.6版本就可以了!!! <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

2022-01-19 17:57:22 5008

原创 阿里云OSS服务

使用阿里云OSS服务对图片文件进行上传和下载,优点是开发简单,免维护,缺点是付费

2022-01-13 15:02:10 2749

原创 Mysql基础篇

好记性不如烂笔头,MYSQL数据库基础篇散碎知识点总结

2022-01-11 09:35:06 286

原创 项目散碎知识点总结

1、为什么使用单点登录?以前实现登录注册是在同一个tomcat内部完成,我们现在的系统框架是每一个系统由一个团队进行维护,每个系统都单独部署一个tomcat,不能将用户的登录信息保存到session中(多个tomcat的session不能共享),所以我们需要一个单独的系统来维护用户的登录信息。由上图可看出:客户端需要需要通过SSO系统才能获取到token;客户端请求服务系统时,服务系统需要对sso系统进行token验证;sso系统在整个系统架构中处于核心位置;...

2022-01-07 10:57:07 1196

原创 多线程学习

多线程的实现方式:1、继承Thread类,重写run方法两个问题: 1)为什么要重写run方法?因为run()是用来封装被线程执行的代码 2)run()方法和start()方法的区别?run():封装线程执行的代码,直接调用,相当于普通方法的调用,并没有开启线程。start():启动线程,然后由JVM调用此次线程的run()方法2、实现Runnable接口,重写run()方法3、实现Callable接口,重写call()方法,通过中介FutureTask来将获取结果public class

2021-12-17 00:09:35 452

原创 IO流与File类

IO流底层基础,适合1-3年的程序员

2021-12-11 23:47:03 485

原创 Lambda表达式

JDK8的新特性,简单介绍Lambda表达式的使用及应用条件!

2021-12-02 00:49:53 307

原创 Zookeeper分布式锁实现原理

Zookeeper分布式锁的代码实现很简单,Curator已帮助我们封装好,使用起来代码不超过5行。但当我们需要进行中高级程序员面试时,回答好Zookeeper分布式锁的实现原理可以大大提高我们的“加钱”分。核心思想:当客户端想要获取锁,需要先创建节点,使用完锁,再删除该节点。1、当客户端获取锁时,在lock节点下创建一个临时顺序节点。为什么是临时顺序?1)临时: 如果我们的client1拿到了锁,宕机了锁就不会被释放,其他的client就会一直拿不到锁,临时节点即使宕机也会自动删除,所以不能是持久

2021-11-28 17:03:34 339

原创 Aliyun安装Zookeeper

这里是Linux下安装Zookeeper一、Zookeeper依赖于jdk环境,所以先安装jdk1)首先查看yum源里面的jdkyum list java*2)选择jdk1.8并安装:yum install java-1.8.0-openjdk* -y3)出现complete! 查看是否安装成功:java -version,如果成功,就会出现以下java1.8版本二、下载zookeeper1)下载zookeeper源码包wget https://archive.apache.org/dist

2021-11-11 01:35:09 2512

原创 Oracle查询前几条数据的方法

在Oracle中实现select top N:由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum的组合来实现select top n的查询。简单地说,实现方法如下所示:select 列名1 …列名n from(select 列名1 …列名nfrom 表名 order by 列名1)where rownum <=N(抽出记录数)order by rownum asc如:select id,name from (select

2021-08-04 09:04:15 5773

原创 新手购买阿里云的坑

1、本来想买一个阿里云服务器搭建一个自己的博客,因为新手,很多东西都不懂,对云服务器也不了解!开启阿里云远程连接后,内置的防火墙是关闭的,但在应用界面,还有一个防火墙需要手动关闭,如图选择“添加规则”后2、云服务器有应用镜像和系统镜像可选,区别就是前者推荐小白,后者推荐大神。应用镜像中有如下系统记住:不是说你买了云服务器,里面就全部下好了这些镜像。你只能选择其中的一个镜像,换句话说,当你每次换镜像,就相当于换了系统,之前系统里的所有东西都将清零。还有,记得重置密码哦!...

2021-04-02 10:54:33 333

原创 SpringCloud

1、什么是微服务?微服务架构就是将以前的单体架构分成多个应用程序,这多个应用程序就成为微服务,每个微服务都运行在自己的进程中(所以每个微服务的线程是不一样的)2、每个微服务进程都不一样,如何实现微服务间的通信?1)每个微服务启动的端口都不一样,会出现跨域问题(跨域:出于浏览器,协议、主机、端口,一个不一样都叫跨域,与路径无关,服务器内部调用不算跨域)如何解决跨域?使用网关,比如用nacos,将每个微服务都注册到nacos中心(用来统一访问所有API接口,维护服务),或者使用nginx做转发。2)实现

2021-03-28 11:53:57 219 1

原创 java项目部署

项目部署_持续集成关键词:jenkins、git、maven、docker目标:能够理解什么是持续集成能够完成jenkins环境的搭建能够完成jenkins插件的安装及配置能够完成dockerfile的配置能够完成项目的多环境部署能够完成项目的部署与持续交付1 持续集成1.1 软件开发生命周期软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试和部署过程的集合。如下图所示 :[外链图片转存失败,源站可能有防盗

2021-03-27 16:30:32 659

原创 JavaSE面试题(01)

1、JDK包含了JRE,JRE里面又包含了JVM!2、什么是跨平台性?原理是什么?跨平台性指,用java语言编写的程序,一次编译后,可以在多个平台上运行。实现原理:java程序是通过java虚拟机在平台上运行的,只要在该系统安装相应的java虚拟机,该系统就可以运行java程序(像之前就是在Linux上安装了jdk)3、什么是字节码?采用字节码的好处是什么?在java中供虚拟机理解的代码就叫做字节码**4、java和C++的区别?**都是面向对象的语言,都支持封装,继承,多态Java不提供指

2021-03-24 22:20:03 250 4

空空如也

空空如也

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

TA关注的人

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