Welcome 微信登录

首页 / 操作系统 / Linux

用Javap分析Java编译器对string常量表达式的处理和优化

用Javap分析Java编译器对string常量表达式的处理和优化

最近看了下一篇关于string优化的文章,借此分析下string 先看看作者的问题分析: 首先把问题摆出来,先看这个代码 String a = "ab"; String b = "a" + "b"; System.out.println((a == b)); 编辑推荐:JAVA实现FTP断点上传 http://www.linuxidc.com/Linux/2011-02/32254.htm打印结果会是什么?类似这样的问题,有人考过我,我也拿来考过别人(蛮...
Qt 4.x实现QMenu菜单向上弹出菜单方法

Qt 4.x实现QMenu菜单向上弹出菜单方法

比如我们要在点某个按钮后在按钮上方弹出菜单,该如何操作呢?我们知道,QMenu是一个很变态的东西,是一个Top-Level的构件,menu.exec(pos)这里的pos总是树于屏幕的。还有它的弹出方向总是向下的。可是我的地盘,就是要由我作主,我就是要在上方弹出,该如何实现呢?Google了一下,古今中外,无数人郁闷中,我也郁闷过了,最终还是搞出来了,与大家分享。请参考下面的代码。够简单,就不注释了。void Dialog::on_btnOperator_...
Android分析之LowMemoryKiller

Android分析之LowMemoryKiller

Linux操作系统的传统理念就是内存用的越多越好,尽可能拿来用,既然被尽量的使用,自然应该有清除机制。Android以Linux为基础,自然部分继承了这个特性。Android使用lowmemorykiller在达到某个内存门限的情况下去选择进程删除来释放内存。关键的配置文件有如下两个,/sys/module/lowmemorykiller/parameters/adj和/sys/module/lowmemorykiller/parameters/minfr...
Android low memory killer 详解

Android low memory killer 详解

Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .1,引入原因 Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内存肯定会出现不足,low memory killer就是在系...
将含有makefile文件的源码加入Eclipse工程

将含有makefile文件的源码加入Eclipse工程

很多软件在开发或者分析时需要一个像样的IDE,Eclipse是其中很优秀的一个,至少个人感觉很好用最近在分析一个源代码,需要把这个源码转换成Eclipse工程,经过Google搜索,步骤如下:1. 新建一个C++空工程,工程类型是makefile project,选择Linux GCC;2. 将源码连同makefile文件一同作为一个文件系统导入,File -> import -> General -> File System,选中要导入...
u-boot-2010.12移植到2440

u-boot-2010.12移植到2440

2010年初曾经将uboot 2009.11.1移植到我们自己做的一块2440单板上,该单板具有64M SDRAM 和64M nand FLASH,网卡为DM9000。最新版本的uboot源码有较大的变化,此次计划利用几天时间将最新版本的u-boot-2010.12移植到该单板 上,在此记录移植过程及遇到的问题以备忘并供朋友参考。移植的第一步当然是下载最新版本的uboot源码,下载地址如下:http://www.linuxidc.com/Linux/201...
Linux下使用diff和patch制作及打补丁

Linux下使用diff和patch制作及打补丁

在做开发的过程中难免需要给内核及下载的一些源码打补丁,所以我们先学习下Linux下使用如如何使用diff制作补丁以及如何使用patch打补丁。首先介绍一下diff和patch。1、diff--------------------NAME diff - find differences between two filesSYNOPSIS diff [options] from-file to-file--------------------简单的说,diff...
Linux内核编译图解

Linux内核编译图解

《Linux操作系统分析》第一个作业就是编译Linux内核,索性就做一个图文解析吧!编译用的环境是在VMware 7.0.0 build-203739下安装的Ubuntu 10.04 LTS版本,要安装的内核是Linux-2.6.26以防出现问题,先把虚拟机文件进行了备份。1.复制linux-2.6.26.tar.gz文件到usr/src2.在终端中进入usr/src 然后用tar命令解压压缩包3.为了方便,我们把文件名改为linux,将/usr/incl...
有关Java OutOfMemoryError

有关Java OutOfMemoryError

在开发的过程中,我们有时候会遇到java outofmemoy的错误发生,很多时候会让我们自己搞得也头雾水,完全不知如何下手,其实jdk本身就已经备有相应的工具给我们开发者使用来,也可以使用其他的第三方工具或插件来帮助我们解决问题。jdk带有的jconsole,可以用来观察jvm中各种性能指标参数。jdk5/jdk6中的jmap,是一个很好的用来heap dump机器的内存快照。加上参数:-XX:-HeapDumpOnOutOfMemoryError ,当...
Linux shell中数组的建立与使用

Linux shell中数组的建立与使用

Linux shell在编程方面比Windows 批处理强大太多,无论是在循环、运算。已经数据类型方面都是不能比较的。 下面是个人在使用时候,对它在数组方面一些操作进行的总结。 1.数组定义[www.linuxidc.com@linuxidc ~]$ a=(1 2 3 4 5)[www.linuxidc.com@linuxidc ~]$ echo $a1一对括号表示是数组,数组元素用“空格”符号分割开。2.数组读取与赋值得到长度: [www.linuxid...
<< 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 >>