1.最早的酷爱酷计算机病毒是什么样的?
2.Spring Boot + EasyExcel导入导出,简直太好用了!源码源码
3.《跟二师兄学Nacos》02篇 Nacos的酷爱酷临时与持久化实例,傻傻分不清?
4.ç¼ç¨åå¦çå¦ä½å¼å§å代ç
最早的源码源码计算机病毒是什么样的?
全球第一个电脑病毒在年月2日由麻省理工学院的学生Robert Tappan Morris撰写,病毒被取名为Morris。酷爱酷总共仅行程序代码,源码源码息烽鑫源码头施放到当时网络上数小时,酷爱酷就有数以千计的源码源码UNIX服务器受到感染。
但此软件原始用意并非用来瘫痪电脑,酷爱酷而是源码源码希望写作出可以自我复制的软件,但程式的酷爱酷循环没有处理好,使得服务器不断执行、源码源码复制Morris,酷爱酷最后死机。源码源码
计算机病毒是酷爱酷编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。
扩展资料
计算机病毒是人为制造的,有破坏性,又有传染性和潜伏性的,对计算机信息或系统起破坏作用的程序。它不是独立存在的,
而是jdk源码量隐蔽在其他可执行的程序之中。计算机中病毒后,轻则影响机器运行速度,重则死机系统破坏。
计算机病毒具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。计算机病毒的生命周期:开发期→传染期→潜伏期→发作期→发现期→消化期→消亡期。
计算机病毒按存在的媒体分类可分为引导型病毒、文件型病毒和混合型病毒3种;按链结方式分类可分为源码型病毒、嵌入型病毒和操作系统型病毒等3种;按计算机病毒攻击的系统分类分为攻击DOS系统病毒,攻击Windows、系统病毒,攻击UNIX系统的病毒。
如今的计算机病毒正在不断的推陈出新,其中包括一些独特的新型病毒暂时无法按照常规的的类型进行分类,如互联网病毒(通过网络进行传播,一些携带病毒的数据越来越多)、电子邮件病毒等。
百度百科- 收藏 计算机病毒
Spring Boot + EasyExcel导入导出,活下去源码简直太好用了!
老项目主要采用的POI框架来进行Excel数据的导入和导出,但经常会出现OOM的情况,导致整个服务不可用。后续逐步转移到EasyExcel,简直不能太好用了。
EasyExcel是阿里巴巴开源插件之一,主要解决了poi框架使用复杂,sax解析模式不容易操作,数据量大起来容易OOM,解决了POI并发造成的报错。主要解决方式:通过解压文件的方式加载,一行一行地加载,并且抛弃样式字体等不重要的数据,降低内存的占用。
在之前专门写过一篇文章《EasyExcel太方便易用了,强烈推荐!》,介绍EasyExcel功能的基本使用。今天这篇文章,我们基于SpringBoot来实现一下EasyExcel的集成,更加方便大家在实践中的帝王online源码直接使用。
创建一个基础的SpringBoot项目,比如这里采用SpringBoot 2.7.2版本。
EasyExcel在SpringBoot的集成非常方便,只需引入对应的pom依赖即可。在上述dependencies中添加EasyExcel的依赖:
EasyExcel目前稳定最新版本2.2.。如果想查看开源项目或最新版本,可在GitHub上获得:github.com/alibaba/easy...
为了方便和简化代码编写,这里同时引入了Lombok的依赖,后续代码中也会使用对应的注解。
下面正式开始业务相关代码的编写。如果你想直接获得完整源码,对照源码阅读本篇文章,可在公号「程序新视界」内回“”获得完整源码。
这里创建一个Member,会员的实体类,并在实体类中填写基础的个人信息。
为了尽量多的演示EasyExcel的相关功能,在上述实体类中使用了其常见的一些注解:
GenderConverter转换器的代码实现如下:
不同版本中,convertToJavaData和convertToExcelData的方法参数有所不同,对应的值的获取方式也不同,大家在使用时注意对照自己的版本即可。
为方便验证功能,天天满仓源码DAO层的逻辑便不再实现,直接通过Service层来封装数据,先来看导出功能的业务类实现。
定义MemberService接口:
定义MemberServiceImpl实现类:
其中数据采用模拟的静态数据,返回Member列表。
在Controller层的实现一个简单的导出实现:
这个实现方式非常简单直接,使用EasyExcel的write方法将查询到的数据进行处理,以流的形式写出即可。
在浏览器访问对应的链接,可下载到如下Excel内容:
如果我们需要将导出的Excel进行一些格式化的处理,这就需要用到导出策略的实现了。
在EasyExcel执行write方法之后,获得ExcelWriterBuilder类,通过该类的registerWriteHandler方法可以设置一些处理策略。
这里先实现一个通用的格式策略工具类CommonCellStyleStrategy:
该类中示例设置了Excel的基础格式。
再来实现一个精细化控制单元格内容CellWriteHandler的实现类:
在这里,对单元格表头的第0个Cell设置了一个超链接。
通过上面的定义两个策略实现,在导出Excel可以使用上述两个策略实现:
通过浏览器,访问上述接口,导出的Excel格式如下:
可以看出,导出的Excel已经附带了具体的格式。其中表头“用户名”上也携带了对应的超链接。其他更精细化的控制,大家可以在策略类中做进一步的控制。
所谓的同步获取结果导入,就是执行导入操作时,将导入内容解析封装成一个结果列表返回给业务,业务代码再对列表中的数据进行集中的处理。
先来看同步导入的实现方式。
注意,在上述代码中,最终调用的是doReadSync()方法。
这里直接用PostMan进行相应的文件上传请求:
执行导入请求,会发现控制台打印出对应的解析对象:
说明上传成功,并且解析成功。
上面示例中是基于同步获取结果列表的形式进行导入,还有一种实现方式是基于监听器的形式来实现。这种形式可以达到边解析边处理业务逻辑的效果。
定义Listener:
在MemberExcelListener中可以针对每条数据进行对应的业务逻辑处理。
对外接口实现如下:
这里采用了doRead()方法进行读取操作。在PostMan中再次上传Excel,打印日志如下:
说明解析成功,并且在解析的过程中,进行了业务逻辑的处理。
本篇文章基于SpringBoot集成EasyExcel的实现展开,为大家讲解了EasyExcel在实践中的具体运用。大家可根据需要,进行变通处理。同时,基于自定义转换器、自定义策略、自定义监听器等形式达到灵活适用于各种场景。希望本篇文章能给大家带来帮助。
博主简介:《SpringBoot技术内幕》技术图书作者,酷爱钻研技术,写技术干货文章。 公众号:「程序新视界」,博主的公众号,欢迎关注~ 技术交流:请联系博主微信号:zhuan2quan
《跟二师兄学Nacos》篇 Nacos的临时与持久化实例,傻傻分不清?
学习Nacos,轻松阅读源码,二师兄带你深入理解临时实例与持久化实例的区别与运用场景。
Nacos核心逻辑篇,让我们一起探索「临时实例」与「持久化实例」的区别及实际应用。
在Nacos Client进行实例注册时,通过Instance对象携带实例信息。Instance中有个字段ephemeral,用来表示实例是临时还是持久化。
源码中,ephemeral字段在1.0.0版本新增,用于区分临时实例与持久化实例。
无论是Nacos 1.x版本还是2.x版本,ephemeral默认值都是true,即实例默认为临时实例。Nacos服务注册默认采用http协议或grpc协议,但不影响ephemeral字段的默认值。
通过配置application,可以改变ephemeral默认值,false表示持久化实例,true表示临时实例。
临时实例与持久化实例有关键区别:临时实例向Nacos注册,Nacos不进行持久化存储,通过心跳保活。默认模式下,客户端心跳上报实例健康状态,Nacos在秒内未收到心跳,则标记实例不健康,超过秒将实例删除。而持久化实例向Nacos注册,实例健康状态设置为不健康,但实例不被删除。
实例的ephemeral字段可判断健康检查模式:true对应客户端模式(心跳),false对应服务端模式(健康检查)。
两种模式设计为应对不同场景:临时实例适合流量突增,服务弹性扩容,流量减少自动注销。持久化实例便于运维实时监控健康状态,方便警告、扩容等操作。
持久化实例另一个应用场景是保护阈值:设置阈值判断健康实例数,防止服务崩溃导致雪崩效应。当健康实例数/总实例数低于阈值,Nacos提供所有实例信息,包括不健康的,避免雪崩。
在Nacos中,临时实例与持久化实例各有用武之地,灵活运用能够提升系统稳定性与响应能力。
阅读源码深入理解Nacos机制,无论是基于http的实现还是gRPC,都有其独特之处。若对内容有疑问或想深入讨论技术,欢迎联系博主微信:zhuan2quan,备注Nacos。如觉得文章有价值,欢迎关注博主公众号「程序新视界」,共同学习成长。
博主为《SpringBoot技术内幕》技术图书作者,酷爱技术研究,撰写技术干货文章。关注公众号,技术交流,让我们一起探索更多技术奥秘。
ç¼ç¨åå¦çå¦ä½å¼å§å代ç
åå¦è æä¹å代ç å¯ä»¥ä»æ代ç å¼å§
åªè¦å¨æ代ç çæ¶åï¼å¸¦çèåï¼å°±å¯ä»¥ä»æçè¿
ç¨ä¸ç解并ææ¡ä»£ç çå·¥ä½åçååºæ¬æ¦å¿µï¼æ代
ç å¯ä»¥è®©æ们äºè§£ä¸äºå¸¸è§çç¼ç¨æ¨¡å¼åæå·§ï¼å¸®
å©æ们æ´å¥½çç解ç¼ç¨è¯è¨åæ¡æ¶çç¨æ³ï¼å 深对ç¼ç¨æ¦å¿µçç解
æ代ç 注æä¸ç¹
ç解: ä¸ç®¡æ¯è·çæç¨ï¼è¿æ¯å¼æºé¡¹ç®æ代ç é½
è¦ä»¥ç解为主ãä¸ç¶å°±è·å¦çæ¶ä»£æä½ä¸ä¸æ ·
æå天èè¯å¾æ¶åä¸éé¢é½ä¸ç¥éæä¹åã
éªè¯: è·çæ²åºæ¥ä»£ç ï¼éªè¯å«äººè¯´ç对orä¸å¯¹ï¼
å¾å¤æ¶åç §çæä¹ä¼åºéãæåè¾åºç»æåé¢æä¸
ä¸æ ·çæ¶åï¼æ们æ¯å¦å¯ä»¥è§£å³? ä¸ä¸æè§è¿å¾
å¤ææºç çéå°é®é¢å°±é®ææä¹åï¼ææ³è¯´ä½ ä¸èªå·±è°è¯ï¼æ°¸è¿ä¸ä¼
demo: æè æ¯è¯´è¾åºï¼æå«äººçåæèªå·±ç
è¿æ¯ä¸ç§æ¬äºãè¿æ ·å¯è¡ï¼æ¢ä¸ç§æ¹å¼å¢?
Openrestyçä½è å访æ¶å说ç:
åè¿å¤´çï¼æ书æ¯æèªå¦ç¼ç¨çæ³å®ãè¯è¯´æ书è¿
ç§å¦ä¹ æ¹æ³æ¯ææå¤é´åç°çãåä¸æ¶ï¼æé ·ç±åå¦ï¼
æ»æ¯ç¼ çå½æ¶çåä¸åå¦èå¸æåç§å¥æªçé®é¢ï¼
èå¸æä¸è¿ï¼åç»æä¸æ¬ä»å½å¹´å¤§å¦æ¶ç¨ç课æ¬
ãåæåå¦ããæå¦è·è³å®ï¼ç±ä¸éæï¼ä½åç书æ»è¦è¿ï¼
ä½åä¸è½ç«é©¬æ¶åï¼äºæ¯æ便æ书ï¼æäºæ´ä¸ªæåï¼
ç»ææå¤å°åç°äºæ书ç奥å¦ä¸ä¸é£å°±æ¯å»¶ç¼é 读é度ï¼
ä¸è³éæ¼æ¯ä¸ä¸ªéè¦çç»èç¼å°ï¼æå°ï¼å¿å°ã å ¶å®
ä¸ä» 书æå¾ï¼ä»£ç ä¹æå¾ãè®°å¾æåè¿å ¥æ·å®æ¶ï¼æ³å¦
ä¹ Nginx æºç ãäºæ¯ç½å¤©ä¸ç就对ç Kindle æ C æºï¼
åæ¶å°±å·²æè®°äºå¿; æä¸å家å¨æ¿åéæ¥å踱æ¥ï¼å¨è
æµ·ä¸åå¤åæ¾ç½å¤©æè¿çæºç ï¼ç´è³èä¼è´¯éï¼æ·±å¾å ¶å¥¥ç§
å项ç®æ¥æ¼è¡¥ç¼º
mall (çµå项ç®)ç®ä»: mallæ¯ä¸ä¸ªåºäºSpringBoot+
MyBatisççµåç³»ç»ï¼å æ¬åå°ç®¡çç³»ç»ååå°åå
ç³»ç»é¡¹ç®æ¶µçäºçµå项ç®ç大é¨ååè½æ¨¡åï¼å¦åå
管çã订å管çãä¼å管ççãHospital-Reservation
-System (å»çé¢çº¦ç³»ç»)ç®ä»: è¿æ¯ä¸ä¸ªåºäºSSM
(SpringãSpringMVCãMyBatis) æ¡æ¶çå»é¢æå·é¢çº¦ç³»ç»
ãå æ¬æ£è é¢çº¦ãå»çæçãå»é¢ç®¡ççåè½ãjeecg-boot
(ä½ä»£ç å¹³å°)ç®ä»: jeecgbootæ¯ä¸ä¸ªåºäºSpring Bootçä½
代ç å¼åå¹³å°ï¼æä¾äºä»£ç çæå¨ãæ¥è¡¨å·¥å ·åå·¥ä½
æµçåè½ï¼å¯ä»¥å¸®å©æ¨å¿«éæ建ä¼ä¸çº§åºç¨ç³»ç»
å¦ä½å¦é¡¹ç®é¦æºç
1ãå¨åå¤çä¸ä¸ªå¼æºé¡¹ç®æºç çæ¶åï¼éè¦å äºè§£é¡¹ç®ç
èæ¯ãåè½ä»¥åç¸åºçAPIãè¿æ¥å°±æ¯ä¸ºäºç解æ´ä¸ªé¡¹ç®ç
åè½ååå¤çï¼ä¹æ¯ä¸ºäºåé¢éç¹çåªäºæ¨¡åååå¤çã
2ãæ¥ç项ç®çREAME.mdæ件ãæäºé¡¹ç®æ设计ææ¡£åæ¶
æå¾æ¾å°mdæ件ä¸é¢ï¼è¿æ ·å¯ä»¥è®©æ们对项ç®æä¸å®çå®
è§è®¤è¯ãæ¯å¦: immeräºãæ¥ç项ç®çæ´ä½æ件ç»æã
æ¯å¦ä¸é¢æå°ä¸äºéç¹éè¦æ¥ççæ件:
package.jsonï¼å¯ä»¥ä»è¿ä¸ªæ件çå°æ´ä¸ªé¡¹ç®çå ¥å£æ件ã
å¼å/æµè¯/åå¸ç¼è¯çåç§å½ä»¤ï¼ä¹å¯ä»¥äºè§£å°é¡¹ç®ç
ä¾èµåºãå·¥å ·ä»¥åæ¡æ¶ççãwebpack/gulp/rollupé ç½®
æ件ï¼ä»è¿ä¸ªæ件éé¢å¯ä»¥çå°é¡¹ç®æ´ä½çå·¥å ·é ç½®ï¼
ä¹å å«å ¥å£æ件以åç¼è¯ä¹åç代ç æ件ï¼ä»¥åä¸äºé 置项çåè½