- 作为拥有多年Python开发经验的工程师,我发现很多看似简单的语法背后藏着影响代码性能的魔鬼细节。今天分享前7个极易被忽视的编程技巧(文末附对比表格) 一、变量交换的隐藏陷阱传统写法:a = 1b = 2temp = aa = bb = tempPythonic写法:a, b = b, a✅ 原理:元组解包(tuple unpacking)比临时变量快23%(实测数据) 二、列表推导式 vs... 作为拥有多年Python开发经验的工程师,我发现很多看似简单的语法背后藏着影响代码性能的魔鬼细节。今天分享前7个极易被忽视的编程技巧(文末附对比表格) 一、变量交换的隐藏陷阱传统写法:a = 1b = 2temp = aa = bb = tempPythonic写法:a, b = b, a✅ 原理:元组解包(tuple unpacking)比临时变量快23%(实测数据) 二、列表推导式 vs...
- 鸿蒙内核特性揭秘:如何进行高效底层开发? 鸿蒙内核特性揭秘:如何进行高效底层开发?
- 探索虚拟线程:原理与实现介绍 (Introduction)Java 虚拟线程 (Virtual Threads) 是 Java 平台在 JDK 21 中正式发布的一项革命性新特性 (经过 JDK 19 和 20 的预览)。它们是一种轻量级的、由 JVM 管理的线程,旨在极大地简化编写高吞吐量并发应用,特别是那些涉及大量等待(如网络 I/O 或数据库查询)的应用。与传统的平台线程(即操作系统线... 探索虚拟线程:原理与实现介绍 (Introduction)Java 虚拟线程 (Virtual Threads) 是 Java 平台在 JDK 21 中正式发布的一项革命性新特性 (经过 JDK 19 和 20 的预览)。它们是一种轻量级的、由 JVM 管理的线程,旨在极大地简化编写高吞吐量并发应用,特别是那些涉及大量等待(如网络 I/O 或数据库查询)的应用。与传统的平台线程(即操作系统线...
- 一、C++协程入门知识 (一)基本概念 (二)特点 (三)应用场景 二、C++协程精通知识 (一)高级特性 (二)优化技巧 (三)错误处理机制 (四)调试技巧 一、C++协程入门知识 (一)基本概念协程(coroutine)是一种特殊的函数,它可以被暂停(suspend)、恢复执行(resume),并且一个协程可以被多次调用。C++中的协程属于stackless协程,即协程被suspend... 一、C++协程入门知识 (一)基本概念 (二)特点 (三)应用场景 二、C++协程精通知识 (一)高级特性 (二)优化技巧 (三)错误处理机制 (四)调试技巧 一、C++协程入门知识 (一)基本概念协程(coroutine)是一种特殊的函数,它可以被暂停(suspend)、恢复执行(resume),并且一个协程可以被多次调用。C++中的协程属于stackless协程,即协程被suspend...
- 目录一:多线程环境使用ArrayList二:多线程环境使用队列三:多线程环境使用哈希表(面试高频)一:多线程环境使用ArrayList引入:原来的集合类,大部分都是线程不安全的,但是有几个例外:Vector,Stack,HashTable(这几个类)但是现在官方已经不太推荐使用了,后续可能会删掉——因为哪怕是在单线程下也要加锁,这种情况不合理(往下看)在这些类内部中,把一些关键的方法都加锁... 目录一:多线程环境使用ArrayList二:多线程环境使用队列三:多线程环境使用哈希表(面试高频)一:多线程环境使用ArrayList引入:原来的集合类,大部分都是线程不安全的,但是有几个例外:Vector,Stack,HashTable(这几个类)但是现在官方已经不太推荐使用了,后续可能会删掉——因为哪怕是在单线程下也要加锁,这种情况不合理(往下看)在这些类内部中,把一些关键的方法都加锁...
- 目录引入:一:Callable和FutureTask类二:ReentrantLock——可重入锁三:Semaphore——信号量四:CountDownLatch引入:通过之前的学习,我们了解到CAS本质上是JVM替我们封装好的,我们没有办法感知到在java.util.concurrent中存放了一些我们多线程编程时常用的类看下面的一些接口:是不是非常熟悉,我们把这个packet包简称为(J... 目录引入:一:Callable和FutureTask类二:ReentrantLock——可重入锁三:Semaphore——信号量四:CountDownLatch引入:通过之前的学习,我们了解到CAS本质上是JVM替我们封装好的,我们没有办法感知到在java.util.concurrent中存放了一些我们多线程编程时常用的类看下面的一些接口:是不是非常熟悉,我们把这个packet包简称为(J...
- 目录一:CAS指令二:原子类三:CAS是如何避免线程安全问题四:CAS中ABA问题一:CAS指令1:概念CAS是CPU中的一条特殊的指令,它的功能就是完成“比较和交换”2:伪代码例子说明伪代码:只能表示一种逻辑,并不能实现编译执行注:CAS指令一般只关注内存当中的值,寄存器当中的值是多少不打紧,用完就不要了3:优点CAS指令不涉及锁,也能保证线程的安全二:原子类1:引入在Java中:先是操... 目录一:CAS指令二:原子类三:CAS是如何避免线程安全问题四:CAS中ABA问题一:CAS指令1:概念CAS是CPU中的一条特殊的指令,它的功能就是完成“比较和交换”2:伪代码例子说明伪代码:只能表示一种逻辑,并不能实现编译执行注:CAS指令一般只关注内存当中的值,寄存器当中的值是多少不打紧,用完就不要了3:优点CAS指令不涉及锁,也能保证线程的安全二:原子类1:引入在Java中:先是操...
- 目录一:乐观锁和悲观锁二:轻量级锁和重量级锁三:自旋锁和挂起等待锁四:普通互斥锁和读写锁五:公平锁和非公平锁六:可重入锁和不可重入锁七:synchronized自适应阶段八:锁消除九:锁粗化一:乐观锁和悲观锁1:乐观锁在加锁过程中,预估发生锁冲突的概率小,降低加锁的工作量,加锁的效率就提高了,安全系数不高(可能会引发占用大量cpu资源的问题)2:悲观锁在加锁过程中,预估发生锁冲突的概率大,... 目录一:乐观锁和悲观锁二:轻量级锁和重量级锁三:自旋锁和挂起等待锁四:普通互斥锁和读写锁五:公平锁和非公平锁六:可重入锁和不可重入锁七:synchronized自适应阶段八:锁消除九:锁粗化一:乐观锁和悲观锁1:乐观锁在加锁过程中,预估发生锁冲突的概率小,降低加锁的工作量,加锁的效率就提高了,安全系数不高(可能会引发占用大量cpu资源的问题)2:悲观锁在加锁过程中,预估发生锁冲突的概率大,...
- 目录引入:问题引入一:解决方案二:ThreadPoolExecutor(标准库线程池)三:Executors(工厂类)四:通过代码实现简单的线程池引入:问题引入在之前的学习中,我们了解到,为了降低频繁创建和销毁进程所带来的巨大开销,我们引入了轻量级进程的概念(线程)现在若线程的数量进一步提升,那么线程的频繁创建和销毁所带来的资源消耗,我们也不能忽视了所以我们进行优化,引入了“池”的概念:这... 目录引入:问题引入一:解决方案二:ThreadPoolExecutor(标准库线程池)三:Executors(工厂类)四:通过代码实现简单的线程池引入:问题引入在之前的学习中,我们了解到,为了降低频繁创建和销毁进程所带来的巨大开销,我们引入了轻量级进程的概念(线程)现在若线程的数量进一步提升,那么线程的频繁创建和销毁所带来的资源消耗,我们也不能忽视了所以我们进行优化,引入了“池”的概念:这...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:阻塞队列二:“生产者消费者模型”——包饺子三:“生产者消费者模型”——分布式系统四:自己实现一个阻塞队列一:阻塞队列1:概念对于一个满的队列,入队操作就会陷入阻塞,直到这个队列有元素出队后,才可以往队列里面加入元素。对于一个空的队列,出队操作就会陷入阻塞,直到这个队列有元素入队后,才可以对队... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:阻塞队列二:“生产者消费者模型”——包饺子三:“生产者消费者模型”——分布式系统四:自己实现一个阻塞队列一:阻塞队列1:概念对于一个满的队列,入队操作就会陷入阻塞,直到这个队列有元素出队后,才可以往队列里面加入元素。对于一个空的队列,出队操作就会陷入阻塞,直到这个队列有元素入队后,才可以对队...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:单例模式(singleton)二:“饿汉模式”三:“懒汉”模式四:“饿汉”模式线程安全问题五:“懒汉”模式的线程安全问题六:指令重排序问题一:单例模式(singleton)1:概念单例模式就是,在java进程中,要求指定的类,只能有一个对象我们通过一些特殊的技巧来确保,我们的实例(对象)只有... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:单例模式(singleton)二:“饿汉模式”三:“懒汉”模式四:“饿汉”模式线程安全问题五:“懒汉”模式的线程安全问题六:指令重排序问题一:单例模式(singleton)1:概念单例模式就是,在java进程中,要求指定的类,只能有一个对象我们通过一些特殊的技巧来确保,我们的实例(对象)只有...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录引子:一:情景引入二:线程饿死问题三:wait和notify引子:wait和notify与join的用途有些类似。wait(等待)notify(通知)机制通过引入wait和notify在应用层面上对多线程代码的执行顺序产生干预。此处干预并不影响到操作系统对线程的随机调度一:情景引入有四个滑稽老铁... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录引子:一:情景引入二:线程饿死问题三:wait和notify引子:wait和notify与join的用途有些类似。wait(等待)notify(通知)机制通过引入wait和notify在应用层面上对多线程代码的执行顺序产生干预。此处干预并不影响到操作系统对线程的随机调度一:情景引入有四个滑稽老铁...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:内存可见性问题一:内存可见性问题内存可见性引起的多线程安全问题(一个线程读,一个线程写)package thread;import java.util.Scanner;/**Created with IntelliJ IDEA.Description:User: Hua YYDate: 20... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:内存可见性问题一:内存可见性问题内存可见性引起的多线程安全问题(一个线程读,一个线程写)package thread;import java.util.Scanner;/**Created with IntelliJ IDEA.Description:User: Hua YYDate: 20...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:加锁的“可重入性”二:死锁三:解锁引入:通过上一篇文章的学习,我们针对线程安全问题,简单认识了synchronized关键字,给操作“打包”,避免了一些多线程会出现的bug,通过本章学习我们将更进一步的学习Synchronized一:加锁的“可重入性”1:问题引入我们给Thread线程,加两... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:加锁的“可重入性”二:死锁三:解锁引入:通过上一篇文章的学习,我们针对线程安全问题,简单认识了synchronized关键字,给操作“打包”,避免了一些多线程会出现的bug,通过本章学习我们将更进一步的学习Synchronized一:加锁的“可重入性”1:问题引入我们给Thread线程,加两...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:问题引入二:问题深入三:synchronized关键字(加锁)一:问题引入用多线程,让计数器自增到1_0000package thread;public class ThreadDemon19 {private static long count = 0;public static void... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:问题引入二:问题深入三:synchronized关键字(加锁)一:问题引入用多线程,让计数器自增到1_0000package thread;public class ThreadDemon19 {private static long count = 0;public static void...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签