- 【Linux函数】命令行参数解析函数
April.19th
嵌入式Linuxc语言linux
文章目录前言版本迭代参考文档命令行参数getopt()getopt_long()getopt_long_only()总结前言每个开源代码的main函数中都有一个命令行参数解析函数,今天特意参考各种博客资料总结一下。版本迭代时间版本版本更新2024.8.26V1.0初始版本参考文档1.https://blog.csdn.net/qq_41816308/article/details/13289963
- shell_80.Linux函数的递归
微辣已是极限
linux运维服务器
函数递归局部函数变量的一个特性是自成体系(self-containment)。除了获取函数参数,自成体系的函数不需要使用任何外部资源。递归算法的经典例子是计算阶乘。一个数的阶乘是该数之前的所有数乘以该数的值。因此要计算5的阶乘,可以执行下列算式:5!=1*2*3*4*5=120 使用递归,这一算法可以简化为以下形式:x!=x*(x-1)! 也就是说,x的阶乘等于x乘以x-1的阶乘。这可以用简单的递
- linux函数库之times
努力努力再努力~~
杂项timeslinuxsysconf
函数名:times头文件:#include函数声明:clock_ttimes(structtms*buf);参数介绍:man帮助查看:man2times/*StructuredescribingCPUtimeusedbyaprocessanditschildren.*/structtms{clock_ttms_utime;/*UserCPUtime.用户程序CPU时间*/clock_ttms_st
- linux调用堆栈函数,使用 backtrace 获得 Linux 函数调用栈
少政
linux调用堆栈函数
一、源码使用backtrace获得Linux函数调用栈源码来自:manbacktrace#include#include#include#includevoidmyfunc3(void){intj,nptrs;#defineSIZE100void*buffer[100];char**strings;nptrs=backtrace(buffer,SIZE);printf("backtrace()re
- 23中科大软院linux期末复习及试题
Flyy.
linux操作系统
2020期末试题堆栈调度相关的题,给一个程序,然后写堆栈的变化(esp,ebp),eax寄存器变化。给出了linux内核的进程切换代码switch_to()相关的代码。阅读源码进行判断。是否会发生连续pop和push切换。简述linux函数调用与系统调用的异同。以x86-64体系,简述linux系统从进程x切换到进程y的一般过程linux终端处理的流程(写出主要数据结构)inux字符设备驱动程序的
- uboot和系统移植----------6、启动内核
想文艺一点的程序员
#2.ubootkernelrootfs移植嵌入式linux
启动内核一、uboot和内核到底是什么5、内核启动需要必要的启动参数二、uboot启动内核第一步:加载内核到DDR中(重定位)1、静态内核镜像在哪里?2、镜像要放在DDR的什么地址?第二步:校验内核格式1、vmlinuz和zimage和uimage2、zimage启动细节(1)image_header_t3、uimage启动细节第三步:内核传参1、do_bootm_linux函数2、uboot给l
- Uboot和系统移植(8)------- uboot如何启动内核
big__C
Uboot和系统移植linux嵌入式uboot内核传参
目录一,uboot和内核到底是什么二,启动内核步骤1.启动内核第一步:加载内核到DDR中2.启动内核第二步:校验内核格式zImage启动uImage启动3.启动内核第三步:内核传参do_bootm_linux函数三,uboot启动内核的总结一,uboot和内核到底是什么1、uboot本质是一个裸机程序(1)uboot的本质就是一个复杂点的裸机程序。和我们在ARM裸机全集中学习的每一个裸机程序并没有
- bootz启动 Linux内核涉及do_bootm_linux 函数
凌肖战
uboot系统移植篇linuxarm开发
一.bootz启动Linuxuboot启动Linux内核使用bootz命令。当然还有其它的启动命令,例如,bootm命令等等。本文只分析bootz命令启动Linux内核的过程中涉及的几个重要函数。具体分析do_bootm_linux函数执行过程。本文继上一篇文章,地址如下:bootz启动Linux内核涉及bootm_os_get_boot_func函数-CSDN博客二.bootz启动Linux内核
- linux函数学习 标准io/文件o
荔枝粒
linux学习c语言
标准io篇1.fopen文件打开函数原形#includeFILE*fopen(constchar*path,constchar*mode);//constchar*保护实参不被修改参数path文件名(包含路径:绝对路径或者相对路径)mode文件打开的方式r以只读方式打开文件必须已存在r+以读写方式打开文件必须已存在w以只写方式打开如果不存在则创建并打开存在则清空并打开w+以读写方式打开如果不存在则
- boot_jump_linux函数,uboot 启动过程中各函数功能详细分析
温情主义者
uboot启动过程中各函数功能详细分析本文主要分析流程中,各函数的功能。按启动顺序罗列一下启动函数执行细节。我们首先从函数start_armboot流程进行分析:1)DECLARE_GLOBAL_DATA_PTR;这个宏在include/global_data.h中#defineDECLARE_GLOBAL_DATA_PTRregistervolatilegd_t*gdasm("r8")/*声明一
- Docker
Java小白,一起学习
clouddocker容器运维
1.初识docker1.1.什么是docker操作系统:操作系统里面封装这各种函数集,函数集操控指令集,(同一个操作系统函数集一样,同一个内核指令集一样),函数集调用指令集完成任务。而docker,可以将应用、依赖、函数库、配置一起打包,形成可移植镜像,内核相同的操作系统都可以使用,比如说ubuntu和CentOS使用的都是linux内核,所以docker是linux函数库的在Ubuntu和Cen
- Linux 函数调用过程解析
MessiGo
Linux汇编编程c语言c++算法
一、Linux函数调用过程解析在x86的计算机系统中,内存空间中的栈主要用于保存函数的参数,返回值,返回地址,本地变量等。一切的函数调用都要将不同的数据、地址压入或者弹出栈。因此,为了更好地理解函数的调用,需要先来看看栈是怎么工作的。1、什么是栈帧?栈帧,也就是stackframe,其本质就是一种栈,只是这种栈专门用于保存函数调用过程中的各种信息(参数,返回地址,本地变量等)。栈帧有栈顶和栈底之分
- linux系统中函数库,Linux函数库(静态函数库和动态函数库)及安装过程
素寰韶
linux系统中函数库
Linux系统中存在大量的函数库。简单来讲,函数库就是一些函数的集合,每个函数都具有独立的功能且能被外界调用。我们在编写代码时,有些功能根本不需要自己实现,直接调用函数库中的函数即可。需要注意的是,函数库中的函数并不是以源代码的形式存在的,而是经过编译后生成的二进制文件,这些文件无法独立运行,只有链接到我们编写的程序中才可以运行。Linux系统中的函数库分为2种,分别是静态函数库(简称静态库)和动
- Linux函数sighold例子,[转载]linux信号屏蔽字
骚话火腿肠
1.概念:信号屏蔽字就是进程中被阻塞的信号集,这些信号不能发送给该进程,它们在该进程中被"屏蔽"了.后面我们会提到,实际上它们是被阻塞了.2.信号屏蔽函数:#includeintsigprocmask(inthow,constsigset_t*restrictset,sigset_t*restrictoset);成功则返回0,出错则返回-1.sigprocmask函数有3个参数:how:修改信号屏
- Linux函数学习:setsockopt、getsockopt和getsockname函数。
c
简介:setsockopt、getsockopt这两个函数获取套接字一些有关选项和设置套接字有关的套接字。getsockname是通过套接字获取套接字有关的一些信息,例如端口、协议等。1:intsetsockopt(intsockfd,intlevel,intoptname,constvoid*optval,socklen_toptlen);sock:将要被设置或者获取选项的套接字。level:选
- Linux函数学习:setsockopt、getsockopt和getsockname函数。
c
简介:setsockopt、getsockopt这两个函数获取套接字一些有关选项和设置套接字有关的套接字。getsockname是通过套接字获取套接字有关的一些信息,例如端口、协议等。1:intsetsockopt(intsockfd,intlevel,intoptname,constvoid*optval,socklen_toptlen);sock:将要被设置或者获取选项的套接字。level:选
- Linux函数学习:getopt、getopt_long、getopt_long_only。
c
简介:这几个函数是对类似于main函数那样传进来的参数进行解析。参数的指定由-keyvalue-key--keyvalue--key-keyvalue1value2这几种类型,其中getopt可以解决前两种类型,getopt_long能够解决所有类型的参数解析,getopt_long_only类似于getopt_long,可以处理所有选项。具体细节再后面的部分进行介绍。首先介绍getopt选项,他
- Linux函数学习:getopt、getopt_long、getopt_long_only。
c
简介:这几个函数是对类似于main函数那样传进来的参数进行解析。参数的指定由-keyvalue-key--keyvalue--key-keyvalue1value2这几种类型,其中getopt可以解决前两种类型,getopt_long能够解决所有类型的参数解析,getopt_long_only类似于getopt_long,可以处理所有选项。具体细节再后面的部分进行介绍。首先介绍getopt选项,他
- 研究linux函数 之 fork()
着急的羊
linuxlinux操作系统多线程
研究linux函数之fork前言一、储备知识:进程二、fork函数三、进程创建和死亡总结前言fork,在英语用译为叉子,形状像Y,这实在很形象。本来运行的一个app,调用fork()函数后就产生了子进程,而原来的进程称为父进程。一、储备知识:进程进程可以看做程序的一次执行过程,在linux下每个进程有唯一的PID来标识进程。特殊进程:ID为0的是调度进程,该进程是内核的一部分,不执行任何磁盘上的程
- 【Linux应用编程】Linux编程中常见错误码含义及查询方式
Acuity.
Linux应用编程
文章目录1前言2错误码查询3错误码翻译表1前言 linux应用程序开发过程中,经常会遇到一些错误信息的返回,存在的可能性有,参数有误、非法访问、系统资源限制、设备/文件不存在、访问权限限制等等。对于这类错误,可以通过perror函数输出具体描述,或者通过strerror函数,将错误码转换为具体描述字符。linux函数调用失败时,错误码存放于一个全局变量errno中。直接输出错误描述#includ
- uboot启动参数传递和内核调用
求知_swat
linux内核开发基础
一、启动参数传递过程U-Boot使用命令bootm来启动已经加载到内存中的内核。而bootm命令实际上调用的是do_bootm函数。以bootm命令启动内核为例,bootm命令实际上调用的是do_bootm_linux函数:内核调用函数:theKernel(0,bd->bi_arch_number,bd->bi_boot_params);thekernel其实不是个函数,而是指向内核入口地址的指针
- exit 和_exit 的区别
黑企鹅
Linux
exit和_exit作为系统调用而言,_exit和exit是一对孪生兄弟。这时随便一个懂得C语言并且头脑清醒的人都会说,_exit和exit没有任何区别,但我们还要讲一下这两者之间的区别,这种区别主要体现在它们在函数库中的定义。_exit在Linux函数库中的原型是:#includevoid_exit(intstatus);exit比较一下,exit()函数定义在stdlib.h中,而_exit(
- 读书笔记:《Unix网络编程(第2版)》卷2:进程间通信
Azure_Chien
进程间通信unix网络编程
这是《UNIX网络编程卷2:进程间通信》(W.RichardStevens)的读书笔记以及批注。参考资料Linux函数速查手册书籍源代码下载Linuxmanpagesonline第二部分消息传递第4章管道和FIFO4.3管道Page.33pipe函数返回两个文件描述符,前者用于读管道,后者用于写管道这意味着,可以使用write、read、open来像操作文件一样读写管道。父进程创建一个管道,然后f
- 我的那些shellscripts, bash扩展函数
小苏梅
bashshell-script
作为一个开发者,近期在公司里搞运维,可能是开发语言用多了,用起bash来,还是喜欢造函数使用,做个分享分享……自定义Linux函数集合#functionreturnvalueifsuccessexportRAY_RET_SUCCESS=0#functionreturnvalueiffailedexportRAY_RET_FAILED=1#判断空字符串functionIsEmpty(){if[-z"
- 我的那些shellscripts, bash扩展函数
小苏梅
bashshell-script
作为一个开发者,近期在公司里搞运维,可能是开发语言用多了,用起bash来,还是喜欢造函数使用,做个分享分享……自定义Linux函数集合#functionreturnvalueifsuccessexportRAY_RET_SUCCESS=0#functionreturnvalueiffailedexportRAY_RET_FAILED=1#判断空字符串functionIsEmpty(){if[-z"
- Linux函数-inet_aton / inet_ntoa
danylin
TCP/IP网络编程linux学习
将字符串IP地址与32位的网络序列IP地址进行相互转换。inet_aton头文件:#include#include#include完整描述:intinet_aton(constchar*string,structin_addr*addr);参数描述:1输入参数string包含ASCII表示的IP地址。2输出参数addr是将要用新的IP地址更新的结构。返回值:如果这个函数成功,函数的返回值非零。如果
- android-linux系统调用原理之整体系统框架实现原理之OPEN实现
来自大山的孩子
LINUX内核Android综合
android-linux系统调用原理之整体系统框架实现原理之OPEN实现.docx【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】对于安桌系统来说系统调用就是指:Andriod层调用Linux函数。由于安桌层在文件系统层,而LINUX层在内核层,两者是在不同的地址空间的。内核空
- 根据《IEEE Std 1003.1-2008》生成VIM使用的TAGS文件的过程
mymtom
html2textPOSIXposixsusv4tagsvimVIMVim
由于工作原因在Linux使用vim,tags必不可少,如何制作Linux函数的tags呢?现在Linix和各种Unix都兼容Posix,根据Posix接口制作tags文件可以用于Linix和各种Unix。下面简要根据《TheOpenGroupBaseSpecificationsIssue7》也就是《IEEEStd1003.1-2008》制作Posix函数的tags的过程。1.这个过程需要一个文档转
- Linux函数库及安装过程(转)
DangerGuy
系统静态库动态库
Linux库函数链接方式分为两种:静态链接、动态链接。静态链接由链接器在链接时将库的内容加入到可执行程序中。优点:•对运行环境的依赖性较小,具有较好的兼容性。•程序在运行的时候不需要库的支持。缺点:•生成的程序比较大,需要更多的系统资源,在装入内存时会消耗更多的时间。•库函数有了更新,必须重新编译应用程序。动态链接链接器在链接时仅仅建立与所需库函数之间的链接关系,在程序运行时才将所需资源调入可执行
- uboot移植之do_bootm函数和do_bootm_linux函数解析
weixin_34245749
操作系统
一:do_bootm函数(1)内核启动的时候通过bootm30008000来启动内核,bootm这个命令对应的函数就是do_bootm。(2)#define LINUX_ZIMAGE_MAGIC 0x016f2818LINUX_ZIMAGE_MAGIC是一个魔数,其值等于0x016f2818。在zImage的头信息中,有特定的位存放了一个魔数,这个魔数就是用来表示该镜像是zImage,在启动
- [黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
- jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
- 使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
- jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
- Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
- 在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
- spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
- mongoDB 入门指南、示例
adminjun
javamongodb操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
- CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
- Essential Studio for WinRT网格控件测评
Axiba
JavaScripthtml5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
- java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
- NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis数据库NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
- 异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
- 【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
- Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
- Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
- 读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
- Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
- [原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法工作PHP搜索引擎嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
- Linux中用shell获取昨天、明天或多天前的日期
daizj
linuxshell上几年昨天获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
- 我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
- YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
- 设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
- 【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
- Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
- Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
- Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
- 独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
- JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f