- 本文转载自公众号:Hollis 作者:Hollis 主要版本更新时间备注v1.02015-08-01首次发布v1.12018-03-12增加新技术知识、完善知识体系v2.02019-02-19结构调整,更适合从入门到精通;进一步完善知识体系; 新技术补充;1基础篇01 面向对象→ 什么是面向对象面向对象、面向过程面向对象的三大基本特征和五大基本原则→ 平台无关性Java 如何实现的平台无关J... 本文转载自公众号:Hollis 作者:Hollis 主要版本更新时间备注v1.02015-08-01首次发布v1.12018-03-12增加新技术知识、完善知识体系v2.02019-02-19结构调整,更适合从入门到精通;进一步完善知识体系; 新技术补充;1基础篇01 面向对象→ 什么是面向对象面向对象、面向过程面向对象的三大基本特征和五大基本原则→ 平台无关性Java 如何实现的平台无关J...
- 熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是你学习 Netty 的基础。目录:1. BIO (Blocking I/O)1.1 传统 BIO1.2 伪异步 IO1.3 代码示例1.4 总结2. NIO (New I/O)2.1 NIO 简介2.2 NIO的特性/NIO与IO区别1)Non-blocking IO(非阻塞I... 熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是你学习 Netty 的基础。目录:1. BIO (Blocking I/O)1.1 传统 BIO1.2 伪异步 IO1.3 代码示例1.4 总结2. NIO (New I/O)2.1 NIO 简介2.2 NIO的特性/NIO与IO区别1)Non-blocking IO(非阻塞I...
- 周日午后,刚刚放下手里的电话,正在给刚刚的面试者写评价。刚刚写到『对Linux的基本IO模型理解不深』这句的时候,女朋友突然出现。哈,这个面试者咋不知道IO模型呢,我都知道呢。 你怎么知道呢,你给我说说。上次你给我讲过呀。在Java中,主要有三种IO模型,分别是阻塞IO(BIO)、非阻塞IO(NIO)和 异步IO(AIO)。额、你说的这个是Java中提供的IO有关的API啊。并不是操作系统层... 周日午后,刚刚放下手里的电话,正在给刚刚的面试者写评价。刚刚写到『对Linux的基本IO模型理解不深』这句的时候,女朋友突然出现。哈,这个面试者咋不知道IO模型呢,我都知道呢。 你怎么知道呢,你给我说说。上次你给我讲过呀。在Java中,主要有三种IO模型,分别是阻塞IO(BIO)、非阻塞IO(NIO)和 异步IO(AIO)。额、你说的这个是Java中提供的IO有关的API啊。并不是操作系统层...
- 在开发过程中,有时候我们发现JVM占用的CPU居高不下,跟我们的预期不符,这时,CPU在做什么呢?是什么线程让CPU如此忙碌呢?我们通过如下几步,可以查看CPU在执行什么线程。1.查找jvm进程ID: jps -lv 或者 ps aux | grep java2.根据pid,查找占用cpu较高的线程:ps -mp pid -o THREAD,tid,time 如图所示:找到占用cpu最高的... 在开发过程中,有时候我们发现JVM占用的CPU居高不下,跟我们的预期不符,这时,CPU在做什么呢?是什么线程让CPU如此忙碌呢?我们通过如下几步,可以查看CPU在执行什么线程。1.查找jvm进程ID: jps -lv 或者 ps aux | grep java2.根据pid,查找占用cpu较高的线程:ps -mp pid -o THREAD,tid,time 如图所示:找到占用cpu最高的...
- 本文转载于公众号:crossoverJie前言平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条:可见线程池的重要性。简单来说使用线程池有以下几个目的:线程是稀缺资源,不能频繁的创建。解耦作用;线程的创建于执行完全分开,方便维护。应当将其放入一个池子中,可以给其他任务进行复用。线程池原理谈到线程池就会想到池化技术,其中最核心的思想就是把宝贵... 本文转载于公众号:crossoverJie前言平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条:可见线程池的重要性。简单来说使用线程池有以下几个目的:线程是稀缺资源,不能频繁的创建。解耦作用;线程的创建于执行完全分开,方便维护。应当将其放入一个池子中,可以给其他任务进行复用。线程池原理谈到线程池就会想到池化技术,其中最核心的思想就是把宝贵...
- 随着cpu核数越来越多,不可避免的利用多线程技术以充分利用其计算能力。所以,多线程技术是服务端开发人员必须掌握的技术。 线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。 在Java用有一个Executors工具类,可以为我们创建一个线程池,其本质就是new了一个ThreadPoolExecutor对象。线程池几乎也是面试必考问题。本文结... 随着cpu核数越来越多,不可避免的利用多线程技术以充分利用其计算能力。所以,多线程技术是服务端开发人员必须掌握的技术。 线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。 在Java用有一个Executors工具类,可以为我们创建一个线程池,其本质就是new了一个ThreadPoolExecutor对象。线程池几乎也是面试必考问题。本文结...
- 来源:蒋小强 ,ifeve.com/how-to-calculate-threadpool-size/如何合理地估算线程池大小?这个问题虽然看起来很小,却并不那么容易回答。大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个线程完成,... 来源:蒋小强 ,ifeve.com/how-to-calculate-threadpool-size/如何合理地估算线程池大小?这个问题虽然看起来很小,却并不那么容易回答。大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个线程完成,...
- 来源:saymagic,blog.saymagic.cn/2016/08/30/java-thread-safe-model-analyze.html#post__title多线程编程一直是老生常谈的问题,在Java中,随着JDK的逐渐发展,JDK提供给我们的并发模型也越来越多,本文摘取三例使用不同原理的模型,分析其大致原理。COW之CopyOnWriteArrayListcow是copy-... 来源:saymagic,blog.saymagic.cn/2016/08/30/java-thread-safe-model-analyze.html#post__title多线程编程一直是老生常谈的问题,在Java中,随着JDK的逐渐发展,JDK提供给我们的并发模型也越来越多,本文摘取三例使用不同原理的模型,分析其大致原理。COW之CopyOnWriteArrayListcow是copy-...
- 作者:zhanlijunhttp://www.cnblogs.com/LBSer/p/4622749.html假设某银行只有10个职员。该银行的业务流程分为以下4个步骤:1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。一:BIO方式 ... 作者:zhanlijunhttp://www.cnblogs.com/LBSer/p/4622749.html假设某银行只有10个职员。该银行的业务流程分为以下4个步骤:1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。一:BIO方式 ...
- 前言在我们日常 Web 开发中难免遇到需要把一个参数层层的传递到最内层,然后中间层根本不需要使用这个参数,或者是仅仅在特定的工具类中使用,这样我们完全没有必要在每一个方法里面都传递这样一个 通用的参数。如果有一个办法能够在任何一个类里面想用的时候直接拿来使用就太好了。 Java的 Web项目大部分都是基于 Tomcat,每次访问都是一个新的线程,这样让我们联想到了 ThreadLocal,每... 前言在我们日常 Web 开发中难免遇到需要把一个参数层层的传递到最内层,然后中间层根本不需要使用这个参数,或者是仅仅在特定的工具类中使用,这样我们完全没有必要在每一个方法里面都传递这样一个 通用的参数。如果有一个办法能够在任何一个类里面想用的时候直接拿来使用就太好了。 Java的 Web项目大部分都是基于 Tomcat,每次访问都是一个新的线程,这样让我们联想到了 ThreadLocal,每...
- 最近在给别人讲解 Java 并发编程面试考点时,为了解释锁对象这个概念,想了一个形象的故事。后来慢慢发现这个故事似乎能讲解 Java 并发编程中好多核心概念,于是完善起来形成了这篇文章。 最近在给别人讲解 Java 并发编程面试考点时,为了解释锁对象这个概念,想了一个形象的故事。后来慢慢发现这个故事似乎能讲解 Java 并发编程中好多核心概念,于是完善起来形成了这篇文章。
- 服务器的本质工作就是,争取以最快的速度将内核缓冲区中的用户请求数据一个不剩地都拿出来,然后尽快处理,再将响应数据放到一块又能够与发送数据的缓冲区中,接着处理下一拨请求。 服务器的本质工作就是,争取以最快的速度将内核缓冲区中的用户请求数据一个不剩地都拿出来,然后尽快处理,再将响应数据放到一块又能够与发送数据的缓冲区中,接着处理下一拨请求。
- 很多业务场景需要我们某一特定的时刻去做某件任务,定时任务解决的就是这种业务场景。一般来说,系统可以使用消息传递代替部分定时任务,两者有很多相似之处,可以相互替换场景。如,上面发货成功发短信通知客户的业务场景,我们可以在发货成功后发送MQ消息到队列,然后去消费mq消息,发送短信,但在一些情况下是不能进行转换的。 很多业务场景需要我们某一特定的时刻去做某件任务,定时任务解决的就是这种业务场景。一般来说,系统可以使用消息传递代替部分定时任务,两者有很多相似之处,可以相互替换场景。如,上面发货成功发短信通知客户的业务场景,我们可以在发货成功后发送MQ消息到队列,然后去消费mq消息,发送短信,但在一些情况下是不能进行转换的。
- spring stringRedisTemplate 对redis常规操作做了一些封装,但还不支持像 Scan SetNx等命令,这时需要拿到jedis Connection进行一些特殊的Commands。 spring stringRedisTemplate 对redis常规操作做了一些封装,但还不支持像 Scan SetNx等命令,这时需要拿到jedis Connection进行一些特殊的Commands。
- 平时我们都使用的是默认的 ALL(在Eclipse中默认是线程模式) ,这种模式我们只能将一个线程断下来,但其他线程却已经执行过了;而将其改为 Thread 后,就可以多个线程都断下来,并且可以很方便的切换线程的执行流程,这就是多线程调试。 平时我们都使用的是默认的 ALL(在Eclipse中默认是线程模式) ,这种模式我们只能将一个线程断下来,但其他线程却已经执行过了;而将其改为 Thread 后,就可以多个线程都断下来,并且可以很方便的切换线程的执行流程,这就是多线程调试。
上滑加载中
推荐直播
-
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中 -
华为云码道:零代码股票智能决策平台全功能实战2026/04/18 周六 10:00-12:00
秦拳德-中软国际教育卓越研究院研究员、华为云金牌讲师、云原生技术专家
利用Tushare接口获取实时行情数据,采用Transformer算法进行时序预测与涨跌分析,并集成DeepSeek API提供智能解读。同时,项目深度结合华为云CodeArts(码道)的代码智能体能力,实现代码一键推送至云端代码仓库,建立起高效、可协作的团队开发新范式。开发者可快速上手,从零打造功能完整的个股筛选、智能分析与风险管控产品。
回顾中
热门标签