`
lionlx
  • 浏览: 283079 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
现在两个文件格式如下: test1: aaa bbb ddd test2: aaa|1000 bbb|2000 ccc|3000 ddd|4000 awk -F'|' 'NR==FNR{a[$1]++}NR!=FNR{if($1 in a){print}}' test1.txt test2.txt
sed 's/^M//g' file_old > file_new 不成功,输出的文件,用vi打开,还是带^M。 后来到网上搜到了可以用的办法,用tr命令: tr -d "\015" < myfile.txt > myfile_new.txt 可以把符号^M(即"\015")去掉,并另存为新文件myfile_new.txt
格式: ./ab [options] [http://]hostname[:port]/path 参数: -n requests Number of requests to perform //在测试会话中所执行的请求个数。默认时,仅执行一个请求 -c concurrency Number of multiple requests to make //一次产生的请求个数。默认是一次一个。 -t timelimit Seconds to max. wait for responses //测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时 ...
事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。        针对上面的描述可以看出,事务的提出主要是为了解决并发情况下保持数据一致性的问题。        事务具有以下4个基本特征。 ●   Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。 ●   ...
wget "http://127.0.0.1:8987/admin/a.do" -O a.log curl http://127.0.0.1:8987/admin/a.do -o a.log 当用wget和curl读取流,再将该流写入文件中的时候,当该应用关闭时(重启等)造成http://127.0.0.1:8987/admin/a.do无法访问,wget会先清空a.log,curl则不会。 当用wget执行定时更新碎片时,会导致碎片被清空。 curl则不会。
ReentrantLock.lockInterruptibly允许在等待时由其它线程调用等待线程的Thread.interrupt方法来中断等待线程的等待而直接返回,这时不用获取锁,而会抛出一个InterruptedException。而ReentrantLock.lock方法不允许Thread.interrupt中断,即使检测到Thread.isInterrupted,一样会继续尝试获取锁,失败则继续休眠。只是在最后获取锁成功后再把当前线程置为interrupted状态。 那lockInterruptibly是如何做到这一点的? public void lockInterruptib ...
synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候。 1.某个线程在等待一个锁的控制权的这段时间需要中断 2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程 3.具有公平锁功能,每个到来的线程都将排队等候 下面细细道来…… 先说第一种情况,ReentrantLock的lock机制有2种,忽略中断锁和响应中断锁,这给我们带来了很大的灵活性。比如:如果A、B2个线程去竞争锁,A线程得到了 ...
前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的OOM了!问题虽然蹊跷,但也趁此机会再次对JVM堆模型、GC垃圾算法等进行了一次系统梳理; 基本概念 堆/Heap JVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Windows下为2G,而Linux 下为3G;64Bit的就没有这个限制。 JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。 JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G ...
HttpAnalyzerStdV2(http 抓包工具)下载
已awk中执行wget函数为例 当需要动态读取文本中的数据(多域),每个域中的数据作为wget访问的参 #!/bin/bash today=$(date --date="1   day   ago" +%Y%m%d) host="192.168.105.100"; mysql -h 192.168.105.100 -u root --password=root club -e "set names gbk;select id,count(1) from post where date(time)='$today' and floor='0 ...
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。     df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。     du可以查看文件及文件夹的大小。     两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。     下面分别简要介绍     df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子: 以下是代码片段: [yayug@yayu ~]$ df -h Filesystem            Size  Used Avail Us ...
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法, 冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 冒泡法:  这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:  复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。 直接插入排序:O(n*n) 选择排序:O(n*n) 快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好的,大多数情况下总是最好的。 归并排序:log2(n)*n 堆排序:log2(n)*n 希尔排序:算法的复杂度为n的1.2次幂 这里我没有给出行为的分析,因为这个很简单,我们 ...
我们在编写shell脚本的时候,经常会遇到在脚本中使用awk或sed去调用shell环境中的变量的时候,下面我简单的说一下调用的方法. sed一般使用单引号,sed引用shell变量时使用双引号即可,双引号是弱转义,不会去除$的变量表示功能,而单引号为强转义,会把$作为一般符号表示,不会表示为变量. awk在调用shell变量时,需要使用参数-v,举例说明: awk -v a=$second -v b=$count '$2==a{sum = $1};END {print sum/b}' filename 其中$second、和$count为shell中变量,可以看出,每调用一次变量都要加一个-v ...
jconsole服务器端 修改resin的初始化文件resin-conf在JVM arguments里面加上 如果是没有设置验证的则加上 <jvm-arg>-Dcom.sun.management.jmxremote.port=12345</jvm-arg> <jvm-arg>-Dcom.sun.management.jmxremote.ssl=false</jvm-arg> <jvm-arg>-Dcom.sun.management.jmxremote.password=false</jvm-arg> <jvm-a ...
Java中使用的路径,分为两种:绝对路径和相对路径。归根结底,Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法,都不过是一些便利方法。不过是API在底层帮助我们构建了绝对路径,从而找到资源的! 在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径。 如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletContext, 然后通过ServletContext.getRealPath("/")来获取当前应用在服务器上的物理地 ...
Global site tag (gtag.js) - Google Analytics