学习极客时间上的《Java并发编程实战》课程之余,结合自己的理解整理一部分笔记以巩固知识。 并发编程的起源 1.硬件设备发展的核心矛盾:CPU、内存、I/O设备三者间存在的速度差异。根据木桶原理,程序整体性能最终受制于速度最慢的I/O设备。2.为了平和三者速度差异,计算机体系结构、操作系统、编译程序都做出了贡献,主要体现为:(1)CPU增加了缓存,以均衡与内存的速度差异;(2)操作系统增加了进程、线程,以分时复用CPU,进而均衡CPU与I/O设备的速度差异;(3)编译程序优化指令执行顺序,使得缓
2024-11-252、点击左侧菜单【快速选择工具】,选出人物部分(即下图中蚂蚁线范围内部分); 3、点击菜单栏【选择】下拉框【修改】【收缩】【羽化】,对所选图形进行收缩和羽化,收缩量可选择1像素,羽化半径1像素,【确定】; 4、输入【ctrl+j】命令,得到如图图层一; 5、【文件】【新建】图层,置于图层一下层,即图层二;下面我们对图层二进行编辑; 6、点击菜单栏【编辑】下拉框【填充】,弹出【填充】对话框,点击黑色小三角,【颜色】弹出【选取一种颜色】,这时选择我们想要的颜色(如果要求精确的情况下,可填写R
2024-11-25出错提示: 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。 原因分析: .NET2.0中增加了42种非常强大的调试助手(MDA,Loaderlock 是其中之一。Loaderlock检测在一个拥有操作系统loader lock的线程上运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用。虽然 这样做很有必要,但在进行开发调试的时候,实在太麻烦。这是由于正在加载特定资源:例
2024-11-25XBMC分析系列文章: 本文我们分析XBMC中视频播放器(dvdplayer)中的文件头部分。文件头部分里包含的是封装Dll用到的头文件。由于文件头种类很多,不可能一一分析,因此还是以ffmpeg文件头为例进行分析。 在这里我们看一下封装AVCodec和AVFormat结构体的头文件,分别是DllAvCodec.h和DllAvFormat.h。 DllAvFormat.h内容如下。其中包含了2个主要的类:DllAvFormatInterface和DllAvFormat。 其中D
2024-11-25方式一思路把 pe 文件打开,然后通过ReadFile读到一个缓冲区里(内存上)优点一直保存在那缺点 得先读完(这一般不算什么读的速度非常快) If the function succeeds, the return value is the starting address of the mapped view.)优点动态加载缺点 由于操作系统只能同时做一件事 因此如果你点击了其它地方他就停止加载。再次点击窗口又开始加载。 // PE练习.cpp : 定义控制台应用程序的入口点。 // #i
2024-11-25“可视化”是网络安全领域的前沿技术与可靠保障。笔者所在的西电捷通是一家领先的网络安全基础技术国际研究机构。一直从事网络安全基础技术研发与技术转移。笔者在2011年底入职典型技术之上的西电捷通公司,那时公司已经组建了一个神秘而“低调”的团队,2013年团队正式更名为网络安全可视化团队,笔者亦有幸成为了新团队的一员。 对于西电捷通而言,网络安全可视化团队的主要职责是网络安全对抗研究、网络安全协议技术的安全性分析、网络安全协议的设计缺陷验证,所要解决的问题、工作重心与其它企业的安全团队有着较大区
2024-11-25ps中想要制作文字拖尾效果,长长的,看上去像是晚霞或者彩虹色,该怎么制作呢?我们可以使用涂抹效果来做一个拖尾的效果,让文字看上去是滑动下来的感觉,下面我们就来看看详细的教程。 启动软件,照一张风景照片导入到PS软件中,输入文字定义为画笔。 然后再画面内部,用钢笔工具画一条平滑的曲线。 选择涂抹工具,设置笔刷和大小,点击路径菜单栏描边路径。 将硬度设置为100,可以看到沿着路径的涂抹效果。 选择画笔工具,设置相同的笔刷大小,点击一下,确定文字。 将文字的位置摆放到最前面,可以制作拖尾
2024-11-25Introduction GNU GRUB (short for GNU GRand Unified Bootloader) is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a user the choice to boot on
2024-11-251.Linux网络栈下两层实现 1.1简介 VLAN是网络栈的一个附加功能,且位于下两层。首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去。下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示: 1.2代码框架 就是对于上图的扩展,从代码的角度看网络栈的实现。这里主要是学习的过程,一方面算是赏析Linux优美的代码结构,另一方面只有了解这些,才能更好地写网络设备的驱动,或者做平台移植。
2024-11-25一、web服务器 1、创建磁盘 [root@localhost ~]# fdisk -lDisk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk la
2024-11-25