
java
文章平均质量分 76
威哥爱编程(马剑威)
华为开发者专家(HDE)、CSDN博客专家、华为云云享专家、阿里云开发者社区专家博主、IT畅销书作者、TiDB开发者官方认证讲师、华为开发者学堂鸿蒙应用生态高级讲师。百科:https://baike.baidu.com/item/马剑威/59826318 ,公众号:威哥爱编程
展开
-
你理解的ChatGPT真的是对的吗?
它通过学习大量的语料库,实现了对自然语言的理解和生成,为人工智能技术的发展提供了新的思路。所以威哥的建议是,未来任何人想要在商业职场方面建功立业,过的好一点,简单可重复的工作一定会被替代,我们更应该去发挥人类创造性的特长,从事某个领域里创造型的工作,而利用ChatGPT来提高工作效率,而不是被代替。举个例子,威哥在平时写Java程序时,用的IDEA工具,安装了Bito插件后,通过描述想要实现的需求,就可以让Bito工具帮我生成代码,生成过程还是很丝滑的,再经过测试和适当优化,就可以,效率那是杠杠的。原创 2023-06-09 11:08:10 · 489 阅读 · 0 评论 -
异常解决丨前后端交互过程中跨域问题的解决思路
这里我们页面的访问地址是:http://xxx:8080/login,接口的访问地址:http://xxx8082/xxxxx,这里两个地址的端口号一个是8080,一个是8082,在同源策略下,这属于2个完全不同的网站!如果你仔细查阅”跨域访问“的相关内容,就会知道,这是因为浏览器默认就有一个”同源策略“,即浏览器默认只允许同一个网站访问,不允许不同的网站访问。辉哥还要顺带说一句,在我们日常的学习过程中,请先尽量自己想办法解决问题,能自己解决是最好的,因为这样你对问题的理解和记忆就会更深刻。原创 2023-01-11 10:00:00 · 2026 阅读 · 1 评论 -
你所不知道的Lambda表达式和常用的函数式接口,抓紧学起来
如果⼀个⽅法的参数和返回值全都是 Consumer 类型,那么就可以实现效果:消费数据的时候,⾸先做⼀个操作, 然后再做另⼀个操作,实现组合。java.util.function.Function接⼝⽤来根据⼀个类型的数据得到另⼀个类型的数据,前者称为前置条件,后者称为后置条件。⽆论是JDK内置的Runnable 、 Comparator 接⼝还是⾃定义的接⼝,只有当接⼝中的抽象⽅法存在且唯⼀时,才可以使⽤Lambda。Function接⼝中有⼀个默认的andThen⽅法,⽤来进⾏组合操作。原创 2023-01-11 09:57:56 · 495 阅读 · 0 评论 -
取代接口常量,Java中的枚举类型你都了解吗?
从上图中可以看出,枚举类最终会被编译为被final 修饰的普通类,我们知道常量就是用static final 来修饰的,所以枚举值就是常量值,无法被修改。枚举在曰常生活中,其实很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等等。在 JDK 1.5 之前没有枚举类型,那时候一般是用接口常量来替代,我们现在就可以用enum枚举类型来贴切地表示这种常量了。比如我们现在想编写一个游戏,游戏中有上下左右4个方向 ,我们可以创建一个类,在该类中定义出上下左右四个方向常量。原创 2023-01-11 09:50:49 · 358 阅读 · 0 评论 -
搞开发过时啦?!看准行业,深度解析Java高薪秘诀!
每一个JDK版本推出时,都存在着很多的未知的bug,所以企业在开发时,都会选择最稳定的版本!1998年12月,推出 JDK1.2,更名为Java2(Java2就是Java第二代,之所以改成Java2,就是想让外界感觉的Java突飞猛进,已经不是刚诞生时的初级版本,一下子进入到了新二代的意思),自此Java细化为J2SE、J2EE、J2ME;你想想,作为一个初学者,你每敲一个代码案例,就遇到这样那样的问题,出了问题还得花费很长的时间和精力去解决,搞来搞去,你还有多大的热情和动力继续学下去呢?原创 2023-01-11 09:48:08 · 284 阅读 · 0 评论 -
程序员该如何掌握设计模式?看这篇干货总结
为了在程序上更精进,很多时候我们要阅读源码内容,不管是读的是jdk,spring,netty或者是一些其他源码,他们底层的设计思想很多都是包含了设计模式的身影,我们每次都惊叹别人脑子怎么这么聪明,吃什么长大的,为什么我就想不出来,因为这种设计模式已经植入到别人脑子里了。我们经常在开发过程中,尤其在设计一个功能的时候,leader经常会review大家的代码,代码风格属于一个人的固定风格,很多同学一写就是好几年,从设计的角度来看确实不像样子,每次都是功能没有问题就ok。做饭差的家人都不愿意吃你做的饭一样。原创 2023-01-11 09:44:35 · 360 阅读 · 0 评论 -
支付宝支付不会搞?看这里看这里
比如常用的办公室软件等,一般在办公室或家里,通过拨号上网,这样办公软件只有在本地的局域网之内才能访问,那么问题来了,如果是手机上,或者公司外地的办公人员,如何访问到办公软件呢?沙箱环境拥有完全独立的数据体系,沙箱环境下返回的数据(例如用户 ID 等)在生产环境中都是不存在的,开发者不可将沙箱环境返回的数据与生产环境中的数据混淆。沙箱环境是支付宝开放平台为开发者提供的与生产环境完全隔离的联调测试环境,开发者在沙箱环境中完成的接口调用不会对生产环境中的数据造成任何影响。原创 2023-01-11 09:42:13 · 565 阅读 · 0 评论 -
一文带你快速入门Activiti7工作流引擎
这些数据,也是某一个工作流实例在运转的过程中产生及需要获取的数据,比如一个请假流程,流程的定义、流程实例、流程达到哪个任务节点等数据,都会保存在这些表中。有的时候,也可以是一个候选组里的多个候选人中的某个候选人来主动拾取任务,即A、B、C中的某一人,只要有一人完成该任务,该流程就能继续往下走。此时按照流程图的设计,流程会进入到指定的任务节点。一个流程定义可以创建多个流程实例,比如请假申请是一个流程定义,而小明可以创建小明的请假申请,小王可以创建小王的请假申请,小明和小王创建的请假申请就是具体的流程实例。原创 2023-01-11 09:40:38 · 643 阅读 · 0 评论 -
让人头大的乱码问题束手无策?!今日份异常手把手带你解决!
百泽老师曾经有个同事就是因为 Freemarker乱码,找了半天没找到原因,后来在百泽老师的建议下修改了项目编码,乱码问题才得以解决。分析完可能会导致乱码的原因之后,接下来大家要做的,就是通过 DEBUG 或者打印日志,锁定导致乱码的原因,看看自己的乱码是属于哪一种,找到了乱码的原因,问题就解决了 80%!你找不到导致乱码的根本原因,就去网上一通百度,别人说的头头是道,结果还是没能解决自己的问题。不同原因导致的乱码,就会有不同的解决方案,对症下药,才能药到病除!原创 2023-01-03 14:51:52 · 293 阅读 · 0 评论 -
毕设/入门皆可做,JavaEE+SSM医院管理完整项目
千锋健哥在本项目中实现了, 患者挂号, 处方划价, 处方缴费, 住院管理, 患者项目检查, 项目缴费等医院内部涉及的完整流程. 为互联网医疗行业项目, 实现了医院电子化, 信息化办公。项目中涉及的技术有Spring, SpringMvc, Mybatis, PageHelper, Jsp, EL表达式, JSTL标签, log4j, Jquery, Html, css, Ajax, Mysql等技术。本项目内容非常丰富, 涉及前端, 后端的很多技术. 所以千锋健哥感觉本项目适合专科以及本科学生的学习。原创 2023-01-03 14:47:34 · 893 阅读 · 2 评论 -
Apifox干货纯享丨20分钟搞定接口管理、开发、测试全流程!
接口运行完之后点击保存为用例按钮,即可生成接口用例,后续可直接运行接口用例,无需再输入参数,非常方便。支持导入 OpenAPI (Swagger)、Postman、HAR、RAP2、JMeter、YApi、Eolinker、RAML、DOClever、Apizza、DOCWAY、ShowDoc、I/O Docs、WADL、Google Discovery 等数据格式。可自动识别出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出非常人性化的数据。原创 2023-01-03 11:35:09 · 1600 阅读 · 0 评论 -
入门必备技能,基于Linux的MySQL安装和使用详细教程
执行mysql指令,-u选项后的root表示用户名,-p选项后不加参数直接回车,然后输入初始密码(输入密码时在输入框没有反馈,输入完成之后直接回车即可),出现mysql>执行提示,表示登录成功。在Linux系统创建并进入指定的目录,以下为 /usr/local目录,使用pwd指令查看当前目录的路径,然后通过wget指令现在mysql的rpm包,此处下载的mysql版本为 5.7。密码修改完成之后,执行exit指令,退出mysql客户端,然后使用修改后的密码重新登录。通过rpm指令安装下载的rpm包。原创 2023-01-03 11:24:53 · 552 阅读 · 0 评论 -
五年买房,十年存款百万?!25岁的我还能转行搞Java吗?
在就业期间通过就业老师的指导,制定了一个可行的职业生涯计划表,包括制作简历,如何应对面试,如何调整就业心态,明确了自己就业目标。其实你只要有想改变自己命运的想法,那就真正的行动起来,提高自律性,规划学习就可以了,年龄和学历都不是阻碍你迈入IT行业的绊脚石。刚开始想要入行的同学,可以先做了解,看一下老师们准备的2022年最新的学习线路图,详细的线路图希望可以帮你更好地了解Java是什么,你是否愿意从事Java开发的工作。其实这样的案例还有很多,只要你不断地努力,你也会成为优秀的他,有可能还会超越他。原创 2023-01-03 11:18:20 · 181 阅读 · 0 评论 -
使用RocketMQ实现消息顺序消费
Broker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,Master与Slave 的对应关系通过指定相同的BrokerName,不同的BrokerId 来定义,BrokerId为0表示Master,非0表示Slave。但如果把问题定位在整个队列中时,不同的消息在不同的队列中,又不能保证消息的有序性,不如消息A到了队列2,消息B到了队列1,消费者先消费了队列1再消费队列2,就不能保证有序性。原创 2023-01-03 11:14:02 · 4344 阅读 · 0 评论 -
遇到bug不要怕,手把手教你debug
⑩==>行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。⑦==>步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法;⑨==>步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值;⑧==>强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法;C. 方法断点:在方法的入口处设置断点 可以观察方法的执行的结果以及流程;②==>更新程序,一般在你的代码有改动后可执行这个功能;原创 2023-01-03 11:12:57 · 8958 阅读 · 0 评论 -
亿级流量的互联网项目如何快速构建?手把手教你构建思路
这样的并发量不算大,但也不能说少,而且这样每秒10万的请求是持续的,这10万的请求每秒都会来,不间断的来,此时考验后端接口的时刻就到了。从上述项目背景中我们就能看出,每一个功能的实现都需要硬件设备来实现:比如人脸识别考勤机来实现智慧打卡,带有人体识别功能的摄像头来捕捉没有戴安全帽的人员,传感器设备来统计机器是否正在工作。这些项目之间有着重要的联系,这样的联系可以总结为两点:一是数据大屏的后端为数据大屏的前端提供数据,二是硬件设备的后端供硬件设备访问实现数据交互。我们可以将统计到的数据,维护在redis中。原创 2022-12-28 10:57:05 · 534 阅读 · 0 评论 -
请求转发与重定向,傻傻分不清?看这篇文章试试
如果加入了上下文路径,访问映射路径有多级的话,则不能使用相对路径进行跳转,需要使用绝对路径,也就是跳转路径前面必须加“/”标识。然后是对内和对外跳转的区别,对于外部跳转,必须使用重定向,转发则不可对外跳转。对内部安全页面跳转则必须使用转发,例如转发到内部WEB-INF下的安全页面,则必须使用转发,使用重定向则访问不了。另外关于在过滤器中的跳转应用,在过滤器中,如果使用转发后,则不会进入过滤器中。我要找凤姐办事,凤姐说她完成不了,她帮我找能完成这件事的人,然后完成了这件事,我只需要发一次请求即可。原创 2022-12-28 10:51:01 · 180 阅读 · 0 评论 -
springboot+mybatis如何快速插入大量数据
在公司业务开发过程中,我们经常会遇到往数据库表中插入大量数据的场景,比如excel批量导入数据。我们可以考虑使用批量插入来实现,该方案实测每秒能达到35000条,后附具体实现代码。该方案的优势在于,JDBC 中的 PreparedStatement 有预编译功能,预编译之后会缓存起来。该方案的优势在于,只有一次网络 IO。我们不可能单次提交多个insert,大量的插入操作会很耗时,短时间内完不成,可以采用定时任务来实现。我们用来模拟生成要插入的数据,实际业务开发的时候可以是从excel中导入的数据。原创 2022-12-28 10:48:35 · 7335 阅读 · 1 评论 -
基于Shell编程完成定时备份数据库,看这篇就够了
最近文哥班里有一个学员面试成功上岸,在公司开发时遇到了这么一个需求:领导要求他编写一个shell脚本,完成定时备份数据库的需求。所以今天文哥就在这里写了一个基于shell脚本,对数据库进行定时备份的案例,希望对大家能够有所帮助。备份后的文件要以备份时间为文件名,并打包成tar.gz的格式,比如:2021-09-15_230201.tar.gz;在备份的同时,要检查是否有10天前备份的数据库文件,如果有就将其删除。至此,我们就完成了数据库的定时备份案例,希望能够对大家有所帮助。原创 2022-12-28 10:31:27 · 1336 阅读 · 1 评论 -
【真干货】Activiti7工作流如何使用?看这里
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目 标的实现”。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则 等)。Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。原创 2022-12-28 10:19:31 · 3896 阅读 · 0 评论 -
BindingException异常的产生原因及解决过程详解
首先我们看到,这里抛出的异常是org.apache.ibatis.binding.BindingException,接着再看异常的信息是 Invalid bound statement (not found): com.qf.mapper.EmpMapper.list。通过检查学生的代码发现,这个学员只是在Mapper接口中定义了方法,但是没有在Mapper.xml中编写的sql语句,所以MyBatis找不到sql语句就抛出了上面的异常。现在知道MyBatis的绑定的过程了,我们继续回到上面提到的异常。原创 2022-12-28 10:16:40 · 11851 阅读 · 0 评论 -
代码管理工具—Git操作详解
第四个就是我们的bug修复分支(bugfix),项目开发完成之后,部署到公网之后,我们的项目如果出现bug,那么这个时候,就会基于我们的master分支克隆一个bugfix-v1.0分支,来进行bug的修改。也就是说,我们有许多个开发工程师,有的负责项目的这个模块,有的负责项目的那个模块。导入后会在其项目文件下创建.svn,用户开发小组在修改编写好自己所负责的模块后,将代码保存到自己的.svn中,再通过.svn这个文件到SVN Server提交上传和拉取文件。原创 2022-12-28 10:14:09 · 974 阅读 · 0 评论 -
想学Redis却不会安装,这有一个快速入门请拿去
在redis的安装目录中有redis的客户端,即redis-cli(Redis Command Line Interface),它是Redis自带的基于命令行的Redis客户端。Redis是C语言开发,安装Redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc。– 由于数据是存储在内存中(Redis能读的速度是110000次/s,写的速度是81000次/s)。,redis使用自己实现的分离器,代码量很短,没有使用lock(MySQL),因此效率非常高。原创 2022-12-20 15:42:30 · 565 阅读 · 0 评论 -
来聊一聊|ConcurrentModificationException异常的解决
最近耀哥的一个学生,在使用使用ArrayList的subList的时候,发生了ConcurrentModificationException的异常。ArrayList 中定义了一个变量modCount,顾名思义这个变量就是用来记录ArrayList被修改的次数,modCount 初始值为0,ArrayList 源代码如下。ArrayList 使用SubList的时候并没有创建新的List,而是引用原来的List,并且把原本List的modCount复制了过来,源代码如下。下面是产生异常的代码。原创 2022-12-20 15:40:12 · 997 阅读 · 0 评论 -
Servlet还不会?那就看这篇文章吧
在这整个访问过程中,我们通过浏览器发送访问请求,服务器接收请求,服务器完成后端的一些处理操作,最后服务器将信息反馈(响应)给浏览器。杨哥给大家总结出一个开发Servlet的流程,"一类,二配,三编,四运行"!启动服务器之后,在这个url地址后面,跟上我们的后端地址,通过浏览器直接请求服务器,服务器会给我们返回响应:"hello,这是我第一个Servlet"杨哥提醒:此时我们使用@WebServlet注解的方式,代码量会更少,但xml配置是能够体现最原理性的东西,注解方式只是进行了优化。原创 2022-12-20 15:37:14 · 458 阅读 · 0 评论 -
毕设新思路丨爱奇艺后台管理项目详细步骤抓紧看!
系统采用了当前主流的RESTful接口设计,采用JWT的认证方案,并解决了权限管理问题。在视频、音乐、游戏、文学四大网络娱乐应用中,网络视频行业用户规模占据领先地位。所以我们的仿爱奇艺电影平台就应运而生,这个项目类似于爱奇艺、腾讯视频、优酷视频等的运营模式,平台自身支持用户在线观看电影。这就给网络娱乐的发展带来了机遇。需要自行安装 mysql5.6、Redis、FastDFS、Solr、Rabbit MQ和Tomcat服务器 需要启动 mysql、redis、FastDFS、Solr、Rabbit MQ。原创 2022-12-13 16:07:05 · 644 阅读 · 0 评论 -
项目实战案例丨教辅机构信息化平台跟着这个做
最近正值计算机专业的小伙伴忙着整理毕业设计,有不少童靴问辉哥,有没有合适的项目作为毕业设计项目。恰好辉哥这里就有一个适合作为毕设的项目,那么辉哥就写一篇文章,聊聊这个项目,希望可以对有需要的你有所帮助吧。下面是员工登陆进来可以看到的信息,设置对应的班级和学科信息。下面是我们的登陆页面:整合目前主流的中文图形验证码功能,安全且美观。,可以实现以不同的角色登陆,登录后不同的用户看到的功能不一样。下面这个就是我们管理员的主页,登陆之后才可以看到。也可以看到部门信息和员工信息和邮箱等。原创 2022-12-13 16:04:47 · 384 阅读 · 0 评论 -
HashMap扩容为什么每次都是之前的2倍? 这题怎么破
假如说 HashMap的初始化长度是10,那么最大索引值为9,而9对应的二进制数是 1001。那么key的hash值与 9相与,结果只可能为 0、1、8、9,那么新增的数据永远只能放到数组索引为 0、1、8、9这四个位置,这就大大增加了出现链表和红黑树转换的概率。根据2.1小节中,图片标识的(n-1)&hash,那么就能保证添加到HashMap中key的hash值与最大索引相与时,能够最大化的分散到HashMap所有的 bucket 中,进而最大化避免出现 hash碰撞而形成链表或者红黑树。原创 2022-12-13 14:55:24 · 814 阅读 · 0 评论 -
还在手写接口文档?看Swagger如何助你解放双手去吃鸡
注意,http://localhost:8010/swagger-ui/index.html 无法使用,是由于knife4j-spring-boot-starter中排除了springfox-swagger-ui的jar包。如果我们想使用 http://localhost:8010/swagger-ui/index.html ,还需要额外导入一个jar包。现在的项目开发很多都会采用前后端分离的模式,前端负责调用接口,进行渲染,前端和后端的唯一联系,就得是依靠API接口来完成。废话少说,我们直接上使用教程。原创 2022-12-13 14:53:04 · 394 阅读 · 0 评论 -
Docker中的bridge模式,可以这么设置
Docker容器和服务之所以强大的原因之一,是可以将它们连接在一起,或者将它们连接到非Docker的工作负载上。docker启动一个容器会根据docker网桥的网段,分配给容器一个ip地址,称为container-ip。docker网络作为整个docker体系中极为重要的一个知识点,在生产中经常被用到,尤其是网络模式当中的bridge模式和host模式更是应该重点掌握。docker网桥是每个容器的默认网关,同一台宿主机内的容器都会接入一个网桥,这样容器之间就能通过container-ip进行通信了。原创 2022-12-13 14:51:45 · 2291 阅读 · 0 评论 -
实战项目演练丨九哥带你搭建精美的博客后台管理系统!
本项目是一个博客后台管理系统,主要包含四个大模块:用户、分类、博客和评论。项目启动后需要通过管理员身份进入系统,进入系统后会呈现后台管理主界面,通过后左侧的导航菜单,实现不同模块的数据维护。一. 基本简介最近正值计算机专业的小伙伴忙着整理毕业设计项目,有不少同学都在为毕设发愁。九哥就在这里为同学们分享一个适合作为毕设的项目实现流程。这篇文章,可以让大家清楚项目开发的过程以及使用到的核心技术点,希望可以让大家顺利地迈出校门。该项目相关的技术栈如下:开发工具:idea sqlyog vscode后台数据库:My原创 2022-12-07 15:26:33 · 715 阅读 · 0 评论 -
JavaWeb新项目,视频管理平台要这么做!(附源码资料)
一 课程介绍简介:本项目为JavaWeb项目(视频管理平台),是在Web环境下实现的视频管理平台。技术上涉及Servlet、JSP、EL表达式、JSTL、Apache Dbutils、分页,以及其他之前Web阶段所学习的课程内容。本项目重点锻炼学员的Servlet、JSP、MySQL数据库等技能,以及熟练掌握JavaWeb项目的实战开发流程及规范。该项目的核心功能如下所示:通过上述功能,我们就可以完成对视频管理平台的管理。二 课程所使用的技术本项目主要使用到了Java Web阶段的技术要点,如下所示:三 本原创 2022-12-07 15:23:58 · 638 阅读 · 1 评论 -
毕设demo丨您有一份会议系统App项目请查收!
对很多小伙伴们来说,毕业设计都是逃不掉的一个重要环节。毕竟我们要检查大学几年来的学习成果,就得做出来一个像样的项目出来给老师家长甚至包括即将入职的公司看看。对于很多计算机专业的学生来说,毕业之前,一般都是要做一些软件或硬件项目的。所以接下来壹哥会给大家展示几款优秀的软件毕设项目,给需要做软件毕设项目的小伙伴们一些启发。如果你对壹哥的这些毕设项目感兴趣,别忘了“一键三连”,找壹哥来获取毕设资料哦。课程介绍该项目是一个手机App的服务端、主要是为甘孜人大和甘孜政协做的这样一个两会使用的系统、该系统主要的功能是能原创 2022-12-07 15:21:25 · 200 阅读 · 0 评论 -
强烈推荐|websocket 全双工通信协议详解
一. 前言在开发中,我们经常会遇到这样一类需求:需要在网页上显示天气预报,股票数据或者实时排行榜单等实时变化的数据。对于此类需求,一种较为原始的做法就是让客户端每隔一段时间主动去轮询服务器。但这种做法有一个很大的弊端:如果客户端的数量很大,每隔一段时间就发消息给服务器的话,服务器的并发压力会非常巨大。而且访问的频度也很难精确把握,过于频繁地访问服务器,则压力太大;不频繁的话,数据更新可能又不及时。所以今天,耀哥将会给大家分享一个可以让服务器主动推送消息给客户端的技术--websocket!二. WebSoc原创 2022-12-07 15:10:35 · 2269 阅读 · 0 评论 -
面试题分享|Linux定时任务调度机制是怎么回事?
一. 前言在求职过程中,有过面试经历的小伙伴们都知道,企业对linux的考察还是蛮频繁的。作为java开发程序员,在企业中我们的服务器都是在linux环境中部署的,所以熟练使用linux已经成为企业招聘人才的基本需求。但很多小伙伴在学习中很少使用linux,导致在面试中被问到linux时屡屡翻车,所以文哥专门收集了自己班级的学员,在面试时与linux相关的题目。今天文哥就以任务调度为例,来给大家谈谈linux中的定时任务调度。二. 什么是定时任务调度什么是任务调度?文哥是这么理解的,就是在linux操作系统原创 2022-12-07 15:08:55 · 830 阅读 · 0 评论 -
线程可重复使用,程序开发是如何使用线程池的呢?
通俗的讲,线程池就是一个线程集合,里面已经提前创建好了若干个线程,当需要线程的时候到线程集合里获取一个即可,这样省去了创建线程的时间,当然也省去了GC回收线程的时间,当线程池里的线程都被使用了后,只能阻塞等待了,等待获取线程池后被释放的线程,这样就不会无限制的去创建线程二导致Out of Memory。,所以如果要执行的任务很多,每个任务都需要一个线程的话,那么频繁的创建、销毁线程会比较耗性能。当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理。原创 2022-11-28 16:52:15 · 636 阅读 · 0 评论 -
案例实操|带你学会自定义SpringBoot starter启动器
开发人员只需要在项目的POM文件中导入对应的场景依赖,并编写少量的配置,即可快速实现当前场景的应用开发,真正的实现开箱即用。今天建哥会通过这篇文章,并结合一个具体的案例来给各位小伙伴介绍一下,我们该如何自定义一个自己的SpringBoot场景启动器,毕竟有时候官方提供的starter不能完全满足我们所有的需求。上面我们定义了一个组件HelloService,它有一个非常简单的功能,就是能够根据调用者传递的名字返回一个打招呼的信息,返回的信息内容可以根据配置的前缀和后缀进行指定格式的设置。转载 2022-11-28 16:48:52 · 416 阅读 · 0 评论 -
使用EL表达式时,PropertyNotFoundException异常的解决过程
我们在学习的时候,有很多初学者因技术运用不熟练,都会导致一些令人头疼的问题,其实遇到了问题不要怕,我们解决掉就好啦。两眼一抹黑,啥也不知道,反正就知道报错了,一下子就不知所措了。我们在上面复习了EL表达式的基本使用规则之后,尤其是明白了bean对象的使用要求,你现在是否已经知道上面异常的产生原因是什么了吗?另外该学员在排查异常时还做了查询结果输出,控制台显示查询的数据也完全正确,没有一点问题。本案例中的异常,是因粗心大意导致类的属性没有getter方法引起的错误,这不仅仅引发了。原创 2022-11-28 16:46:33 · 1263 阅读 · 0 评论 -
SpringBoot很熟?那手撕一下自定义启动器吧
而在SpringBoot中,我们只需要引入对应的mybatis启动器、druid启动器和数据库驱动,配置文件就可以自动根据配置数据库地址、用户和密码等信息快速地完成框架的搭建。也就是说,我们只要引入启动器,再配置一些必要的初始化连接参数,就可以直接使用,而不需要再自己创建很多复杂的配置,就可完成Bean类之间的依赖。这样我们就通过自定义启动器,很好地理解了SpringBoot的运行原理,特别是SpringBoot的自动装配原理。在进行代码实现之前,我们先来看看什么是SpringBoot的自动装配。原创 2022-11-28 16:43:16 · 450 阅读 · 0 评论 -
十年开发老手,深度解析企业用人标准为何越来越高?!
全栈正在变成行业趋势。建议是大数据,大数据的技术生态编程语言基本都可以用java,你可以在短时间快速入门,当然学完后也要生产实践,只有实践才能驾驭技术,就这样循序渐进,最终是可以实现全栈,当技术栈全面后,你还要在一些领域有造诣,也就是深挖,这就是技术的深度,比如深入源码学习spring,比如参与社区项目的代码贡献等等。而现在,随着参与互联网的人群越来越多,用户群体越来越庞大,我们不单单要业务实现,还要保证业务抗压,那么随之而来的是技术必须要升级,我们必须发挥分而治之的思想,采用分布式架构和性能优化。原创 2022-11-22 16:01:20 · 794 阅读 · 0 评论