Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Hibernate级联(cascade和inverse)

Hibernate级联(cascade和inverse)

级联(Cascade),两个以上的设备通过某种方式连接起来,能起到扩容的效果就是级联。Hibernate级联(Cascade)是用来说明数据库中连个表之间的相互关系(一对一,一对多,多对多)中,当对主对象进行某种操作时,是否也对其关联的从对象作类似的操作,常见的级联(Cascade)有:(1)none:在保存,删除或者修改当前对象时,不对其附属对象(关联对象)进行级联操作,它为默认值。(2)save-update:在保存,更新当前对象时,级联保存,更新附属...
Linux socket设置mark的必要性

Linux socket设置mark的必要性

Linux的Netfilter钩子点的位置会导致一些奇怪的问题,比如本机发出的包无法使用基于mark的策略路由,这是因为mark一般是在Netfilter中进行的,而Linux的路由处在OUTPUT钩子点之前,因此这是一个顺序倒置的问题,如何来解决呢?只能在路由之前打上mark,而我们知道,对于外部进入的包,mark是在PREROUTING进行的,因此对于外部进入的包,策略路由是好使的,对于本机发出的包,路由之前只能是socket层了,那为何不能在传输层做...
窥视Linux内核的行为的一些方法

窥视Linux内核的行为的一些方法

想了解Linux内核的行为,需要一定的偷窥经验,大致可以分为以下几个:1.使用printk直接在内核代码或者模块代码的你想偷窥的地方printk一些信息。这种方式需要你会编译内核代码以及编译内核模块,以及将其正确安装进内核并启动之。虽然需要这么多知识,然而这种方式是比较土的。除非万不得已,一定有比这更加简单的方法。2.查看dmesg这种方式取决于内核会输出哪些信息。dmesg显示的信息一般都是比较重要的信息。3.精通procfsprocfs中含有大量有用并...
Ubuntu下使用GDB断点Go程序

Ubuntu下使用GDB断点Go程序

大家好,今天为大家带来Ubuntu下,使用GDB断点调试Go程序。由于之前没有接触过GDB调试,而Go语言本身内置也没有什么调试工具,不像Eralng,有Debugger可以使用,我从网上搜索了下,也没有相关的中文教程,所以这边自己研究了下,给新手带来一篇关于GDB简单调试Go程序的文章。(关于GDB的文章还是不少的) 首先,编写测试代码,如下:package mainimport ( "fmt")func main() { fmt.Printf("%s...
Linux Slab分配器(一)--概述

Linux Slab分配器(一)--概述

slab分配器是Linux内存管理中非常重要和复杂的一部分,其工作是针对一些经常分配并释放的对象,如进程描述符等,这些对象的大小一般比较小,如果直接采用伙伴系统来进行分配和释放,不仅会造成大量的内碎片,而且处理速度也太慢。而slab分配器是基于对象进行管理的,相同类型的对象归为一类(如进程描述符就是一类),每当要申请这样一个对象,slab分配器就从一个slab列表中分配一个这样大小的单元出去,而当要释放时,将其重新保存在该列表中,而不是直接返回给伙伴系统。...
Linux Slab分配器(二)--初始化

Linux Slab分配器(二)--初始化

在前文中介绍了slab所涉及到的数据结构, slab分配器的初始化工作都是围绕这些数据结构来展开的,主要是针对以下两个问题:1.创建kmem_cache高速缓存用来存储所有的cache描述符2.创建array_cache和kmem_list3高速缓存用来存储slab数据结构中的这两个关键结构这里明显有点自相矛盾,那就是slab管理器尚未建立起来,又如何靠slab分配高速缓存来给这些结构分配空间呢?解决第一个问题的方法是直接静态定义一个名为cache_cac...
Android开发之Animation 4种动画效果

Android开发之Animation 4种动画效果

Animation是Android的动画效果的组件,可以实现绚丽的翻页、ListView和GridView的展示。 这blog简单介绍一下4种动画效果方式:1. AlphaAnimation 控制渐变透明的动画效果 如图:2. ScaleAnimation 控制尺寸伸缩的动画效果 如图:3. TranslateAnimation控制画面平移的动画效果 如图:4. RotateAnimation控制画面角度变化的动画效果 如图:具体的使用方法,直接上代码。注...
Linux网络内核数据帧的接收过程:数据链路层(概念篇)

Linux网络内核数据帧的接收过程:数据链路层(概念篇)

处理链路层(L2)的函数是由中断事件驱动的。硬件会使用中断事件通知CPU,该帧已经可用了。接收中断事件的CPU会执行do_IRQ函数。IRQ编号引发正确的中断处理函数被启用。此处理函数通常是设备驱动程序在设备驱动程序初始化期间所注册的函数。IRQ函数处理函数会在中断模式下执行,即后续的中断事件都会暂时被关闭。中断处理函数会执行一些立即性的任务,然后把其他任务安排到下半部函数中以便在稍后执行,明确地讲,中断处理函数会1、 把帧拷贝到sk_buff数据结构中。...
《深入Linux内核架构》笔记:(N)UMA模型中的内存组织

《深入Linux内核架构》笔记:(N)UMA模型中的内存组织

1.概述 在Linux中,内核对一致和非一致内存访问系统使用相同的数据结构,因此针对各种不同形式的内存布局,各个算法几乎没有什么差别。在UMA系统上,只使用一个NUMA结点来管理整个系统内存。 首先内在划分为结点。每个结点关联到系统中的一个处理器,在内核中表示为pg_data_t的结构。深入Linux内核架构 pdf版下载见 http://www.linuxidc.com/Linux/2012-06/62984.htm 各个结点又划分为内存域,是内存的进一...
C#多线程通信之委托(事件)

C#多线程通信之委托(事件)

在研究C# 线程之间通信时,发现传统的方法大概有三种①全局变量,由于同一进程下的多个进程之间共享数据空间,所以使用全局变量是最简单的方法,但要记住使用volatile进行限制。②线程之间发送消息(这个随后文章中会讨论到)。③CEvent为MFC中的一个对象,可以通过对CEvent的触发状态进行改变,从而实现线程间的通信和同步,这个主要是实现线程直接同步的一种方法。本文介绍的一种方法是这三种之外的一种方法,本文中实例是通过创建一个线程类,通过委托事件把值传送...
<< 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 >>