自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (11)
  • 收藏
  • 关注

原创 java字符串处理

例如:http://www.baidu.com?logId=123&sdt=091....等等这些。然后java实体就可以根据对应的属性直接去取值了。在业务开发中一个url地址后面拼接了好多参数例如。

2024-12-30 16:30:08 166

原创 MyBatis Plus 解决大数据量查询慢问题

MyBatis Plus 解决大数据量查询慢问题在MyBatis Plus中,针对大数据量查询慢的问题,可以采取以下几种策略来优化:使用分页查询:使用Page对象进行分页,MyBatis Plus可以自动处理分页逻辑,优化数据查询。避免全表查询:尽量使用有效的查询条件,避免全表扫描。使用索引:确保查询字段上有合适的索引,可以显著提高查询速度。使用批量查询:如果需要查询的数据量很大,可以考虑分批次查询。读写分离:通过数据库的读写分离来提高查询性能。

2024-12-09 17:37:09 992

原创 SpringCloud技术中@FeignClient()的使用

Spring Cloud 中用于声明一个 Feign 客户端的注解。由于SpringCloud采用分布式微服务架构,难免在各个子模块下存在模块方法互相调用的情况。比如订单服务要调用库存服务的方法,@FeignClient()注解就是为了解决这个问题的。Feign 是一个声明式的 Web Service 客户端,它的目的是让编写 HTTP 客户端变得更简单。通过 Feign,只需要创建一个接口,并使用注解来描述请求,就可以直接执行 HTTP 请求了。

2024-12-04 17:56:30 526

原创 Java8 LocalDateTime的使用

里面添加了许多的新特性,如LocalDate、LocalTime、LocalDateTime新增的主要有三种java.time.LocalDate ->只对年月日做出处理默认格式:yyyy-MM-dd, 例如:2021-11-29java.time.LocalTime ->只对时分秒纳秒做出处理默认格式:HH:mm:ss.SSSSSSSSS 例如:11:23:40.051942200java.time.LocalDateTime ->同时可以处理年月日和时分秒。

2024-12-04 17:10:53 515

原创 @PermitAll注解和@PreAuthorize注解

‌是一个标记注解,用于指示一个特定的类或方法可以被任何用户访问,无论用户是否经过身份验证或拥有任何特定的角色。这个注解通常用于那些不需要进行权限校验的接口或方法上。在Spring Security中,@PermitAll注解可以应用于Controller层的方法上,表示该方法所对应的URL可以被所有用户访问,无需进行权限校验。方法使用了@PermitAll注解,意味着无论用户是否具有相应的权限,都可以访问。例如公开的API端点或主页,希望任何人都能访问,可以使用@PermitAl注解。

2024-11-22 18:48:51 528

原创 前端VUE项目启动方式

将VUE项目的前端项目运行起来,整个过程非常简单,预计5分钟就可以完成,取决于大家的网速。也可以将npm run dev 命令替换成npm run front 命令。项目运行先安装Node.js。

2024-11-22 18:42:35 375

原创 Java中 @Schema注解的作用

通过example属性,可以给出字段的示例值,这样在生成的API文档中能更清晰地展示字段相关信息,方便使用者了解接口所涉及的数据结构‌。additionalProperties:当属性是一个对象,且对象的属性未知或动态时,可以使用此属性来描述对象中可以包含哪些其他属性。模型描述:为整个API模型(如请求或响应的复杂对象)提供描述,包括标题、描述、属性列表等。属性描述:为API模型中的单个属性提供描述,包括类型、格式、是否必需、默认值、示例值等。enum:如果属性是一个枚举类型,可以列出所有可能的值。

2024-11-21 11:04:51 337

原创 idea项目运行时 java: 错误: 不支持发行版本 21

java项目运行时,同样的项目别的都是正常运行,单个这个项目一直报java: 错误: 不支持发行版本 21,报错的解释这个错误表明你正在尝试使用Java编译器编译一个类,但是编译器遇到了一个它不支持的版本号,在这个上下文中,“21”很可能是指java的版本号,也就是Java 21 但是这个版本目前尚未发布,可能是一个未来的版本。

2024-11-15 10:18:45 1584

原创 Java中消息队列

MQ是Message Queue的缩写,也就是消息队列的意思,它是一种应用程序对应用程序的通信方法,使得应用程序能够通过读写出入列队的消息来进行通信,而无需要使用专用的连接来链接它们。消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削峰等问题。实现高性能,高可用,可伸缩和最终一致性架构,在消息队列中有生产者和消费者两种角色,生产者负责发送消息到消息队列,而消费者从消息队列中取出数据进行处理,这种方式实现生产者和消费者之间的解耦,使得他们可以独立运行和扩展。优点。

2024-10-22 20:08:17 809

原创 Nacos相关问题

Nacos是一个开源的分布式服务发现和配置管理系统,用于动态配置,服务发现和服务管理的软件。

2024-10-22 17:39:21 252

原创 Spring Cloud 远程调用方式

目前很多公司业务调用开启web服务依赖于内部封装的tomcat容器,适应大流量的微服务,采用Tomcat处理HTTP请求,开发者编写Json作为资源传输,服务器做出相应的相应,可以灵活的处理业务数据,而HTTP协议是跨平台的,符合微服务B/C数据交互的方式,可以是一套服务器对应移动H5,APP,小程序提供服务。

2024-10-22 14:25:03 571

原创 “重复代码”处理方式

第一种代码重复是,有多个并行的类实现相似的代码逻辑。我们可以考虑提取相同逻辑在父类中实现,差异逻辑通过抽象方法留给子类实现。使用类似的模板方法把相同的流程和逻辑固定成模板,保留差异的同时尽可能避免代码重复。同时,可以使用 Spring 的 IoC 特性注入相应的子类,来避免实例化子类时的大量if…else代码。第二种代码重复是,使用硬编码的方式重复实现相同的数据处理算法。

2024-10-22 12:44:25 849

原创 医疗HIS业务的发展

一般医院的HIS系统都会包含基础的system 也就是分配用户基本权限的,财务线,工作站,医生站,药品物质等模块。医生站分为护士站护士核对药品和医嘱,医生开单等功能点。财务线分为自费患者收费,医保患者收费。

2024-10-20 23:00:23 209

原创 JVM调优总结

以上三种严格地说还算不上jvm的调优,只是用了jvm工具把代码中存在的问题找了出来。我们进行jvm的主要目的是尽量减少停顿时间,提高系统的吞吐量。但是如果我们没有对系统进行分析就盲目去设置其中的参数,可能会得到更坏的结果,jvm发展到今天,各种默认的参数可能是实验室的人经过多次的测试来做平衡的,适用大多数的应用场景。如果你认为你的jvm确实有调优的必要,也务必要取样分析,最后还得慢慢多次调节,才有可能得到更优的效果。

2024-10-20 22:57:23 888

原创 项目分层开发中,DTO、BO、PO、VO的含义

VO是视图层的对象,通常用于封装展示给用户的数据,它可以和数据库表对应,也可以根据UI界面需求进行定制。VO的主要目的是在页面展示时只携带必要的数据,从而避免把大量不必要的数据暴露给前端。PO主要用来表示数据库表的一条记录,它的属性和数据库表的字段相对应。BO代表了业务逻辑层中的对象,封装了与某个业务相关的数据以及针对这些数据的操作逻辑。在后端开发中,比如传统的MVC架构和现在流行的DDD架构,经常回使用到几种对象的概念。UserDTO是一个大的入口,它可以接收整个模块的参数。在后端开发中是这么使用的。

2024-10-20 11:25:56 549

原创 Spring Boot 接口数据加解密

OK,客户端请求加密-》发起请求-》服务端解密-》业务处理-》服务端响应加密-》客户端解密展示,看起来没啥问题,实际是头天下午花了2小时碰需求,差不多花1小时写好demo测试,然后对所有接口统一进行了处理,整体一下午赶脚应该行了吧,告诉H5和安卓端同学明儿上午联调(不小的大家到这个时候发现猫腻没有,当时确实疏忽了,翻了大车......)次日,安卓端反馈,你这个加解密有问题,解密后的数据格式和之前不一样,仔细一看,擦,这个userType和registerTime是不对劲,开始思考:这个能是哪儿的问题呢?

2024-10-20 11:10:21 1766

原创 SpringBoot 做分布式任务调度

创建一个任务类,实现SimpleJob接口。

2024-10-18 17:00:41 831

原创 JAVA面试题

select to_date('2019-10-25 17:15:20','yyyy-MM-dd HH24:mi:ss') 字符串。select DATE_FORMAT(SYSDATE(),'%Y 年%m 月%d 日') MySQL 日期转字符 ……select to_char(sysdata,'YYYY"年"MM"月"DD"日"') 时间转字符串 from。回 1,2,3,另外的一次返回 2,1,3). Limit 限制的是从结果集的 M 位置处取出 N 条。redis 的安装(windows)

2024-10-18 16:15:04 878

原创 nginx配置信息

nginx是一个高性能的HTTP和反向代理web服务器,同时也是提供了IMAP/POP3/SMTP服务。作为HTTP服务的作用:包括静态文件服务,反向代理服务器的原理和功能以及负载均衡和虚拟主机的配置。nginx是负载均衡器,不提供直接的轮询,但是通过upstream模块实现负载均衡来间接实现轮询,在nginx中,可以通过least_connip_hash或者hash方法来设置轮询策略。所有的配置信息都是在nginx.conf中完成的。nginx的upstream支持6种方式的分配算法分别是。

2024-10-17 17:39:23 652

原创 Java日志规范

在程序中写日志是一件非常重要的事情,但是很容易被开发人员忽视。写好程序的日志可以帮助我们大大减轻后期维护的压力,在实际的工作中,开发人员往往迫于巨大时间压力,而写日志又是一件非常繁琐的事情,往往没有引起足够的重视。在开发中,开发人员应该在一开始就养成良好的日志撰写习惯,并且应在实际的开发中为写日志预留足够的时间。

2024-10-17 16:56:29 1030

原创 Java设计模式

确保一个类只有一个实例,并提供一个全局访问点。

2024-10-12 22:44:54 773

原创 Java分布式锁

每种方法都有其优点和适应的场景,数据库通常简单,但可能存在性能问题,redis非常快,但需要第三方库,并且可能引入网诺问题,Zookeeper提供了更复杂的同步原语,但需要额外学习曲线。分布式锁的实现比线程锁和进程锁要复杂得多,因为它需要在网诺中的多个节点之间进行协调,以保证锁的唯一性和一致性。在实现分布式锁时,通常会有一个中心节点(或者称为锁服务),所有需要获取锁的节点都需要向这个中心节点申请。这个中心节点负责协调和管理所有节点的锁请求,确保锁的唯一性和一致性。创建临时节点,执行业务逻辑,释放锁。

2024-10-12 22:35:37 1009

原创 项目构建工具

Maven Gradle Ant

2024-10-08 23:26:03 866

原创 Jenkins打包,发布,部署

Jenkins是一个开源的持续集成工具,主要用于自动构建和测试软件项目,以及监控外部任务的运行。与版本管理工具(如SVN,GIT)和构建工具(如Maven,Ant,Gradle)结合使用,实现持续部署和持续构建的功能。Jenkins的特点:开源:Jenkins是免费的,任何人都可以使用和修改其源代码跨平台:可以在Windows,Linux,MacOS等多种操作系统上运行插件丰富:用于大量的插件,可以扩展其功能,满足各种开发需求易于使用:提供只管的用户界面,即使是初学者也能快速的上手。

2024-10-08 12:19:47 5211

原创 Nacos的应用

它是阿里巴巴开源的项目,整合了配置管理,服务管理,服务发现的功能,核心价值在于帮助用户在云平台。可以通过访问Nacos控制台来检查服务是否成功注册,默认情况下,控制台可以通过Ip:8848/nacos访问,登录进入后,你应该可以在服务列表中看到刚刚启动的服务信息。随后运行这个SpringBoot 应用,它将自动注册到Nacos Server,并且Nacos会获取到服务的一些基本信息如服务名,IP地址,端口号等。Nacos的主要功能包括服务发现与注册,动态配置管理,服务健康监测,流量管理和路由。

2024-10-07 19:22:05 443

原创 SpringBoot线程问题

程序,线程,线程池进程是资源分配最小单位,线程是程序执行的最小单位。计算机在执行程序时,会为程序创建相应的进程,进行资源分配时,是以进程为单位进行相应的分配,每个进程都有相应的线程,在执行程序是,实际上是执行相应的一系列线程。线程:程序执行流的最小执行单位,是行程中实际运作单位,经常容易和进程这个概念混淆简单来说,一个应用程序的运行就可以被看做是一个进程。是运行中实际的执行任务者,可以说,进程中包含了多个可以同时运行的线程。线程的生命周期。

2024-10-04 11:27:42 604

原创 高并发场景发送业务短信

场景是目前存储数据有近三个亿的用户,如何给部分适用的用户发动业务消息提示。最后:发送一条业务数据清除缓存一条redis数据,这样就可以有效的进行消息发送。其实:将需要发送的业务数据存储到redis里面,统一进行业务发送。首先:发送消息是已经知道了,该往那些用户发送,有用户的表示信息。这种业务就是借助于redis 进行实现的。

2024-10-04 10:40:47 119

原创 java高并发场景RabbitMQ的使用

日常业务开发中,开发人员都知道,RabbitMQ常用于并发,流量大的场景,因为RabbitMQ属于中间件需要维护,所以一般小项目几乎不会使用。而在大型并发环境下,大量的流量积压到接口中,使mysql或者oracle连接分配出现不够使用的情况,此时就可以使用RabbitMQ来解决。采用异步通知的方式,就比如我们在抢票的时候,点击提交,系统会返回一个提示正在努力抢票中,而实际是你的订单正在mq列队中排队处理,处理结果会后续异步通知结果。RabbitMQ是由Rabbit公司研发和维护的,最终是在Pivotal。

2024-10-04 09:56:28 1016

原创 JDK1.8 新的特性

一 Lambda 使用Lambda表达式应用场景:任何有函数式接口的地方,只有一个抽象方法(Object类中的方法除外)的接口是函数式接口。就像Runnable接口中,只有一个run方法。对集合进行排序遍历集合中的元素二 默认方法jdk1.8接口中允许包含具有具体实现的方法,该方法成为“默认方法”。默认方法使用defaut关键字修饰。默认具有“类优先”的原则,若一个接口中定义了一个默认的方法,而另一个父类或接口中又定义了一个同名的方法时,遵循如下的原则。

2024-09-30 15:41:33 1127

原创 Mybatis知识

3.2 二级缓存二级缓存是Mybatis中SqlSessionFactory对象的缓存,由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。案例解析。

2024-09-29 15:38:37 1001

原创 接口调用方式2

目前经常使用的框架是Springboot,我们经常会遇到系统之间相互进行调用,具体的调用方式如下WebClient用的示例代码添加依赖到pom.xml 中RestTemplate中几个常用的方法:getForObject()、getForEntity()、postForObject()、postForEntity()。其中,getForObject() 和 getForEntity() 方法可以用来发送 GET 请求接口调用如下FeignClient调用大多用于微服务开发中,各服务之间的接口调用。

2024-09-24 23:36:10 571

原创 接口调用方式1

接口调用方式

2024-09-24 16:42:50 161

原创 Spring的IOC和AOP

Spring框架主要提供了IoC容器,AOP,数据库访问,WEB开发,消息,测试等相关技术的支持。Spring使用简单的POJO来进行企业级开发,每一个被Spring管理的Java对象都称之为Bean,而Spring提供了一个IoC容器用来初始化对象,解决对象间的依赖管理和对象的使用。Spring的AOP存在的目的是为了解耦,AOP可以让一组类共享相同的行为,在OOP中只能通过继承类和实现接口,来使代码的耦合度增强,且类集成只能为单继承。通过反射可获得注解上的属性,然后做日志记录相关的操作。

2024-09-20 16:15:21 427

原创 Java 中MongoDB的使用

支持的数据库非常松散,类似于json的格式叫BSON,所以它即可以存储比较复杂的数据类型,又相当的灵活。最小存储的单位就是文档,文档对象对于关系型数据库的行,数据在MongDB中以(Binary-JSON)文档的格式存储在磁盘上。是一种二进制形式的存储格式,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。字段值可以包含其他文档,数组及文档数组。除了JSON类型,string,integer,bollean,double,array和object。

2024-09-02 20:14:39 482

原创 Maven的使用

Maven可以帮助开发人员管理项目所需的外部依赖库。开发人员只需在项目的配置文件中声明所需的依赖,Maven就会自动下载并管理这些依赖。开发人员可以将一个大型项目划分为多个模块,每个模块可以独立进行构建和测试。这样可以提高开发效率,并且使得模块之间的依赖关系更加清晰和可控。开发人员可以使用Maven提供的命令来执行这些任务,而不需要手动编写复杂的构建脚本。开发人员可以使用Maven插件来生成各种类型的文档,如API文档、用户手册等。开发人员可以通过修改配置文件来定制项目的构建过程,而不需要修改构建脚本。

2024-09-02 11:59:59 319

原创 redis支持的数据结构

有序集合(Sorted Set,或者叫作ZSet):有序集合类似于集合,但每个元素都关联一个分数,用于排序,常用操作:添加元素,删除元素,按分数范围回去元素等。哈希(Hash):散列是一个键值对集合,其中每个键都映射到一个值,常用操作:设置字段值,获取字段值,删除字段,获取所有字段值等。列表(List):列表是一个有序的字符串集合,允许重复值,常用操作:从头或者尾部添加元素,获取元素,追加,删除元素,截取等等。常用操作:添加元素,删除元素,查找元素,集合运算,等。位图(Bitmap)

2024-08-18 19:22:44 351

原创 Java中redis面试题

答:redis版本在4.0之前都是单线程运行的,所有的客户端请求处理/命令执行以及数据读写操作都是在一个主线程中完成得。这种设计的目的就是为了防止多线程环境下的锁竞争和上下文切换所带来的性能开销,这样保证在高并发场景下的性能。不存在死锁和线程切换带来的性能和时间上的开销。答:redis数据是存储在内存中的,为保证不丢失就要从内存存储到磁盘上,以便在服务器重启之后能从磁盘中恢复原有的数据。大部分操作都是在内存中完成的,内存中的执行率本身就是很快的,并且采用了高效的数据结构,比如哈希表,跳表。

2024-08-18 11:32:02 314

原创 Java基础知识

首先要让java代码运行起来,你需要安装java开发工具包(JDK)并确保你的系统PATH环境变量中包含了JDK的bin目录。1,创建一个Java源文件,比如Hello.java 并写入以下代码。解释JVM类加载的五个阶段分别为:加载,验证,准备,解析和初始化。3.使用cd 命令导航到包含hello.java 文件的目录。java代码是如何运行的?5 运行编译后的类文件。JVM的工作原理和阶段?4.编译Java源文件。

2024-08-17 11:04:51 191

原创 java反射机制原理

反射最重要的用途就是开发各种通用框架,比如spring都是配置化的,为了保证框架的通用性,他们可能需要根据配置文件加载不同的类或者对象,调用不同的方法,这个时候就必须使用到反射机制。当我们在使用IDE或者Ecplise时,我们输入一个对象或者类,并想调用它的属性和方法时,编译器就会自动列出它的属性或者方法,这里就是用到反射。对于任意一个对象,都能够调用它的任意方法和属性,这种动态获取信息以及动态调用对象方法的功能成为Java的反射机制。3. 使用对象的getClass()方法,这需要有一个具体的对象实例。

2024-08-15 17:33:19 257

原创 Java中Spring基础知识理解

在分布式架构中,服务治理的实现方式包括使用服务注册中心(如Eureka、‌Zookeeper)进行服务的注册与发现,使用限流技术(‌如Guava、‌Sentinel、‌Nginx)‌ 控制请求访问速度,以及使用熔断技术(‌如Hystrix、‌Resilience4j)‌自动处理服务故障。微服务是一种软件架构模式,将一个应用程序拆分成多个小而自治的服务,每个服务都有自己独立功能,每个服务都可以独立开发,部署和扩展,它们之间通过轻量级的通信机制进行交互。确保系统的稳定性和性能。

2024-08-15 11:01:30 219

windows 安装redis服务端和客户端说明

windows 安装redis服务端和客户端说明 文档中存在下载地址和需要安装的文件

2018-04-03

Springboot+JPA(demo)

Idea实现springboot框架+JPA-hibernate数据库的 增删改查以及包含了一个简单的2表联合查询

2017-11-10

谷歌浏览器 发送restful 请求插件

对方法测试验证,自己选择get、post/delete的请求类型

2015-11-20

微信支付demo(包括java、C#、php)的源码案例

根据目前对微信支付前景的规划,写的支付代码里面主要是 微信支付demo(包括java、C#、php)的源码案例

2015-07-23

消息提示框

一款很好用的插件,在右下角弹出提示框 有时在页面加载的时候,需要在页面的右下角弹出一个小的提示框,显示一些提示信息给用户,通过使用jQuery的message插件,可以很方便的实现这个效果,在使用之前先介绍一下message插件中的方法的使用。

2014-11-14

My97DatePicker日期控件

最近的日期控件,添加了很多新的功能点。 一款非常灵活好用的日期控件 http://www.mysuc.com/test/My97DatePicker/上面有详细的说明需要的可以浏览看看

2014-11-14

metronic 后台模版

metronic的界面UI。 很实用的,可以省去很多代码量的描写

2014-07-11

sqlserver2000 上传图片保存二进制流

在sqlserver2000数据库中,将一个图片保存转换成二进制流的方式保存到数据库里面,并从数据库里面拿出来进行页面的展示

2014-06-17

mysql存储过程--根据主表创建一张副表导入数据(分表)

在存储过程中,根据一张主表去创建一张副表。 在根据需要限制的时间,查询主表里面的数据。将主表的数据插入到新建的副表里面同时将主表的数据删除,使用事物进行控制操作的过程

2014-06-09

企业人事管理系统文档设计

可能有大家学习的地方,互相学习(*@ο@*) 哇~吧 O(∩_∩)O~

2010-03-13

企业人力资源管理系统

相互学习,文档包含。东西多⊙﹏⊙b汗~~o(>_<)o ~~哼(ˉ(∞)ˉ)唧O(∩_∩)O哈哈~o(︶︿︶)o唉

2010-03-13

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

TA关注的人

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