首页
学习
活动
专区
工具
TVP
发布

JavaEdge

关注公众号:JavaEdge,加入全国最大的后端交流群。
专栏作者
2430
文章
2485517
阅读量
176
订阅数
过度设计有意义吗
看着自己每次根据设计原则及模式的代码重构,虽效果不错,但也自省:如果我的每段代码都这么写,是不是过度设计?把握设计的度,需长久锤炼。行业也总结了很多原则,帮助我们把握设计的度。它们是一种思考方法、一种行为准则。
JavaEdge
2023-01-15
4240
JUnit单元测试报错NoClassDefFoundError: org/junit/platform/launcher/core/LauncherFactory
因为 JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
JavaEdge
2022-11-30
6190
深入解析Java的注解机制
注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方式,使我们可以在稍后的某个时刻更容易的使用这些数据。
JavaEdge
2022-11-30
4160
机器学习入门(二) — 回归模型 (理论)
讲述了回归模型的基本原理和算法,并结合回归介绍了交叉验证的方法 📷 1 预测房价 1.1 通过相似的房子预测你的房子 📷 📷 2 线性回归 2.1 应用线性回归模型 📷 📷 📷 那么哪条线才是最好
JavaEdge
2022-11-30
2020
Java设计模式教程-策略模式(Strategy Pattern)
一个对象,其行为有些固定不变,有些又容易变化。对于这些容易变化的行为,我们不希望将其实现绑定在对象中,而希望能够动态地针对不同场景产生不同应对的策略。 这时就要用到策略模式,就是为了应对对象中复杂多变的行为而产生的:
JavaEdge
2022-11-30
4840
关注专栏作者,随时接收最新技术干货
JavaEdge
华为软件开发工程师
祖传shi山代码重构实战(01)-Extract Class提炼类
一个类应该是一个清楚的抽象,处理一些明确的责任。但实际工作中,类会不断扩展。你会在这儿加入一些功能,在那儿加入一些数据。给某个类添加一项新责任时,你会觉得不值得为这项责任分离出一个单独的类。于是,随着责任不断增加,这个类会变得过分复杂。很快,你的类变成一团乱麻。这样的类往往含有大量函数和数据,太大而不易理解。
JavaEdge
2022-04-02
4430
阿里P8架构师都是怎么分析软件模型的?
要先知道项目提供了哪些模型,模型又提供了怎样的能力。若只知道这些,你只是在了解别人设计的结果,这不足以支撑你后期对模型的维护。
JavaEdge
2021-12-07
2930
你真的思考过自己写的代码为啥这么垃圾吗?
大部分程序员对一致性的理解都表现在较宏观方面,比如,数据库访问是叫 DAO还是 Mapper、Repository? 在一个团队内,这应该有统一标准,但编码层面,要求往往就没那么细致。所以,我们经常看到代码出现各种不一致写法。
JavaEdge
2021-12-07
3950
【全网最全】Junit注解详解!
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
JavaEdge
2021-12-07
3650
【全网最全】Junit注解详解!
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
JavaEdge
2021-10-18
2950
大厂的线上生产问题排查指南
可以随意使用任何熟悉的工具排查。只要问题能重现,排查就不会太难,最多就是把程序调试到各种框架源码,所以这也是为何面试都会问源码,不求都看过,但要有思路知道如何去看能解决问题。
JavaEdge
2021-02-23
3K0
Tomcat 的线程池实现原理
ThreadPoolExecutor回收不了,可以看看其源码,工作线程Worker是内部类,只要它活着,换句话说线程在跑,就会阻止ThreadPoolExecutor回收,所以其实ThreadPoolExecutor是无法回收的,并不能认为ThreadPoolExecutor没有引用就能回收
JavaEdge
2021-02-23
7440
SpringBoot项目单元测试报错NoClassDefFoundError: org/junit/platform/launcher/core/LauncherFactory
因为 JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
JavaEdge
2021-02-23
1.4K0
敏捷/持续集成/持续交付/DevOps基本理论全面解析
而单体应用拆分成微服务,就需要有一套方案来组装这些微服务,使其成为可协作运行的微服务架构。该方案就是持续集成。
JavaEdge
2021-02-23
5440
Disruptor详解
LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。 Disruptor它是一个开源的并发框架,并获得2011 Duke’s 程序框架创新奖,能够在无锁的情况下实现网络的Queue并发操作。 Disruptor是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。 在Disruptor中,我们想实现hello world 需要如下几步骤: 第一:建立一个Event类 第二:建立一个工厂Event类,用于创建Event类实例对象 第三:需要有一个监听事件类,用于处理数据(Event类) 第四:我们需要进行测试代码编写。实例化Disruptor实例,配置一系列参数。然后我们对Disruptor实例绑定监听事件类,接受并处理数据。 第五:在Disruptor中,真正存储数据的核心叫做RingBuffer,我们通过Disruptor实例拿到它,然后把数据生产出来,把数据加入到RingBuffer的实例对象中即可。 Event类:数据封装类
JavaEdge
2021-02-22
1.5K0
Python 的 unhashable type 错误分析及解决
日常测试中,经常会使用py的 set 和 dict,set 是用 dict 实现,因为本身 dict 的 key 就是会被去重,value 设置为 None 即可作为 set 使用。
JavaEdge
2021-02-22
7.6K0
Jmeter压测基本操作及按钮全面详解
Jmeter 是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试).
JavaEdge
2021-02-22
3780
Go实战之常用命令行工具
启动错误报告 运行go bug命令,Bug打开默认浏览器并启动新的Bug报告,报告包括有用的系统信息
JavaEdge
2021-02-22
8600
Nginx下载安装及基本命令
高稳定 高性能 资源占用少 功能丰富 模块化结构 支持热部署 #安装(Windows10环境)
JavaEdge
2021-02-22
5620
Java的注解你真的会了吗?
注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方式,使我们可以在稍后的某个时刻更容易的使用这些数据。
JavaEdge
2021-02-22
4090
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档