自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 前端项目公共组件封装思想

在项目当中我们总会遇到这样的页面:页面顶部是一个表单筛选项,下面是一个表格展示数据。表格下方是一个分页器,这样的页面在我们的后台管理系统中经常所遇到,有时候可能不止一个页面,好几个页面的结构都是这种。如图:本人记得,在react中的高级组件库中有这么一个组件,就实现了这么一个效果。就拿这个页面来说我们实现一下组件封装的思想:1.首先把每个页面的公共部分抽出来,比如标题等,用props或者插槽的形式传入到组件中进行展示 2. 可以里面数据的双向绑定实现跟新的效果 3. 设置自定义函数传递给父组件要做上面事情1

2024-05-23 14:01:48 1

转载 Hutool该怎么用?

java复制代码// 输出结果:ni hao h String pinyin = engine.getPinyin("你好h", " ");

2024-05-21 11:57:51 3 1

转载 如果让你设计一个接口,你会考虑哪些问题?

java复制代码。

2024-05-17 17:27:35 5

转载 致公党湖南省委到长沙正宇软件调研交流

正宇软件积累了丰富的网络统战实践案例,已成功服务了全国500+人大、政协,并先后承接多地民主党派、统战部门信息化平台建设。未来,将继续提升产品研发能力和水平,为人大、政协、统一战线各单位工作质量和效率提供持续有力的信息化支撑,协助其开创数字时代信息化工作新局面。座谈会上,董事长刘跃华及工作人员介绍了“湘i民建”平台建设情况以及运用互联网平台开展网络统战工作的典型案例,双方就民主党派信息化建设的相关问题展开交流探讨。10月8日,致公党湖南省委会组织处处长李谷亮一行赴正宇软件调研民主党派信息化工作。

2024-05-16 15:04:58 5

原创 vivo X100s发布,搭载最新天玑9300+平台

正面采用的是6.7英寸的超视网膜8T护眼屏,支持最高120Hz的刷新率,峰值亮度3000nit。背板采用的是熟悉的玻璃材质,裸机手感还是非常丝滑的。天玑9300+采用的是4超大核+4大核的全大核的架构,超大核最高频率接近3.4GH。值得一提的是,天玑9300+本身整合了当下一些流行的大模型框架,在侧端的内容输出上拥有更强的表现。当然,vivo X100s最值得一提的,还是前几天刚刚发布的天玑9300+。总得来说,vivo X100s在核心配置以及影像方面的能力是十分突出的,有这方面需求的朋友可以考虑。

2024-05-15 16:36:24 312

转载 “正宇软件精英培养计划” ——在淬炼中成长,再沉淀后出发!

为打造出一支“懂产品、懂市场、懂客户”的精英队伍,正宇软件开展为期三个月的精英培训,来自各中心及分子公司、办事处的15名学员,通过线上+线下、公共大课+分班授课的方式,从产品、推广、交付三个维度进行了系统交流学习。公司一直关注和重视每一位员工的培养和发展,未来,将持续探索多元化培养途径,通过制定培养计划、多层次锻炼、多岗位历练等方式,全面提升员工的专业素养与综合能力。内容涵盖产品的功能及特点、组件化及智能化引擎的掌握、方案编写、现场汇报、人员调度、工作安排、需求把控等。

2024-05-15 16:33:06 7

转载 Java后端服务接口性能优化建议

场景举例: 之前有个业务需求,需要查询用户报表数据,报表数据包括用户维度的很多属性信息,用户表数据量很大,查询时需要join很多表,如果用关系型数据库存在严重性能问题,如下图所示。该策略的主要思想:就是在大数据量时,将业务数据写入文件中,再通过异步的方式去消费文件中的数据,执行对应的业务逻辑,减少数据库DB的瞬时压力。在适当的业务场景,恰当地使用缓存,是可以大大提高接口性能的。缓存其实就是一种空间换时间的思想,就是你把要查的数据,提前放好到缓存里面,需要时,直接查缓存,而避免去查数据库或者计算的过程。

2023-06-06 16:37:20 492

转载 揭开神秘面纱,会stream流就会大数据

如果你会任意一门语言的stream流,没道理不会大数据开发。俗话说男追女隔座山,女追男隔层纱。如果说零基础学大数据,感觉前面是一座山,那么只要你会java或者任意一门语言的stream流,那大数据就只隔了一层纱。本文以java stream流计算为例,讲解一些基础的spark操作。另一个流行的大数据框架flink同理。

2023-05-30 15:07:39 200

转载 还在只用RedisTemplate访问Redis吗

我们看了这三种方式,这里仅仅是做了个入门,每个里面都有很多细节的地方需要去研究和使用,整体的感觉是要想使用的简单,那么存储在Redis中的数据就要量少,量大后,就需要自己来定制了,那基本上要用RedisTemplate来做一些工作。

2023-05-24 16:28:27 177

转载 大白话讲解synchronized锁升级套路

synchronized锁是啥?锁其实就是一个对象,随便哪一个都可以,Java中所有的对象都是锁,换句话说,Java中所有对象都可以成为锁。这次我们主要聊的是synchronized锁升级的套路无锁状态偏向锁轻量级锁重量级锁依次从耗费资源最少,性能最高,到耗费资源多,性能最差。

2023-05-17 16:10:15 126

转载 java中常见的对象转换工具

mapstruct基于注解+字节码生成的方式使用和运行。其支持的功能全面,运行时速度也很快(直接生成转换器类字节码)。@Mapper@Data@Data// 使用复制代码如示例所示,我们只需要定义一个转换器接口,并标记注解@Mapper。UserMapper INSTANCE 添加一个调用单例对象。书写转换方法,当两者的属性名称不一致时,可以添加@Mapping 注解来配置对应关系。其也可以支持列表的转换,这可以说是相当的方便了。

2023-05-09 15:39:45 542

转载 代码优雅之道——Java如何判空

实际项目中我们会有很多地方需要判空校验,如果不做判空校验则可能产生NullPointerException异常。针对异常的处理我们在上一篇有提及:先来看一下实际项目中一些判空方式通常我们判断一个对象是否为Null,可以使用java.util中的Objects.nonNull(obj)、hutool中的ObjectUtil或者直接 null!= obj每种方法的存在必然有适用的场景,有些情况下这种链式编程,虽然代码优雅了。但是,逻辑性没那么明显,可读性有所降低,大家项目中看情况酌情使用。

2023-05-04 15:42:24 353

转载 性能 - 浅谈性能优化办法

性能优化,反复被提起,想要做到性能优化,先要理解性能优化,知其然才知其所以然,所谓的高性能就是合理的运用服务器的硬件资源,主要是Cpu和内存,硬盘,用大量的测试和计算,合理的计算使用服务器的资源,提升响应速度,提高吞吐率,就是性能优化的知识点。

2023-04-25 16:20:37 159

转载 几个不错的idea插件让我码速又快了

idea可以说是java开发者使用的最多的开发工具了,一写好的idea插件不仅仅能赏心悦目,更能帮助我们提升效率,有更多的时间去摸鱼。下面就推荐一些我经常用的idea插件。

2023-04-18 16:42:52 259

转载 简化你的代码,提高生产力:这10个Lambda表达式必须掌握

Lambda表达式是一种在现代编程语言中越来越常见的特性,可以简化代码、提高生产力。这篇文章将介绍10个必须掌握的Lambda表达式,这些表达式涵盖了在实际编程中经常用到的常见场景,例如列表操作、函数组合、条件筛选等。通过学习这些Lambda表达式,你将更加深入地理解函数式编程的思想,能够更加高效地编写代码。

2023-04-12 16:25:43 49

转载 调优 mybatis saveBatch 25倍性能

稍微总结下我粗略的对比(虽然粗略,但实验结果符合原理层面的理解),如果你想更准确地实验,可以使用JMH,并且测试更多组数(如 5000,10000等)的情况。批量保存方式数据量(条)耗时(ms)单条循环插入1000121011100059927mybatis-plus saveBatch(添加rewtire参数)10002589手动拼接sql10002275100055663jdbc executeBatch(添加rewtire参数)1000324。

2023-04-07 16:16:29 278

转载 既然有了MySQL,为什么还要有MongoDB

随着互联网技术的不断发展,数据存储和管理成为了一个重要的问题。在过去的几十年中,关系型数据库(如MySQL)被广泛应用于数据存储和管理。但是,随着互联网应用的不断增多和数据的快速增长,关系型数据库已经无法满足这些需求。为了解决这个问题,出现了新型的数据库技术,如MongoDB。但是,既然已经有了MySQL这样的关系型数据库,为什么还需要MongoDB这样的非关系型数据库呢?本文将从技术架构、数据模型、性能和应用场景等方面来分析这个问题。

2023-04-04 15:54:50 566

转载 【JAVA】让 ChatGPT 来浅说 AQS

当博主提问 ChatGPT 什么是 AQS 时,ChatGPT 给出了如下回答:大致意思就是说,AQS 全称 AbstractQueuedSynchronizer,是 Java 中并发包中用于实现锁和其他同步器的基础框架。它使用了 CAS 操作和 unsafe 类来实现同步器的状态更新以及线程的挂起和唤醒等操作,提供了一种通用的、高效且可扩展的同步机制,可以用来构建各种同步组件。AQS 内部维护了一个 FIFO 队列,用于存储等待获取同步状态的线程。

2023-03-28 15:37:03 81

转载 教你使用k8s来部署springboot服务

在看到此文章之前,想必你已经知道如何启动一个spring boot应用,知道如何通过docker运行你的spring boot服务。你可能会有这样得疑问,已经了解如上部署方式,是否还有必须去了解如何通过k8s部署spring boot应用?如果你有这样的疑问,那么请继续往下看。看到这里,想必你已经知道为什么要了解k8s来部署服务。因为k8s可以轻松实现服务扩容、服务缩容、服务自愈、服务滚动更新和服务版本回退。

2023-03-20 16:06:36 826

转载 深入浅出ThreadLocal

解读完ThreadLocal的源码,再回归到它的命名,理解又深了一个层次:Thread + Local = 线程 + 本地 = 线程本地变量 = 把某个对象放在了线程本地。文理不分家,不妨借用文科的思维打比方去理解它:ThreadLocal对象就像一个具体的客观的对象,可以是某个话题,某部电影,某本书,甚至某个人。而每个Thread就像一个人,读者,旁观者。Thread对ThreadLocal的set操作和get操作,就分别对应是一个人对某个客观的对象进行设置主观印象和获取主观印象。

2023-03-13 16:31:57 44

转载 BigDecimal不可触碰的6个坑

BigDecimal是Java中的一个类,用于处理任意精度的十进制数字。与基本数据类型double和float不同,BigDecimal类可以保留任意位数的小数,并支持高精度的数学运算。但是,由于BigDecimal处理的数字非常大,因此在使用时需要注意一些事项,否则可能会引发一些问题。本文将介绍使用BigDecimal时需要注意的点,并提供一些示例代码来说明问题。

2023-03-10 16:38:33 153

转载 为什么人们宁可用Lombok,也不把成员设为public?

综上所述,将成员变量定义为public是不可取的,使用Lombok也不是一个明智的选择,还是老老实实的通过IDE生成get/set方法吧。

2023-03-07 17:04:16 105

转载 SpringBoot可以同时处理多少请求?

前两天面试的时候,面试官问我:一个ip发请求过来,是一个ip对应一个线程吗?我突然愣住了,对于SpringBoot如何处理请求好像从来没仔细思考过,所以面试结束后就仔细研究了一番,现在就来探讨一下这个问题。

2023-02-27 16:18:50 204

转载 MyBatis获取参数值的两种方式:#{} 与 ${}

建议分成两种情况进行处理:实体类类型的参数使用@Param标识参数。

2023-02-22 17:19:23 152

转载 Spring项目中用了这种解耦模式,经理对我刮目相看

不知道大家在项目中有没有遇到过这样的场景,根据传入的类型,调用接口不同的实现类或者说服务,比如根据文件的类型使用 CSV解析器或者JSON解析器,在调用的客户端一般都是用if else去做判断,比如类型等于JSON,我就用JSON解析器,那如果新加一个类型的解析器,是不是调用的客户端还要修改呢?这显然太耦合了,本文就介绍一种方法,服务定位模式Service Locator Pattern来解决,它帮助我们消除紧耦合实现及其依赖性,并提出将服务与其具体类解耦。欢迎关注个人公众号『JAVA旭阳』交流沟通。

2023-02-14 17:22:22 67

转载 百万级数据excel导出功能如何实现?

最后用两张图,总结一下excel异步导数据的流程。如果是使用mq导数据:如果是使用job导数据:这两种方式都可以,可以根据实际情况选择使用。2023年我干了一件很有价值的事情我们按照这套方案的开发了代码,发到了pre环境,原本以为会非常顺利,但后面却还是出现了性能问题。

2023-02-07 17:32:27 223

转载 为什么大家都说 SELECT * 效率低?

无论在工作还是面试中,关于SQL中不要用“SELECT *”,都是大家听烂了的问题,虽说听烂了,但普遍理解还是在很浅的层面,并没有多少人去追根究底,探究其原理。效率低的原因先看一下最新《阿里java开发手册(泰山版)》中 MySQL 部分描述:【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。说明:增加查询分析器解析成本。增减字段容易与 resultMap 配置不一致。无用字段增加网络 消耗,尤其是 text 类型的字段。

2023-02-01 17:13:01 45

原创 面试中如何才能有底气的回答,软件测试题库你有必要一用

回答:如果有幸进入贵公司,首先,我会尽快熟悉项目的业务流程,尽早融入到团队中,和开发人员多沟通交流;再次,我会利用工作之余进行充电,及时总结工作,努力提高自己的专业技能,完善自己的性能测试自动化测试技能,在工作中慢慢积累经验,使自己强大起来,以后担任更重要的职务,为公司创造价值。面试,是决定求职者是否能进入到自己心仪岗位的敲门砖,而对于很多第一次参加软件测试面试的求职来说,想要通过面试就得经过hr的初面以及技术官技术面,前者还好说,可以根据情况临场发挥,而后者,就是实打实的专业性问题。

2023-01-30 09:24:08 277 1

转载 Go的ORM也太拉跨了吧,赶紧给他封装一下

(其实也不算转,公司用啥,我用啥)在这个过程中,老是想用Java的思维写Go,在开始的一两个月,那是边写边吐槽。丑陋的错误处理,没有流式处理,还竟然没有泛型,框架生态链不成熟,没有一家独大的类似Spring的框架。(其实现在写了快一年的Go,Go还是挺香的,哈哈)在Mybatis-plus中操作单表非常方便,通过QueryWrapper,对于单表的操作非常的丝滑,没有任何的思维负担。其实上面的写法还是需要写数据库的字段名,如果数据库的字段名很多,我们很容易写错,导致不必要的bug产生。

2023-01-16 17:16:35 364

原创 面试干货!初级软件测试面试题及答案题库一起奉上

比如题库方面的话,你们可以看看,这个免费的软件测试面试小程序,名字是柠檬班软件测试题库,据说它原本是培训机构为自己的学员刷题开发的,后面不知道啥原因,将题库升级迭代后,就对外免费开放了。软件测试工程师面试通常要经历技术面以及HR面,HR面一般都是日常问题,面试人可以临场发挥过去,但关乎岗位职责的技术面,可就没那么容易了,尤其是对于很多初次去面试测试岗位的没有任何测试岗位面试经验的转行人员,那么初级软件测试面试官都会问些什么样的问题呢?字符串、列表、元组、集合、字典,range对象,open打开的文件对象。

2023-01-16 09:16:23 367

转载 前端重新部署如何通知用户刷新网页?

如果后端可以配合我们的话我们可以使用webSocket 跟后端进行实时通讯,前端部署完之后,后端给个通知,前端检测到Message进行提示,还可以在优化一下使用EvnentSource 这个跟socket很像只不过他只能后端往前端推送消息,前端无法给后端发送,我们也不需要给后端发送。根据和小伙伴的讨论得出了一个方案,在项目根目录给个json 文件,写入一个固定的key值然后打包的时候变一下,然后代码中轮询去判断看有没有变化,有就提示。以上方案需要后端配合,奈何公司后端都在忙,需要纯前端实现。

2023-01-11 15:53:43 188

转载 为什么 java 容器推荐使用 ExitOnOutOfMemoryError 而非 HeapDumpOnOutOfMemoryError ?

好久没写文章了, 今天之所以突然心血来潮, 是因为昨天出现了这样一个情况:我们公司的某个手机APP后端的用户(customer)微服务出现内存泄露, 导致OutOfMemoryError, 但是因为经过我们精心优化的openjdk容器参数, 这次故障对用户完全无感知. :muscle::muscle::muscle:那么我们是如何做到的呢?

2023-01-09 15:42:30 252

原创 初级软件测试面试会问什么 拿好这些问题的标准答案,offer不在话下

以上技术问题仅是极少部分,建议大家在做刷题准备时,找好足够的面试真题,给你们推荐一个好去处——题库,柠檬班软件测试题库里面包含有初级功能测试、自动化测试、性能测试等各个阶段的面试真题3千多道,并且每题都设有答案,最最关键的是“免费”!回答:我刚开始,会先熟悉公司的产品和业务,然后把测试的本职工作做好,之后呢,为了提高测试和工作效率,会提升自己的自动化测试技术,帮助公司实现自动化测试,落地之后,慢慢发展成为一位资深的测试工程师,为公司带来更多的价值。那么,在初级软件测试面试中,HR会问什么的问题呢?

2023-01-09 09:18:48 380

转载 还在只用RedisTemplate访问Redis吗

前面两个命令是启动redis docker, 后两个是连接到docker, 在使用redis-cli 去查看redis里面的内容,主要查看我们存在redis里面的数据。

2023-01-05 16:22:26 100

转载 干掉 “重复代码” 的技巧有哪些

软件工程师和码农最大的区别就是平时写代码时习惯问题,码农很喜欢写重复代码而软件工程师会利用各种技巧去干掉重复的冗余代码。

2023-01-03 16:20:34 59

转载 交互式仪表板!Python轻松完成!

​在本篇内容中,ShowMeAI将给大家讲解使用 📘ipywidget 模块创建交互式仪表板。​

2022-12-30 16:11:21 269

转载 SpringBatch实践

Spring Batch 是一个轻量级、全面的批处理框架,旨在支持开发对企业系统的日常操作至关重要的健壮的批处理应用程序。Spring Batch 建立在人们期望的 Spring Framework 特性(生产力、基于 POJO 的开发方法和一般易用性)的基础上,同时使开发人员可以在必要时轻松访问和使用更高级的企业服务。Spring Batch 不是一个调度框架。在商业和开源领域都有许多优秀的企业调度程序(例如 Quartz、Tivoli、Control-M 等)。Spring Batch 旨在与调度程序结

2022-12-28 16:21:37 157

转载 Mysql写入数据十几秒后被自动删除了

事情是这样的,在公司内部新开发了一个功能还没有上线,目前部署在测试环境,Node服务会开启一个定时任务,每5分钟会处理好一部分数据写入到mysql数据库中。

2022-12-26 15:31:18 633

原创 初级软件测试面试会问什么 除了常见问题,技术题也是重点

来对往期的面试真题,进行一个熟悉以及背诵,这里你就可以试试这个免费的小程序——柠檬班软件测试题库,这也是我前段时间在整理问题的时候,找到的,自己去里面测试了下,发现功能齐全、题目也多,有需要的可以用用。众所周知,面试是我们进入一个公司的门槛,面试者只有通过了面试才能进入公司,因此,很多新手测试人就想要知道,自己去面试初级软件测试的岗位,HR们都会问些什么样的问题?可以看到,代码覆盖率其实是测试覆盖率的一部分而已。其中,最常讨论和关心的是代码覆盖率,代码覆盖率又分为程序语句和代码行覆盖,分支覆盖和条件覆盖。

2022-12-26 11:23:34 578

转载 Spring中11个最常用的扩展点,你知道几个?

在使用spring的过程中,我们有没有发现它的扩展能力很强呢? 由于这个优势的存在,使得spring具有很强的包容性,所以很多第三方应用或者框架可以很容易的投入到spring的怀抱中。今天我们主要来学习Spring中很常用的11个扩展点,你用过几个呢?

2022-12-22 16:49:19 126

空空如也

空空如也

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

TA关注的人

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