自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA代码优化/使用手册

【代码】JAVA代码优化/使用手册。

2024-07-27 00:04:20 635 8

原创 百日筑基第七十四天

想当初被门派选拔进来的外门弟子并不在少数,然而短短两个月,有人中途放弃筑基决定另寻出路,有人被门派告知不予参与门派大典的机会,只能出走群求其他门派的帮助,到最后我这一分支只有三人参与门派的筑基大典,令人唏嘘。为了准备筑基,我也是闭关几日,最终也算得上顺利筑基,不过我眼界狭窄,尚不知自己是凡道筑基还是地道筑基,听闻门派每年都有极少弟子能完成天道筑基,他们又是何等得天才呢。筑基成功后会有所属分支的长老评定我是否能晋升内门弟子,我也是还在等消息,希望一切顺利。据说十大门派中都有三派来撑场面,可以去见见市面。

2024-09-06 15:28:15 234

原创 百日筑基第六十三天-使用Groovy+Spock写单测

要使用Groovy+Spock编写单测,首先引入如下Maven依赖,同时安装Groovy插件。</</</</</</</</</</</</</</接下来我们来讲一下Groovy的常见语法,作为一门动态语言,它的写法比Java简单很多,而且基本只要你会写Java,你很容易就可以上手Groovy。

2024-08-26 22:35:25 482

原创 百日筑基第六十三天

很充实又很平常的一天,修炼的日子就是枯燥单调日复日。

2024-08-26 21:43:20 105

原创 百日筑基第六十二天

又是一周过去,明日又是新的开始,下面就开始为筑基大会做准备了,届时当有许多道友一起筑基,争夺宗门筑基灵脉溢出的灵气,此灵气可助练气巅峰的修士冲击筑基,并有洗涤灵根之效,若在冲击筑基时多争夺一点灵气,在日后的修行中定是多有益处,对我等伪灵根修士的好处更不必多说。

2024-08-25 20:37:56 105

原创 百日筑基第六十二天-持续集成和持续交付的 pipeline 概念

在软件开发中,Pipeline 是一种自动化的过程,它包括从开发人员提交代码,到代码构建,测试,部署等一系列的步骤。在持续集成(Continuous Integration)/持续部署(Continuous Deployment)领域,Pipeline 是非常重要的,因为它可以帮助开发团队更快,更有效地构建,测试和部署软件。

2024-08-25 20:30:08 689

原创 百日筑基第六十天-学习一下Tomcat

Tomcat 中最顶层的容器是 Server,代表着整个服务器,从上图中可以看出,一个 Server可以包含至少一个 Service,用于具体提供服务。Service 主要包含两个部分:Connector 和 Container。从上图中可以看出 Tomcat 的心脏就是这两个组件,他们的作用如下:【1】Connector 用于处理连接相关的事情,并提供 Socket 与 Request 和 Response相关的转化;

2024-08-23 23:43:00 1160

原创 百日筑基第六十天

继续准备论道的内容,争取明天完成。

2024-08-23 23:12:31 115

原创 百日筑基第五十九天-本地压测工具了解一下

是一款使用 Java 开发的功能和性能测试软件。工作原理是仿真用户向服务器发送请求,并收集服务器应答信息并计算统计信息。逻辑控制器。

2024-08-22 23:43:05 1055

原创 百日筑基第五十九天

筑基功法练毕,隔壁组学来的辅助功法练毕,接下来把论道内容完善,完成论道,就可以着手为筑基做准备了。

2024-08-22 23:22:28 116

原创 百日筑基第五十八天-雪花算法了解一下

UUIDUUID是通用唯一识别码 (Universally Unique Identifier),在其他语言中也叫GUID,可以生成一个长度 32位的全局唯一识别码。UUID虽然可以保证全局唯一,但是占32位而且无序,入库性能比较差。MySQL使用InnoDB存储引擎,底层索引使用的B+树索引。索引是按照顺序在叶子节点分布的,如果按顺序插入索引,则会使用顺序IO依次写入磁盘,也不会出现页分裂和浪费等问题,性能也比较高。但如果使用无序的UUID。

2024-08-21 23:51:23 703

原创 百日筑基第五十八天

今日淬炼肉身,甚是辛苦。

2024-08-21 23:15:33 116

原创 百日筑基第五十七天-虚拟线程

JDK19于2022-09-20发布GA版本,该版本提供了虚拟线程的预览功能。下载JDK19之后翻看了一下有关虚拟线程的一些源码,跟早些时候的Loom项目构建版本基本并没有很大出入,也跟第三方JDK如鹅厂的Kona虚拟线程实现方式基本一致,这里分析一下虚拟线程设计与源码实现。

2024-08-20 23:40:26 964 2

原创 百日筑基第五十七天

今日发生了一件大事,此间突然生出百万天命人,直面天命,不知其中会有几人得道。今日修炼也算刻苦,因觉时日无多,压力倍增,也就有了动力多修炼一会。

2024-08-20 23:15:08 106

原创 百日筑基第五十六天-分代ZGC

OpenJDK 21 是下一个 LTS 版本,将于 2023 年 9 月 19 日正式发布。其中包括的一个重要更新就是,分代 ZGC。我们都知道,先前的 ZGC 是不分代的,因此 ZGC 需要将所有对象存储在一起,无论对象存活时间或长或短,并且每次 GC 运行时,收集器都需要扫描所有对象。基于「大部分对象朝生夕死」的弱分代假说,ZGC 显然可以更进一步优化当前的实现。

2024-08-19 23:43:17 955

原创 百日筑基第五十六天

越忙越乱,越乱越忙,时间过去大半,心境却不似之前,也不知自己有没有在潜移默化中进步,还是说进步只是自己为的进步。筑基的执念变淡,还能否重拾初心。

2024-08-19 23:26:05 85

原创 百日筑基第五十二天-初识ZGC

垃圾回收器的暂停问题一直是Java工程师关注的重点,特别是对实时响应要求较高的服务来说,CMS和G1等主流垃圾回收器的数十毫秒乃至上百毫秒的暂停时间相当致命。然而,这种超低延迟表现也需要一定的代价,因为在实现低延迟的同时,ZGC 会占用一定的 CPU 资源。与CMS中的ParNew和G1类似,ZGC也采用标记-复制算法,不过ZGC通过着色指针和读屏障技术,解决了转移过程中准确访问对象的问题,在标记、转移和重定位阶段几乎都是并发执行的,这是ZGC实现停顿时间小于10ms目标的最关键原因。

2024-08-15 23:14:58 702

原创 百日筑基第五十二天

身体抱恙的一天,近日宗门上下流行一种极其霸道的流感,我怕是中招了。师傅把我借给隔壁组打杂了,唉,亦是修行。

2024-08-15 22:58:40 115

原创 百日筑基第五十一天-进程、线程、协程、纤程和Virtual Threads之间的区别与关系

线程是进程内的执行单元,一个进程可以包含多个线程,它们共享进程的内存空间和资源。进程是计算机中运行的程序的实例。协程是一种更轻量级的线程,它可以在不同的执行点之间切换,而不是依赖于操作系统的线程调度。纤程是一种用户态的轻量级线程,它由用户程序自己调度,不依赖于操作系统的线程调度。纤程可以在同一个线程内切换执行,减少了线程切换的开销,提高了并发处理的效率。总而言之,线程是一种轻量级的执行单元,它可以并发执行并共享进程的资源。在多线程编程中,线程之间的执行是并发的,可能会出现一些同步问题,例如竞态条件和死锁。

2024-08-14 23:21:48 658 1

原创 百日筑基第五十一天

终于把筑基功法练到最后一卷,不枉我每日辛苦。接下来就是巩固,力求精进。

2024-08-14 22:43:33 402

原创 百日筑基第五十天-TypeReference-FastJson详解

TypeReference是一个描述复杂泛型的工具类。很多类库都有,我们使用alibaba.fastjson来举例。在反序列化场景中获取泛型参数。TypeReference支持泛型参数,方便一些框架实现通用的反序列化类,对复杂的类型可以很方便的反序列化。使用Gson、Jackson或Fastjson反序列化泛型时,需要传递泛型的真实类型,所以一般都通过集成TypeReference来实现。

2024-08-13 23:19:38 520

原创 百日筑基第五十天

时限正式达到了五十天了,然而距离筑基还有些距离,接下来有的忙了。

2024-08-13 23:19:02 412

原创 百日筑基第四十九天-JAVA版本迭代9-21新特性、语法升级、变化-从JAVA8升级JAVA9

简单来说就是没有被。

2024-08-12 23:23:37 698

原创 百日筑基第四十九天

转眼筑基百日即将过半了,总在忙忙碌碌,又感慨光阴虚度,筑基后一定要在床上躺上几天。

2024-08-12 23:22:03 64

原创 百日筑基第四十五天-从JAVA8走到JAVA9

简单来说就是没有被。

2024-08-08 23:04:42 674

原创 百日筑基第四十五天

这几天又忙又累,时间紧任务重,好在充实,期待早日筑基。

2024-08-08 23:03:14 95

原创 百日筑基第四十三天-了解一下Spring AI

Spring真的是追着把饭喂给程序员,通过SpringAI,创建一个AI应用全程都不到5分钟大家有兴趣的可以去试试其他的AI大模型,官网都有很详细的教程。

2024-08-06 23:53:59 512 1

原创 百日筑基第四十三天

相对充实的一天,上午查阅典籍,为外门弟子大比做准备,其中有一项比较重要的考核点便是参与论道大会的次数,这个月便计划着一次。这月底筑基大典正式开始,修炼进度快的外门弟子便可在这月底挑战筑基。同门金丹期前辈为庆祝提升一个小境界,宴请同门,可喜可贺,到了这种级别,每提升一个小境界都困难不已,可叹修炼之路十分艰难。

2024-08-06 22:29:53 120

原创 百日筑基第四十二天-JDK版本梳理

JDK 10 是 Java SE 10 平台的开源参考实现,由 Java Community Process 中的 JSR 383 定义。JDK 10 于 2018 年 3 月 20 日全面上市。Oracle 提供 GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。此版本的功能和时间表是通过 JEP Process 提出和跟踪的,并由 JEP 2.0 提案修订。

2024-08-05 23:50:47 694

原创 百日筑基第四十二天

不如意事常八九啊,修炼艰难,莫谈寻得大道,自己的路都已迷失。可能还需要一天自省,梳理好剩下的筑基时日该如何度过。

2024-08-05 22:54:46 91

原创 百日筑基第三十九天-关于枚举的一切

枚举类型(enum type)是指由一组固定的常量组成合法的类型。Java中由关键字enum来定义一个枚举类型。下面就是java枚举类型的定义。那么什么时候应该使用枚举呢?每当需要一组固定的常量的时候,如一周的天数、一年四季等。或者是在我们编译前就知道其包含的所有值的集合。Java 1.5的枚举能满足绝大部分程序员的要求的,它的简明,易用的特点是很突出的。在所有的单例实现方式中,枚举是一种在代码写法上最简单的方式,之所以代码十分简洁,是因为Java给我们提供了enum。

2024-08-02 23:52:03 881

原创 百日筑基第三十九天

眼看这筑基时间几乎过半,然才练气三层,本以为前三层的境界已经稳固,今日师傅和大师兄检查修炼近况,可以说是漏洞百出,唉,修炼真难,给整不自信了。

2024-08-02 22:53:14 104

原创 百日筑基第三十八天-阿里开发手册异常日志

1.【强制】错误码的制定原则:快速溯源、沟通标准化。2.【强制】错误码不体现版本号和错误等级信息。3.【强制】全部正常,但不得不填充错误码时返回五个零:00000。4.【强制】错误码为字符串类型,共 5 位,分成两个部分:错误产生来源+四位数字编号。5.【强制】编号不与公司业务架构,更不与组织架构挂钩,以先到先得的原则在统一平台上进行,审批生效,编号即被永久固定。6.【强制】错误码使用者避免随意定义新的错误码。7.【强制】错误码不能直接输出给用户作为提示信息使用。

2024-08-01 22:46:59 453

原创 百日筑基第三十八天

筑基功法第四卷毫无进展,但是把前两卷练至炉火纯青了,也算今天的收获。

2024-08-01 22:37:50 330

原创 百日筑基第三十七天-阿里开发手册编程规约

1.【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。// 开发者 A 定义了缓存的 key。// 开发者 B 使用缓存时直接复制少了下划线,即 key 是"Id#taobao" + tradeId,导致出现故障。2.【强制】long 或 Long 赋值时,数值后使用大写 L,不能是小写 l,小写容易跟数字混淆,造成误解。说明:public static final Long NUM = 2l;写的是数字的 21,还是 Long 型的 2?

2024-07-31 22:34:04 1337

原创 百日筑基第三十七天

筑基功法第四卷难度骤增,陷入瓶颈了,于是今日在巩固前三卷。顺带着修炼了中原曾经第一大门派公开的一本辅助筑基的功法,此功法练至融汇贯通可大大增加筑基机率,可惜该门派也在走向没落,实在可惜。

2024-07-31 22:29:12 128

原创 百日筑基第三十六天

今日论道还算顺利,只可惜感到也没学到什么东西。晚些时候师祖问话,主要是来这边之后有什么困难之类,好像也没遇到需要他来帮我解决的困难,于是问了些修炼方法之类。

2024-07-30 23:01:42 361 2

原创 百日筑基第三十六天-阿里JAVA开发手册-1.编程规约

反例:定义为布尔类型 Boolean isDeleted 的字段,它的 getter 方法也是 isDeleted(),部分框架在反向解析时,“误以为”对应的字段名称是 deleted,导致字段获取不到,得到意料之外的结果或抛出异常。1)**【强制】**对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部的实现类用 Impl 的后缀与接口区别。2)**【推荐】**如果是形容能力的接口名称,取对应的形容词为接口名(通常是 –able 结尾的形容词)。

2024-07-30 22:58:09 674

原创 百日筑基第三十五天-Java 21 新特性概览

JDK 21 于 2023 年 9 月 19 日 发布,这是一个非常重要的版本,里程碑式。JDK21 是 LTS(长期支持版),至此为止,目前有 JDK8、JDK11、JDK17 和 JDK21 这四个长期支持版了。

2024-07-29 23:06:27 681

原创 Integer.parseInt(s)与Integer.valueOf(s)的区别详解

Integer.valueOf(s)多次解析相同的一个字符串时,得到的是Integer类型的对象,得到的对象有时是同一个对象,有时是不同的对象,要根据把s字符串解析的整数值的大小进行决定:如果s字符串对应的整数值在 -128。通过上面示例,字符串s对应的整数值为100,在-128~127之间,所以解析出的两个对象i1和i2是相等的。equals是比较的两个对象i1和i2中的value值是否相等,“==”是比较i1和i2两个对象是否相等。不管对象是否相等,对象中的value值是相等的。

2024-07-29 22:33:55 408

java8新特性总结自用

java8新特性自用,为什么都2024年了大厂程序员还在用java8?

2024-07-24

空空如也

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

TA关注的人

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