构建自定义的同步工具 类库 中包含了许多存在状态依赖性的类,例如 FutureTask , Semaphore 和 B Lock ingQueue等。在这些类中的一些操作中有着基于状态的前提条件,例如,不能从一个空的队列中删除元素,或者获取一个尚未结束的任务的计算结果,在这些操作可以执行之前,必须等到队列进入 “非空 ”状态,或者任务进入 “ ......
239
0
0
2023-08-28
本文重点是从源码层面理解jdk8中 线程池 的实现。核心机制再分析源码之前,我们还是先回顾和熟悉下 线程 的核心工作机制。线程池工作原理线程池采用的是一种生产者-消费者的模型,如下图: 主线程调用execute、或者submit等方法提交任务给线程池。如果线程池中正在运行的工作线程数量小于corePoolSize(核心线程数量),那么马上创建线程运行这个任务 ......
283
0
0
2023-08-28
JVM 作为一个通用的 虚拟机 ,我们可以通过启动 java 命令时指定不同的 JVM 参数,让 JVM 调整自己的运行状态和行为,内存管理和垃圾回收的 GC 算法,添加和处理调试和诊断信息等等。本节概括地讲讲 JVM 参数,对于 GC 相关的详细参数将在后续的 GC 章节说明和分析。直接通过命令行启动 Java 程序的格式为: java [option ......
354
0
0
2023-08-28
之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员。 图片来自 Pexels确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者不懂 GC,也依然能写出一个能用甚至还不错的程序或系统。 但其实这并不代表 Java 的 GC 就不重要。相反,它是那么的重要和复杂,以 ......
250
0
0
2023-08-28
JVM 基础 程序计数器(Program Counter Register)CPU中的寄存器 作用: 记住下一条JVM指令 特点: 线程 私有唯一一个不会出现内存溢出的区域虚拟机 栈(Java virtual mechine Stack)线程私有 每个线程运行时所需要的内存每个栈由多个栈帧Frame组成,对应着每次方法调用时占的内存每个线程只能有 ......
256
0
0
2023-08-28
今天来介绍一个不太常见也不太常用的类——ArrayDeque,这是一个很不错的容器类,如果对它还不了解的话,那么就好好看看这篇文章吧。看完本篇,你将会了解到:1、ArrayDeque是什么?2、ArrayDeque如何使用?3、ArrayDeque的内部结构是怎样的?4、ArrayDeque的各个方法是如何实现的?5、ArrayDeque是如何扩容的?6、A ......
370
0
0
2023-08-28
一、回顾常用的命令 在上篇文章中整理了 HDFS 常用的命令,这里进行简单的回顾。 ls 命令用来查看 HDFS 系统中的目录和文件 ,命令如下: $ hadoop fs -ls / put 命令用来将本地文件上传到 hdfs 系统中 ,命令如下: $ hadoop fs -put test.txt / moveFro ......
293
0
0
2023-08-27
1 性能测试通过并发实现多负载访问软件系统,监控与分析相关性能指标数据,找出性能瓶颈并进行优化,达到预期效果;而不仅仅是工具的使用。性能测试的目标:(用户数)多、(响应时间)快、(稳定性)好、(资源)省。从1到N,即先调试好再测试性能。1.1 性能测试流程 1、测什么?熟悉项目、熟悉场景、性能指标2、怎么测?场景计划、工具选择、安排计划3、调试脚本脚本开发、 ......
400
0
0
2023-08-27
由于我喜欢研究面试题,因此我已经收集了许多的面试问题,包括许多许多不同的主题。我已经为这众多的问题准备一段时间了,现在我将它们分享给你们。这里面不但包含经典的面试问题,如线程、集合、equals 和 hashcode 、socket,而且还包含了 NIO、数组、字符串、Java 8 等主题。该列表包含了入门级 Java 程序员和多年经验的高级开发者的问题。 ......
258
0
0
2023-08-27
一、如果看传统企业开发 Struts、Spring和Hibernate ,简称SSH。 在10多年前,SSH绝对是业内最流行的企业级开发框架。 SSH框架是以Struts框架进行MVC分离、控制业务跳转,同时使用Hibernate进行持久化,最后配合Spring的统一管理进行实现的开发框架。相对于传统的J2EE开发框架来讲性能相对较高、资源消耗相对较少。具 ......
242
0
0
2023-08-26
前言 清代 杰出思想家 章学诚 有一句名言:“ 学必求其心得,业必贵其专精。 ” 意思是: 学习上一定要追求心得体会,事业上一定要贵以专注精深。 做技术就是这样,一件事如果做到了极致,就必然会有所心得体会。作者最近在一个项目上,追求单元测试覆盖率到极致,所以才有了这篇心得体会。 上一篇文章《Java单元测试技巧之Pow ......
335
0
0
2023-08-26
序列化 简介 在项目中有很多情况需要对实例对象进行序列化与反序列化,这样可以持久地保存对象的状态,甚至在各个组件之间进行对象传递和远程调用。序列化机制是项目中必不可少的常用机制。 要想一个类拥有序列化、反序列化功能,最简单的方法就是实现 java .io. Serializable接口 ,这个接口是一个标记接口(marker Interface),即其内部无 ......
269
0
0
2023-08-26
关于本文是深入理解 java 8 Lambda系列的第一篇,主要介绍Java 8新增的语言特性(比如lambda和方法引用),语言概念(比如目标类型和变量捕获)以及设计思路。 本文是对Brian Goetz的 State of Lambda一文的翻译,那么问题来了: 为什么要写(翻译)这个系列?工作之后,我开始大量使用 Java 公司将会在不久的未来使 ......
250
0
0
2023-08-26
前言 金三银四才过去没多久,眼看着便又要秋招了,所以为大家写了这篇文章,来自一个刚参加完字节面试并高分通过的朋友亲口所述,除了字节的 offer,他还分别通过了 京东 、 百度 以及 腾讯 阿里巴巴这些公司的面试,所以他的经验还是有一定价值的,准备参加秋招的朋友可以收藏一下,权当做个参考,如果真的对你的面试产生了一些帮助,我不胜荣幸。 他参加面试前所用的一些 ......
251
0
0
2023-08-26
目录一、导入之基础校验二、导入值自定义校验之重复值校验三、导入值自定义校验之Collection对象校验四、导入值自定义校验之Excel重复行校验五、案例总结 一、导入之基础校验现在产品需要对导入的Excel进行校验,不合法的Excel不允许入库,需要返回具体的错误信息给前端,提示给用户,错误信息中需要包含行号以及对应的错误。因为 EasyPOI ......
564
0
0
2023-08-26