`
educast
  • 浏览: 29495 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。 CString ::GetBuffer有两个重载版本: LPTSTR GetBuffer( );LPTSTR GetBuffer(int nMinBufferLength); 在第二个版本中,当设定的长度小于原字符串长度时,nMinBufLength = nOldLen,该参数会被忽 略,不分配内存,指向原CString;当设定的长度大于原字符串本身的长度时就要重新分配(reallocate)一块比较大的空间出来。而调 ...
构建 这里搜集了用来构建应用程序的工具。 Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。 Gradle:Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民。 字节码操作 编程操作Java字节码的函数库。 ASM:通用底层字节码操作及分析。 Javassist:尝试简化字节码编辑。 Byte Budd ...
在linux下查看进程大家都会想到用    ps    -ef|grep    XXX 可是看到的不是全路径,怎么看全路径呢? 每个进程启动之后在 /proc 下面有一个于 pid 对应的路径 例如:    ps    -ef|grep    python 显示:    oracle    4431    4366    0    18:56    pts/2    00:00:00    python    Server.py 4431 就是进程号 到 /proc/4431 下, ls    -l  会看到: 总用量    0 -r--r--r--1    oracleoinstall0   ...
计算机的使用者一直以为他们的计算机可以同时做很多事情。他们认为当其他的应用程序在下载文件,管理打印队列或者缓冲音频的时候他们可以继续在文字处理程序上工作。甚至对于单个应用程序,他们任然期待它能在在同一时间做很多事情。举个例子,一个流媒体播放程序必须能同时完成以下工作:从网络上读取数字音频,解压缩数字音频,管理播放和更新程序显示。甚至文字处理器也应该能在忙于重新格式化文本和刷新显示的情况下同时响应键盘和鼠标事件。这样的软件就被称为并发软件。 通过Java语言和Java类库对于基础并发的支持,Java平台具有完全(from the ground up )支持并发编程的能力。从JDK5.0起,Jav ...
概述:网络管理是基础运维中一个很重要的工作,在看似平静的网络运行中,其实暗流汹涌,要保证业务系统稳定运行,网络运维者必须要了解网络的流量状态、各个网段的使用情形,带宽的利用率、网络是否存在瓶颈等,同时,当网络发生故障时,必须能够及时发现问题,迅速定位问题,进而解决问题,这就需要一些网络监测工具的辅助,本节将介绍一款小巧但功能很强大的网络实时流量监测工具iftop。   一、iftop概述 iftop是Linux系统一个免费的网卡实时流量监控工具,类似于top命令。iftop可以监控指定网卡的实时流量、端口连接信息、反向解析IP等,还可以精确显示本机网络流量及网络内各主机和本机相互通信的流 ...
近日在基于Netty写异步HttpClient的时候,需要等http连接建立并通道打开后,才能使用该连接来发送数据,但是Netty中只能等待到连接建立就会返回一个用来收发数据的channel,如果channel并没有打开,用来发送数据时就会报错,因此 ...
Wait()和notify():如果条件不满足,则等待。当条件满足时,等待该条件的线程将被唤醒。一般用在synchronized机制中。 例如:线程A    synchronized(obj) {                while(!condition) {                          obj.wait();                  }                 obj.doSomething();   } 当线程A获得了obj锁后,发现条件condition不满足,无法继续下一处理,于是线程A就wait()。在另一线程B中,如果B ...
当synchronized使用过多时,可能会造成死锁,那么死锁到底是怎么一回事呢。先看下面的代码,实现死锁:  Java代码   //死锁的实现   class A  
这里记录一下我曾经使用过的几个端口转发工具,即端口映射、端口重定向,和 NAT 也是差不多的概念。 Linux 下用过 iptables,rinetd;Windows 下用过某个防火墙的 NAT 功能、RemoteAnywhere 的端口重定向、FPipe,还有最近刚找到的 PassPo ...
linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/rinetd/http/rinetd.tar.gz 解压安装tar zxvf rinetd.tar.gzmakemake install 编辑配置vi /etc/rinetd.conf0.0.0.0 8080 172.19.94.3 80800.0.0.0 2222 192.168.0.103 33891.2.3.4 80     192.168.0.10 80 说明一下(0.0.0.0 ...
以前面试有人问过我这个问题,今天在网上看到相关的文章,因为自己也不甚理解所以自我测试,也对网上一些测试结果发表一些看法!情况1:try{} catch(){} finally{} return; package com.lwf.eus.servlet; public class Test{       publi ...
run.sh 文件内容如下:   #!/bin/bash cd /home/lyh/CMCC echo "You Haved Started !" > log.txt   /etc/rc.d/rc.local 文件中添加如下内容:   bash /home/lyh/CMCC/run.sh    
我们怎样才能删除重复项从列表与guavaAPI的帮助? 目前,我下面这个: private List<T> removeDuplicate(List<T> list){ return new ArrayList<T>(new LinkedHashSet<T>(list)); } 本文地址 :CodeGo.net/499388/ --------------------------------------------------------------------------------------------------------- ...
SCAN cursor [MATCH pattern] [COUNT count] SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements): SCAN 命令用于迭代当前数据库中的数据库键。 SSCAN 命令用于迭代集合键中的元素。
使用StringBuffer类型的对象时,在使用完一次后,想再次使用时,要把它清空。 正确做法如下: StringBuffer sb = new StringBuffer()sb.append("aaaa");sb清空: sb.delete(0,sb.length()); 以下做法错误: StringBuffer sb = new StringBuffer()sb.append("aaaa");sb清空: sb = null;
Global site tag (gtag.js) - Google Analytics