- 浏览: 80347 次
- 性别:
- 来自: 杭州
最新评论
文章列表
#!/bin/bash
cd `dirname $0`
BIN_DIR=`pwd`
#echo $BIN_DIR
cd ..
DEPLOY_DIR=`pwd`
CONF_DIR=$DEPLOY_DIR/conf
SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf.properties | tr -d
if [ -z "$SERVER_NAME" ]; then
SERVER_NAME=`hostname`
fi
在命令行状态下单纯执行 $ cd `dirname $0 ...
1、Semaphore
信号灯。。。。通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
public class SemaphoreTest {
public static void main(String[] args) {
ExecutorService thre ...
现在服务器端的应用程序几乎都采用了“线程池”技术,这主要是为了提高系统效率。因为如果服务器对应每一个请求就创建一个线程的话,在很短的一段时间内就会产生很多创建和销毁线程动作,导致服务器在创建和销毁线程上花费的时间和消耗的系统资源要比花在处理实际的用户请求的时间和资源更多;线程池就是为了尽量减少这种情况的发生。
下面我们来看看怎么用Java实现一个线程池。一个比较简单的线程池至少应包含线程池管理器、工作线程、任务队列、任务接口等部分。其中线程池管理器(ThreadPool Manager)的作用是创建、销毁并管理线程池,将工作线程放入线程池中;工作线程是一个可以循环执行任务的线程,在没有任 ...
sleep和wait都是使线程暂时停止执行的方法
,但它们有很大的不同,sleep是线程类Thread 的方法,
它是使当前线程暂时睡眠,可以放在任何位置。
而wait是Object类的方法,它是使当前线程暂时放弃对象的使用权进行等待,
必须放在同步方法或同步块里。
Sleep使用的时候,线程并不会放弃对象的使用权,即不会释放对象锁,所以在同步方法或同步块中使用sleep,一个线程访问时,其他的线程也是无法访问的。
而wait是会释放对象锁的,就是当前线程放弃对象的使用权,让其他的线程可以访问。
线程执行wait方法时,需要另一个线程调用notify进行唤醒。
而sleep只是暂时休眠一定时间, ...
1、查看系统分区
df 【-h】
2、查看文件、目录大小
du 【-h】 文件
du 【-sh】 目录
scp zookeeper-3.4.5.tar.gz jdd@10.1.18.160:/home/jdd/file
1、pkill
pkill httpd #关闭所有httpd进程
2、pgrep
pgrep httpd #查询所有httpd进程
3、优先级
nice --5 /etc/rc.d/init.d/httpd start #修改httpd的启动优先级为5
renice -6 pid #修改进程为pid的优先级为-6
4、nohup
使用户在退出登录以后还会继续执行
nohup find / -name init* > /home/wyq/find.out.201401031 & #&表示后台执行
5、计划任务
atd sta ...
zookeeper伪集群
- 博客分类:
- zookeeper
1、zookeeper单节点安装
sudo cp zoo_sample.cfg zoo.cfg
cd ../bin
./zkServer.sh start
2、zookeeper伪集群
“伪分布式集群” 就是在在一台PC中启动多个ZooKeeper的实例。
“完全分布式集群” 是每台PC,启动一个ZooKeeper实例。
测试环境目录结构
zk1、zk2、zk3目录内容如下
#新建myid文件
echo "1" > /usr/local/zookeeper/zk1/myid
echo "2" > /usr/loca ...
1、添加组
groupadd webadmin #自动生成组号
或groupadd -g 888 webadmin #生成组号为888的组
2、添加用户
useradd username
useradd -D #显示默认添加用户以后的基本信息
添加用户的参数
-M<不创建家目录>
-e<有效期限>
sudo useradd -g webadmin -c "jack son" -m -s /bin/bash jack
sudo passwd jack
3、删除用户
userdel
-r 连家目录一起删除
...
Linux基本命令-文件处理2
- 博客分类:
- linux命令
1、gzip
只能压缩文件
不保留源文件
压缩
gzip newfile1
gunzip newfile1.gz 或者 gzip -d newfile1.gz
2、tar
把一个目录打包成一个文件,压缩后的格式.tar.gz
sudo tar -zcvf newdir1.tar.gz newdir1 打包并压缩
或者分2步
sudo tar -cvf newdir1.tar newdir1
sudo gzip newdir1.tar
tar -zxvf newdir1.tar.gz -C /home/wyq/ 解压到指定目录
3、zip
默认linux、win通用格式
可以压缩 ...
Linux基本命令-文件处理1
- 博客分类:
- linux命令
只有root可以执行的目录
sbin、/usr/sbin
所有用户都可以执行的目录
bin、/usr/bin
usr-user
bin-binary
sbin-super binary
一、文件处理命令
1、ls
-a all所有文件包括隐藏文件
-l long长格式
-d 查看目录属性
ls -l /
a、drwxr-xr-x
第一个字符表示文件类型
常见的三种类型 d 目录directory
- 二进制文件
l 软链接文件link
后面的9位字母每三位代表一个属性
r-read读、 w-write写、 ...
1、下载
查看版本http://download.redis.io/releases/
wget http://download.redis.io/releases/redis-2.8.9.tar.gz
$ sudo tar xzf redis-2.8.9.tar.gz -C /usr/local
$ sudo mv redis-2.8.9 redis
make失败,是系统中还未安装gcc,那么需要安装gcc
sudo apt-get install gcc libc6-dev build-essential
cd /usr/local/redis
sudo ma ...
绕过编译器加入其他类型
import java.util.ArrayList;
import java.util.List;
public class FxTest1 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
//list.add("a");
try {
list.getClass().getMethod("add", ...
Hash内存溢出问题
- 博客分类:
- java基础
public class Student {
public Student(int id, String name) {
this.id = id;
this.name = name;
}
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
} ...
JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台。所有的Java程序都要在JRE下才能运行。JDK的工具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。
JVM(JavaVirtualMachine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是 ...
============================================查询命令==============
1、which
查找可执行命令的路径
which ls
which pwd
2、whereis
查找二进制文件、可执行命令的帮助文档等
whereis -m ls
whereis mkdir
3、locate
基于系统数据库查找 man locate
但是新建的文件不会再数据库里面,需要手动更新数据库
sudo updatedb
4、find基于磁盘查找
find 路径 内容
*匹配任意字符
?匹配单个字符
-name 文件名
find ./ -name ' ...