Welcome 微信登录

首页 / 操作系统 / Linux

Linux操作系统的内核解读入门

Linux操作系统的内核解读入门

针对好多Linux爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说Linux复杂的内核机制; 一.核心源程序的文件组织: 1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心。 本文基于稳定的2.2.5源代码,第二部分的实现平台为 RedHat L...
Java聊天窗口的实现

Java聊天窗口的实现

编写一数据报通信程序,实现简单的聊天功能。 “聊天内容”和“输入文本”分别为当前聊天的历史信息和当前要传送出去的聊天文本。“确定”、“清空”、“退出”三个按钮分别实现发送当前聊天文本、清空当前聊天文本和退出系统的功能。import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event....
Java按字节截取字符串

Java按字节截取字符串

在应用开发中,为了页面齐整,把内容较长的标题截取成等长的字串,如果在标题中命名有英文,数字,汉字,但Java默认的截取方法是按字符截取的,一个汉字跟一个英文字母以及数字都默认为一个char,按这个种方法截取后的字串七长八短很不齐整。 如果改用按字节截取会好很多,因为一个汉字会看到两个字节,所以可能会存在一个字节的差异,当然一个汉字是不会被分成两半的. 详情见下面代码:/**** @date 2009-12-17* @author lrm*/public c...
Java 按字节截取字符串算法

Java 按字节截取字符串算法

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。方法一public class Tools { public Tools() { } /** * 字符串按字节截取 * @param str 原字符 * @param len 截取长度 * @return String ...
两招提高Struts2开发生产力(2008.11.14更新)!

两招提高Struts2开发生产力(2008.11.14更新)!

2008.11.14更新: 加入struts.i18n.reload和修改一天工作为8小时(不算加班,加班2小时一般不算工资),加入了对无法显示行号的传言的验证.我们知道开发Java EE Web应用最大的弊病当属Redeploy时候无奈的等待. 这是对成本的最大浪费. 假设一个公司有100名开发人员, 每人每小时需要reload应用10次(实际上可能不止十次), 每次耗费10秒, 而每个程序员每小时的薪酬是50元, 那么我们可以计算一下多出的时间:一小时...
JRebal(原名JavaRebel)破解小记

JRebal(原名JavaRebel)破解小记

JavaRebel是一个工具,主要是用于热加载,比如说在Tomcat之类的应用服务器中,更新了class或者某些资源文件,使用了JRebel之后,就不需要重新启动应用服务器。这对于开发的人来说,是特别方便的。当然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就无能为力了,必须要重要启动应用服务器。这里有一点先声明一下,本文只是破解仅限于学习和研究使用,勿用于其他用途。第一步当然是下载JRebel下载地址:ht...
Linux Shell 下的输出重定向

Linux Shell 下的输出重定向

Linux Shell 环境中支持输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表示将错误信息输出到文件a.txt中。同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得...
Linux下用内存管理器的钩子函数跟踪内存泄漏

Linux下用内存管理器的钩子函数跟踪内存泄漏

作者联系方式:李先静 <xianjimli at hotmail dot com> 作为Linux下的C程序员,我总是习惯在单元测试通过之后,再用valgrind把程序跑一下,看看有没有内存泄漏和内存越界等问题。可惜的是,有时valgrind并不能很好的工作,像基于DirectFB的多进程程序在valgrind下是跑不起的, 这时我们可以通过内存管理器的钩子函数来跟踪内存泄漏。glibc提供的内存管理器的钩子函数让你可以监控/改变内存管理函数的...
C++中友元的一些总结

C++中友元的一些总结

我不知道关于C++关键字friend的全部议题有多少,我只对我了解的做个小结。 1,friend申明一个友元 friend一般为一句申明式,它位于一个类的内部,它申明一个类或者一个函数为该类的友元。friend并不是定义一个成员函数,所以 friend放在public,protected或者private前都可以,完全是一样的。做为一个友元,即表示在该类或者该函数内部可以访问这个类的私有成员,你和朋友之间是不是应该没有什么隐藏的呢。例子: class...
Linux TCP协议的基础编程模型

Linux TCP协议的基础编程模型

一、TCP协议的基础编程模型TCP是面向连接的通信协议,采用客户机-服务器模式。套接字的全部工作流程如下所述:1.服务器启动进程,调用Socket创建一个基于TCP协议的流套接字描述符。2.其次,服务进程调用bind命名套接字,将套接字描述符绑定到本地地址和本地端口上,至此Socket的半相关描述---{协议,本地地址,本地端口}---完成。3.再次,服务器端调用listen,开始侦听客户端的Socket连接请求。4.接下来,客户端创建套接字描述符,并且调...
如何防止JAVA程序源代码被反编译

如何防止JAVA程序源代码被反编译

我们都知道JAVA是一种解析型语言,这就决定JAVA文件编译后不是机器码,而是一个字节码文件,也就是CLASS文件。而这样的文件是存在规律的,经过反编译工具是可以还原回来的。例如Decafe、FrontEnd,YingJAD和Jode等等软件。下面是《Nokia中Short数组转换算法》类中Main函数的ByteCode:0 ldc #16 2 invokestatic #18 5 astore_16 return其源代码是:short [] pixels...
<< 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 >>