- Hey guys ,我是 cxuan,欢迎你阅读我最新一期的技术文章。这一篇文章我要和你聊一聊 Java 并发中关于内存模型的那些事情,我会通过向你问问题的形式来展开,如果你有思路,可以先不要看我的答案,看看你的回答和我的答案是不是有出入,如果你有任何疑问,欢迎在这篇文章下方留言,下面开始我们的正文! 究竟什么是内存模型? 在多处理系统中,每个 CPU 通常都包含一... Hey guys ,我是 cxuan,欢迎你阅读我最新一期的技术文章。这一篇文章我要和你聊一聊 Java 并发中关于内存模型的那些事情,我会通过向你问问题的形式来展开,如果你有思路,可以先不要看我的答案,看看你的回答和我的答案是不是有出入,如果你有任何疑问,欢迎在这篇文章下方留言,下面开始我们的正文! 究竟什么是内存模型? 在多处理系统中,每个 CPU 通常都包含一...
- Hey guys ,这里是 cxuan ,前段时间有位小伙伴跟我分享了他面试外包的经历,外包也开始卷起来了!! 最开始是打算面试外包公司刷经验,等经验差不多了,再去甲方尝试,可惜不太顺利。 一、迈思(面试了30分钟) 自我介绍 左连接(a 表左连接 b 表,a 表全部数据出来,b 表没有的数据为空) a 表左连接 b 表,b 表左连接 c 表,c 表左连接 ... Hey guys ,这里是 cxuan ,前段时间有位小伙伴跟我分享了他面试外包的经历,外包也开始卷起来了!! 最开始是打算面试外包公司刷经验,等经验差不多了,再去甲方尝试,可惜不太顺利。 一、迈思(面试了30分钟) 自我介绍 左连接(a 表左连接 b 表,a 表全部数据出来,b 表没有的数据为空) a 表左连接 b 表,b 表左连接 c 表,c 表左连接 ...
- 文章目录 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 workqueue是内核中重要的机制,当您要在单独的进程上下文中执行特定任务时使用,并且广泛用于内核中的各个位置。这 可以看作是线程池的概念,在创建工作队列时,会先创建工作线程,然后在必要的工作发生时使用线程来执行... 文章目录 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 workqueue是内核中重要的机制,当您要在单独的进程上下文中执行特定任务时使用,并且广泛用于内核中的各个位置。这 可以看作是线程池的概念,在创建工作队列时,会先创建工作线程,然后在必要的工作发生时使用线程来执行...
- 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 文章目录 1、Netlink 1.1.用户空间Netlink套接字 2、Netlink IPC 数据结构 2.1、netlink消息的开头 2.2、设置结构 iovec 2.3、结构 msghdr ... 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 文章目录 1、Netlink 1.1.用户空间Netlink套接字 2、Netlink IPC 数据结构 2.1、netlink消息的开头 2.2、设置结构 iovec 2.3、结构 msghdr ...
- [PX3][Android7.1] 调试笔记 — 添加白名单 需求 现在道道通导航后台运行时,容易被系统回收, 包名:cn.jyuntech.map 需要把他加入白名单 原理 进程是有它的优先级的,这个优先级通过进程的adj值来反映,它是linux内核分配给每个系统进程的一个值,代表进程的优先级,进程回收机制就是根据这个优先级来决定是否进行回收,adj值定义在c... [PX3][Android7.1] 调试笔记 — 添加白名单 需求 现在道道通导航后台运行时,容易被系统回收, 包名:cn.jyuntech.map 需要把他加入白名单 原理 进程是有它的优先级的,这个优先级通过进程的adj值来反映,它是linux内核分配给每个系统进程的一个值,代表进程的优先级,进程回收机制就是根据这个优先级来决定是否进行回收,adj值定义在c...
- 文章参考:小刘老师讲源码 1、简介 Semaphore,信号量,它保存了一系列的许可(permits),每次调用acquire()都将消耗一个许可,每次调用release()都将归还一个许可。Semaphore通常用于限制同一时间对共享资源的访问次数上,也就是常说的限流。Semaphore信号量,获取通行证流程图: 2、入门案例 案例1:Pool.jav... 文章参考:小刘老师讲源码 1、简介 Semaphore,信号量,它保存了一系列的许可(permits),每次调用acquire()都将消耗一个许可,每次调用release()都将归还一个许可。Semaphore通常用于限制同一时间对共享资源的访问次数上,也就是常说的限流。Semaphore信号量,获取通行证流程图: 2、入门案例 案例1:Pool.jav...
- 内核线程的使用: static struct task_struct *tsk; 函数kthread_run 因为我的线程执行时间长,为了保证此线程不能反复创建我做如下处理: if(tsk == NULL){ tsk = kthread_run(AutoScan, NULL, "AutoScan"); }else{ kthread_stop(tsk); tsk ... 内核线程的使用: static struct task_struct *tsk; 函数kthread_run 因为我的线程执行时间长,为了保证此线程不能反复创建我做如下处理: if(tsk == NULL){ tsk = kthread_run(AutoScan, NULL, "AutoScan"); }else{ kthread_stop(tsk); tsk ...
- 文章参考:小刘源码 ConcurrentHashMap源码解析_01 成员属性、内部类、构造方法分析 1、简介 ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。在学习ConcurrentHashMap源码之... 文章参考:小刘源码 ConcurrentHashMap源码解析_01 成员属性、内部类、构造方法分析 1、简介 ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。在学习ConcurrentHashMap源码之...
- 使用 ftrace 跟踪内核 在内核层面上分析事件有很多的工具:SystemTap、ktap、Sysdig、LTTNG 等等,你也可以在网络上找到关于这些工具的大量介绍文章和资料。 而对于使用 Linux 原生机制去跟踪系统事件以及检索/分析故障信息的方面的资料却很少找的到。这就是 ftrace,它是添加到内核中的第一款跟踪工具,今天我们来看一下它都能做什么,让... 使用 ftrace 跟踪内核 在内核层面上分析事件有很多的工具:SystemTap、ktap、Sysdig、LTTNG 等等,你也可以在网络上找到关于这些工具的大量介绍文章和资料。 而对于使用 Linux 原生机制去跟踪系统事件以及检索/分析故障信息的方面的资料却很少找的到。这就是 ftrace,它是添加到内核中的第一款跟踪工具,今天我们来看一下它都能做什么,让...
- 本文来自网络,著作权归原创作者所有,不做任何商业用途。 一、四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”、内功卓越的高手“铁手”、腿功惊人的“追命”和剑法一流的“冷血”。 本文四大名捕由 linux 命令所出演: 无情:ps 出演铁手:dstat &n... 本文来自网络,著作权归原创作者所有,不做任何商业用途。 一、四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”、内功卓越的高手“铁手”、腿功惊人的“追命”和剑法一流的“冷血”。 本文四大名捕由 linux 命令所出演: 无情:ps 出演铁手:dstat &n...
- 1、ThreadLocal简介 ThreadLocal是一个全局对象,ThreadLocal是线程范围内变量共享的解决方案;ThreadLocal可以看作是一个map集合,key就是当前线程,value就是要存放的变量。eg如下: // 声明一个ThreadLocal实例 ThreadLocal threadLocal = new ThreadLocal(); //... 1、ThreadLocal简介 ThreadLocal是一个全局对象,ThreadLocal是线程范围内变量共享的解决方案;ThreadLocal可以看作是一个map集合,key就是当前线程,value就是要存放的变量。eg如下: // 声明一个ThreadLocal实例 ThreadLocal threadLocal = new ThreadLocal(); //...
- 文章目录 等待队列相关数据结构 wait_queue_head_t wait_queue_t 等待队列相关操作API介绍 init_waitqueue_head add_wait_queue remove_wait_queue 平台 内核版本 安卓版本 RK3399 Lin... 文章目录 等待队列相关数据结构 wait_queue_head_t wait_queue_t 等待队列相关操作API介绍 init_waitqueue_head add_wait_queue remove_wait_queue 平台 内核版本 安卓版本 RK3399 Lin...
- 在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示: 无法获得锁 /var/lib/dpkg/l... 在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示: 无法获得锁 /var/lib/dpkg/l...
- 文章目录 功能介绍类自动锁互斥锁的封装任务的封装接口类线程类封装线程槽 功能介绍 此类实现了如下功能: 在程序启动时即创建若干个线程(即线程池),当有任务需要执行时,将需要执行的任务放入任务队列,唤醒一个空闲线程进行任务的处理,处理完任务后线程继续进入睡眠 状态。 类 类名内容CAutoLock自动锁CMutex该类实现了互斥锁的封装CTask任... 文章目录 功能介绍类自动锁互斥锁的封装任务的封装接口类线程类封装线程槽 功能介绍 此类实现了如下功能: 在程序启动时即创建若干个线程(即线程池),当有任务需要执行时,将需要执行的任务放入任务队列,唤醒一个空闲线程进行任务的处理,处理完任务后线程继续进入睡眠 状态。 类 类名内容CAutoLock自动锁CMutex该类实现了互斥锁的封装CTask任...
- 多核cpu让指定的程序 在指定的cpu上运行 看的是进程类型 cpu消耗型 I/O消耗型多线程并发一个程序运行 我使用到两个cpu核心 我们可以让改程序以线程方式运行 每个核心运行一个线程多核情况下以线程方式运行效果更好一些,单核的话区别就不大了测试 io消耗型#!/bin/bashfor ((i=1;i<255;i++))do( if ping -c 1 ... 多核cpu让指定的程序 在指定的cpu上运行 看的是进程类型 cpu消耗型 I/O消耗型多线程并发一个程序运行 我使用到两个cpu核心 我们可以让改程序以线程方式运行 每个核心运行一个线程多核情况下以线程方式运行效果更好一些,单核的话区别就不大了测试 io消耗型#!/bin/bashfor ((i=1;i<255;i++))do( if ping -c 1 ...
上滑加载中
推荐直播
-
探秘仓颉编程语言:华为开发者空间的创新利器
2025/02/22 周六 15:00-16:30
华为云讲师团
本期直播将与您一起探秘颉编程语言上线华为开发者空间后,显著提升开发效率,在智能化开发支持、全场景跨平台适配能力、工具链与生态完备性、语言简洁与高性能特性等方面展现出的独特优势。直播看点: 1.java转仓颉的小工具 2.仓颉动画三方库lottie 3.开发者空间介绍及如何在空间用仓颉编程语言开发
回顾中 -
大模型Prompt工程深度实践
2025/02/24 周一 16:00-17:30
盖伦 华为云学堂技术讲师
如何让大模型精准理解开发需求并生成可靠输出?本期直播聚焦大模型Prompt工程核心技术:理解大模型推理基础原理,关键采样参数定义,提示词撰写关键策略及Prompt工程技巧分享。
去报名 -
华为云 x DeepSeek:AI驱动云上应用创新
2025/02/26 周三 16:00-18:00
华为云 AI专家大咖团
在 AI 技术飞速发展之际,DeepSeek 备受关注。它凭借哪些技术与理念脱颖而出?华为云与 DeepSeek 合作,将如何重塑产品与应用模式,助力企业数字化转型?在华为开发者空间,怎样高效部署 DeepSeek,搭建专属服务器?基于华为云平台,又该如何挖掘 DeepSeek 潜力,实现智能化升级?本期直播围绕DeepSeek在云上的应用案例,与DTSE布道师们一起探讨如何利用AI 驱动云上应用创新。
去报名
热门标签