标签: Java

深入理解并发和并行

深入理解并发和并行

并发是逻辑上的同时发生,而并行是物理上的同时发生。并发可以跑在一个处理器上通过时间片进行切换,而并行需要两个或两个以上的线程跑在不同的处理器上。如果同一个任务的多个线程始终运行在不变的CPU核心上,那就不是并行。

代码可读性之道

代码可读性之道

代码也是团队的沟通方式之一。试想,其他同事接手你负责的功能,如果代码结构清晰、注释合理,他就不会频繁打断你的工作、询问代码中的疑点。编写代码的时候,首先要考虑到别人的阅读感受,而不是你自己。在实际的开发工作中,最花费时间的事情是理解当前代码以及上下游代码逻辑。如果需要变更代码,代码可读性越差,花的时间越长,这个模块的可维护性就越低。

爱盈球项目详细设计

爱盈球项目详细设计

爱盈球是一个体育赛事推荐平台,汇聚知名足球和篮球赛事专家,为用户提供优质赛事解读和赛果预测。专家结合球队资讯和全球市场的赔率,发布包含赛果预测和最佳购彩方式的赛事解读,用户付费订阅解读,平台和专家各自获得相应的分成。爱盈球项目主要由用户订单系统、专家解读系统、平台运营管理系统组成,辅助系统有赛事管理系统、用户社交系统等等。

技术管理面试题

技术管理面试题

整理一些技术管理面试题,内容涵职业规划、团队管理、项目管理等等。本章节面试题有:你为什么选择软件开发行业;你最喜欢的编程语言是什么;你为什么想要做管理者;以前的雇主或者同事如何评价你;你理想的工作环境是怎样的;哪些技能可以帮你成为有效的管理者;如何帮助团队成员制定目标;如果团队成员之间存在分歧,你会怎么做;如何激励团队按时完成任务;谈谈你的项目管理经验。

老者Java,奋战一线

老者Java,奋战一线

Java已经诞生20多年了,依然是企业级开发中使用最广泛的语言,也是挨骂最多的语言。Java广受批评的四个缺点是:性能差、内存消耗大、GUI弱、代码啰嗦,我们应该如何看待这几个问题呢?在微服务的背景下,提倡围绕业务能力而非技术来构建应用,允许由不同的语言构建应用程序。一个超大的集群,往往有上万个微服务的容器在运行。为了更有效率的管理容器,必须对微服务提几点要求:镜像体积小、内存消耗小、启动速度快,这些却都是Java的弱项。

Java面试题(16)- 故障排查

Java面试题(16)- 故障排查

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:怎么解决Java包依赖冲突;如何排查JVM中出现的OOM原因;怎么查看Java线程的资源占用;如何分析thread dump文件;如何排查服务器的CUP使用率过高的原因;如何排查服务器Load高而CPU使用率低的情况;如何排查后台服务变慢的原因。

如何优雅关闭线程池

如何优雅关闭线程池

许多业务场景中都会到线程池,比如微服务接收外部调用、异步发送邮件、离线统计报表等等。线程池有三个优点:降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗;提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行;提高线程的可管理性,对线程进行统一的分配,调优和监控。老话说,请神容易送神难,使用了线程池就要承受它带来的问题。线程池的运行机制比较复杂,使用线程池的参数并不好配置。线程池执行的情况与任务类型相关,IO密集型和CPU密集型的任务运行起来的情况差异很大,配置合理依赖开发人员的经验和知识。如果配置不当,反而降低系统效率。另外,还一个问题,如何优雅关闭线程池,避免任务或者数据丢失呢?

Java面试题(15)- Spring Cloud Alibaba

Java面试题(15)- Spring Cloud Alibaba

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:Spring Cloud Alibaba主要包含哪些组件;Nacos的核心功能有哪些;说说Nacos的工作流程;说说Sentinel的使用场景;说说限流算法有哪几种;Sentinel如何限制资源的调用;为什么会产生分布式事务;Seata如何避免并发场景的脏读与脏写;Seata主推的事务模式是什么,有什么优势。

Java面试题(14)- Spring Cloud

Java面试题(14)- Spring Cloud

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:你怎么描述Spring Cloud 框架;说说微服务架构的优缺点;Spring Cloud有哪些重要组件;Eureka的作用是什么;什么是Eureka的自我保护模式;你还了解其他网关吗,有什么区别;服务雪崩的原因有哪些。

Java面试题(13)- Spring Boot

Java面试题(13)- Spring Boot

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:Spring Boot有哪些优点;Spring Boot的核心配置文件有哪些,区别是什么呢;Spring Boot的配置文件有哪几种格式,有什么区别;SpringBoot的核心注解是哪个;Spring Boot 3.0 的新特性了解吗;SpringBoot打成的jar和普通jar有什么区别;SpringBoot中如何实现定时任务;什么是Spring Boot Starter。