- 一、实现抽象方法描述已知抽象类Base中定义了calculate方法,该方法的计算过程依赖于sum()和avg(),而后两个方法均为抽象方法。要求定义Base的子类Sub类,并实现父类的抽象方法,使得main函数中的运算逻辑得以正确执行。输入描述:两个整数输出描述:两个整数的和除以两个整数的平均值(平均值为int类型,不考虑小数问题)示例1输入:1 2输出:3 编辑题解:import ... 一、实现抽象方法描述已知抽象类Base中定义了calculate方法,该方法的计算过程依赖于sum()和avg(),而后两个方法均为抽象方法。要求定义Base的子类Sub类,并实现父类的抽象方法,使得main函数中的运算逻辑得以正确执行。输入描述:两个整数输出描述:两个整数的和除以两个整数的平均值(平均值为int类型,不考虑小数问题)示例1输入:1 2输出:3 编辑题解:import ...
- 一、十进制数转二进制描述控制台随机输入一个十进制数,请你将它转换为二进制数并输出输入描述:控制台随机输入的十进制正整数输出描述:该十进制数转换的二进制数字示例1输入:9输出:1001题解:import java.util.*;public class Main { public static void main(String[] args) { Scanner sca... 一、十进制数转二进制描述控制台随机输入一个十进制数,请你将它转换为二进制数并输出输入描述:控制台随机输入的十进制正整数输出描述:该十进制数转换的二进制数字示例1输入:9输出:1001题解:import java.util.*;public class Main { public static void main(String[] args) { Scanner sca...
- 一、字符串去重描述从键盘获取一串字符串,要求去除重复的字符。请使用HashSet解决这一问题输入描述:键盘输入的任意字符串输出描述:去重后的字符串(不要求顺序,预设代码中已经给出输出)示例1输入:helloworld输出:rdewhlo题解:import java.util.HashSet;import java.util.Scanner;public class Main { p... 一、字符串去重描述从键盘获取一串字符串,要求去除重复的字符。请使用HashSet解决这一问题输入描述:键盘输入的任意字符串输出描述:去重后的字符串(不要求顺序,预设代码中已经给出输出)示例1输入:helloworld输出:rdewhlo题解:import java.util.HashSet;import java.util.Scanner;public class Main { p...
- THreadLocalMap中的Entry的key使用的是ThreadLocal对象的弱引用,在没有其他地方对ThreadLoca依赖,ThreadLocalMap中的ThreadLocal对象就会被回收掉,但是对应的不会被回收,具体内容请和小编一起看下面文章详情一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证... THreadLocalMap中的Entry的key使用的是ThreadLocal对象的弱引用,在没有其他地方对ThreadLoca依赖,ThreadLocalMap中的ThreadLocal对象就会被回收掉,但是对应的不会被回收,具体内容请和小编一起看下面文章详情一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证...
- Spring解决循环依赖 Spring解决循环依赖
- 情景回顾总体来说,迅雷笔试内容体量不算多,主要分为30道选择题,2道编程题,半小时将选择题做完,1个半小时两道编程题一道29%,一道超时。关键是第二道编程题直接输出错误语句居然通过17%!也是醉了,绝对的判题系统BUG。知识点回忆希尔排序 给定一数组元素{50,40,95,20,15,70,60,45},经过一趟希尔排序(参考博文《剑指Offer–排序算法小结》)后,数组元素变为[15 4... 情景回顾总体来说,迅雷笔试内容体量不算多,主要分为30道选择题,2道编程题,半小时将选择题做完,1个半小时两道编程题一道29%,一道超时。关键是第二道编程题直接输出错误语句居然通过17%!也是醉了,绝对的判题系统BUG。知识点回忆希尔排序 给定一数组元素{50,40,95,20,15,70,60,45},经过一趟希尔排序(参考博文《剑指Offer–排序算法小结》)后,数组元素变为[15 4...
- Java并发编程 Future和CompletableFuture1 Future1.1 Callable 与 Runnable1.1.1 Runnable1.1.2 Callable1.1.3 Callable 与 Runnable 的差异1.2 Future + Callable1.2.1 Future1.2.2 FutureTask1.2.3 Future + Callable 并发1... Java并发编程 Future和CompletableFuture1 Future1.1 Callable 与 Runnable1.1.1 Runnable1.1.2 Callable1.1.3 Callable 与 Runnable 的差异1.2 Future + Callable1.2.1 Future1.2.2 FutureTask1.2.3 Future + Callable 并发1...
- 文章目录前言一、初识多线程1.1 并行、并发、串行1.2 并发编程的优缺点1.2.1 并发编程的优点1.2.2 并发编程的缺点1.3 上下文切换1.3.1 上下分切换的分类1.3.2 减少上下文切换的方式1.3.3 上下文切换的优化示例1.4 并发编程三要素1.4.1 原子性1.4.2 可见性1.4.3 有序性1.5 同步与异步1.6 进程与线程1.7 线程调度1.8 编写多线程程序的时候你... 文章目录前言一、初识多线程1.1 并行、并发、串行1.2 并发编程的优缺点1.2.1 并发编程的优点1.2.2 并发编程的缺点1.3 上下文切换1.3.1 上下分切换的分类1.3.2 减少上下文切换的方式1.3.3 上下文切换的优化示例1.4 并发编程三要素1.4.1 原子性1.4.2 可见性1.4.3 有序性1.5 同步与异步1.6 进程与线程1.7 线程调度1.8 编写多线程程序的时候你...
- 文章目录前言一、什么是 Stream?二、我的偏见1.数据准备2.效率测试三、stream 流的用法1.数据准备2.API 的使用获取流对象foreachcollectfiltedistinctlimitskipmapflatMapmapToXxxsortedanyMatchallMatchnoneMatchfindAnyfindFirstreducecountpeekStream.of四、... 文章目录前言一、什么是 Stream?二、我的偏见1.数据准备2.效率测试三、stream 流的用法1.数据准备2.API 的使用获取流对象foreachcollectfiltedistinctlimitskipmapflatMapmapToXxxsortedanyMatchallMatchnoneMatchfindAnyfindFirstreducecountpeekStream.of四、...
- 选择Java接口还是抽象类很多人有过这样的疑问:为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种。实际上接口和抽象类的选择不是随心所欲的。 要理解接口和抽象类的选择原则,有两个概念很重要:对象的行为和对象的实现。如果一个实体可以有多种实现方式,则在设计实体行为的描... 选择Java接口还是抽象类很多人有过这样的疑问:为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种。实际上接口和抽象类的选择不是随心所欲的。 要理解接口和抽象类的选择原则,有两个概念很重要:对象的行为和对象的实现。如果一个实体可以有多种实现方式,则在设计实体行为的描...
- Java线程安全StampedLockJava线程安全Lock、ReentrantLock、ReentrantReadWriteLockJava线程安全集合总结Java原子操作Atomic文章目录线程安全的集合把不安全的集合转化成线程安全的从Java5开始,在Java.util.concurrent包下提供了大量支持高效并发访问的集合接口和实现类,如下图:从图中可以看出,这些线程安全的集合主... Java线程安全StampedLockJava线程安全Lock、ReentrantLock、ReentrantReadWriteLockJava线程安全集合总结Java原子操作Atomic文章目录线程安全的集合把不安全的集合转化成线程安全的从Java5开始,在Java.util.concurrent包下提供了大量支持高效并发访问的集合接口和实现类,如下图:从图中可以看出,这些线程安全的集合主...
- Java并发(五):线程之间的协作前面的笔记中提到了,当使用线程来同时运行多个任务时,可以通过使用锁(互斥)来同步两个任务,从而使得一个任务不会干涉另一个任务的资源。而当多个线程可以一起工作去解决某个问题时,如果某些部分必须在其它部分之前完成,那么就需要对线程进行协调。关于协调的一种方式join(),在笔记:Java并发(二):基本线程机制之再续前缘中有使用方式的介绍。接下来介绍的是线程之间... Java并发(五):线程之间的协作前面的笔记中提到了,当使用线程来同时运行多个任务时,可以通过使用锁(互斥)来同步两个任务,从而使得一个任务不会干涉另一个任务的资源。而当多个线程可以一起工作去解决某个问题时,如果某些部分必须在其它部分之前完成,那么就需要对线程进行协调。关于协调的一种方式join(),在笔记:Java并发(二):基本线程机制之再续前缘中有使用方式的介绍。接下来介绍的是线程之间...
- 背景最近在研究mapStruct,而mapStruct核心技巧就是apt,通过编译期注解+freemarker进行java文件生成,从而省去了很多编码。本wiki将阐述一个apt的编程实践。实践过程创建一个hello工程工程由两个模块组成:application模块,将使用自定义的编译器注解apt模块,自定义注解,并且完成AbstractProcessor的继承和实现根pom如下:<?xml... 背景最近在研究mapStruct,而mapStruct核心技巧就是apt,通过编译期注解+freemarker进行java文件生成,从而省去了很多编码。本wiki将阐述一个apt的编程实践。实践过程创建一个hello工程工程由两个模块组成:application模块,将使用自定义的编译器注解apt模块,自定义注解,并且完成AbstractProcessor的继承和实现根pom如下:<?xml...
- java中有大量用于容器的卓越的使用方法,它们被表示为java.util.Collections类内部的静态方法。你已经看到过其中的一部分,例如addAll()、reverseOrder()和binarySearch()。下面是另外一部分(synchronized和unmodifiable的使用方法将在后续的小节中介绍)。在这张表中,在相关的情况中使用了泛型:checkedColle... java中有大量用于容器的卓越的使用方法,它们被表示为java.util.Collections类内部的静态方法。你已经看到过其中的一部分,例如addAll()、reverseOrder()和binarySearch()。下面是另外一部分(synchronized和unmodifiable的使用方法将在后续的小节中介绍)。在这张表中,在相关的情况中使用了泛型:checkedColle...
- 现在已经知道了,尽管实际上只有四种容器:Map、List、Set和Queue,但是每种接口都有不止一个实现版本。如果需要使用某种接口的功能,应该如何选择使用哪一个实现呢? 每种不同的实现各自的特征、优点和缺点。例如,从容器分类图中可以看出,Hashtable、Vector和Stack的“特征”是,它们是过去遗留下来的类,目的只是为了支持老的程序(最好不要在新的程序中使用它们)。 ... 现在已经知道了,尽管实际上只有四种容器:Map、List、Set和Queue,但是每种接口都有不止一个实现版本。如果需要使用某种接口的功能,应该如何选择使用哪一个实现呢? 每种不同的实现各自的特征、优点和缺点。例如,从容器分类图中可以看出,Hashtable、Vector和Stack的“特征”是,它们是过去遗留下来的类,目的只是为了支持老的程序(最好不要在新的程序中使用它们)。 ...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签