編輯/etc/sysconfig/network-scripts/ifcfg-eth0(不同的網卡為ifcfg-eth?)
a)靜態IP
DEVICE=eth0
HWADDR=00:0C:29:F3:13:87
TYPE=Ethernet
UUID=24b0bad9-c606-4498-a03a-65afa7d5ce63
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.150
NETMASK=255.255.255.0
NETWORK=192.168.1.150
GATEWAY=192.168.1.1
DNS=xxx.xxx.xxx.xxx
b)動態IP
DEVICE=eth0
HWADDR=00:0C:29:F3:13:87
TYPE=Ethernet
UUID=24b0bad9-c606-4498-a03a-65afa7d5ce63
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dbcp
2)重啟IP服務
service network restart
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
查看服務狀態
sudo launchctl list | grep ssh
Install Code:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝完成后查看安裝版本信息,如:
出現上面信息表上安裝成功了。
#nginx安裝
sudo brew install nginx
#nginx卸載
sudo brew uninstall nginx
#查詢nginx
sudo brew search nginx
nginx相關命令
#查看版本及配置地址
nginx -V
#查看版本
nginx -v
#指定配置文件
nginx -c filename
#幫助
nginx -h
#重新加載配置 | 重啟 | 停止 | 退出 nginx
nginx -s reload | reopen | stop | quit
#啟動nginx
sudo nginx
#創建代碼倉庫
svnadmin create /Users/yangbo/SVN/mycode
#配置訪問權限
修改mycode/conf/svnserve.conf文件,將下列配置前#和空格去掉
password-db = passwd
authz-db = authz
#配置用戶密碼
修改mycode/conf/passwd文件,在[users]下添加一行,如下:
yangbo=xxx
#配置用戶組及權限
修改mycode/conf/authz文件
[groups]下面添加組名和用戶名,多個用戶之間用逗號隔開,如:
group1=zs,ls
[/]表示SVN服務器中的所有資源
配置資源能被哪些組或者用戶訪問(組前添加@,用戶不用)如:
[/project/p1]
@group1 = rw
yangbo = rw
#啟動SVN服務
svnserve -d -r /Users/yangbo/SVN/mycode
SVN客戶端使用
#從本地導入代碼到服務器
svn import /Users/yangbo/project/p1 svn://localhost/mycode/project --username=zs --password=xx -m "初始化"
#從服務器端下載代碼到本地
svn checkout svn://localhost/mycode/project --username=zs --password=xx .
#提交代碼
先進入到代碼的目錄,然后使用svn commit -m "修改xxx"命令即可。
#更新代碼
同提交代碼一樣,進入到代碼目錄,使用svn update命令即可。<appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logPath}/logFileName.log</file>
<rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logPath}/logFileName.%d{yyyy-MM-dd}-%i.log</fileNamePattern>
<maxHistory>12</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder charset="utf-8">
<pattern>[projectName]%d{HH:mm:ss.SSS}[%thread][%-5level][%logger{150}]-%msg%n</pattern>
</encoder>
</appender>
配置說明:
<file>:日志文件的名稱,包括全路徑。
<fileNamePattern>:日志文件每天文件名稱格式。
<maxHistory>:保留多長時間日志,單位為:月。
<maxFileSize>:每個日志文件的大小。
<pattern>:日志記錄格式。
1)AtomicInteger
使用原子方式更新int值
2)創建線程池
a)創建固定大小的線程池
ExecutorService threadPool = Executors.newFixedThreadPool(10);//創建一個有10個線程的線程池
b)創建緩存線程池
Executors.newCachedThreadPool();
創建一個可根據需要創建新線程的線程池,可自動調整線程的多少
c)創建單線程的線程池
Executors.newSingleThreadExecutor();
該線程池里面只有一個線程,如果死掉了也可以自動再創建一個,保證永遠有一個
d)創建一個線程池,它可安排在給定延遲后運行命令或者定期地執行
ScheduledExecutorService threadPool = Executors.newScheduledThreadPool(3);
threadPool.schedule(Runnable command,long delay,TimeUnit unit)
創建并執行在給定延遲后啟用的一次性操作
threadPool.scheduleAtFixedRate(Runnable command,long initialDelay,long period,TimeUnit unit)
創建并執行一個在給定初始延遲后首次啟用的定期操作,后續操作具有給定的周期.
也就是將在initialDelay后開始執行,然后在initialDelay+period后執行,接著在initialDelay + 2 * period后執行,依此類推
不管哪種創建方式其實都是由ThreadPoolExecutor類來實現的
3)Callable&Future
a)Future取得的結果類型和Callable返回的結果類型必須一致,這是通過泛型來實現的。
b)Callable要采用ExecutorSevice的submit方法提交,返回的future對象可以取消任務。
c)CompletionService用于提交一組Callable任務,其take方法返回已完成的一個Callable任務對應的Future對象。
4)Lock&Condition
Lock ---> synchronized
Lock lock = new ReentrantLock();
ReadWriteLock rwlock = new ReentrantReadWriteLock();
private Condition condition = lock.newCondition();
condition.await(); ---> wait()
condition.signal(); ---> notify()
5)Semaphore
final Semaphore semaphore = new Semaphore(3);
6)CyclicBarrier
7)CountDownLatch
8)Exchanger
9)ArrayBlockingQueue(阻塞隊列)
10)ConcurrentHashMap
CopyOnWriteArrayList
CopyOnWriteArraySet
1.修改每臺服務器config/server.properties
broker.id:唯一,填數字
host.name:填寫服務器IP
zookeeper.connect=192.168.1.100:2181,192.168.1.101:2181,192.168.1.103:2181
2.啟動
先啟動zookeeper服務
bin/zkServer.sh start
再在每臺機器上執行Kafka服務
bin/kafka-server-start.sh config/server.properties
3.創建topic
bin/kafka-topics.sh —create —zookeeper localhost:2181 —replication-factor 3 —partitions 1 —topic demo_1
4.查看topic
bin/kafka-topics.sh —list —zookeeper localhost:2181
5.查看詳細信息
bin/kafka-topics.sh —describe —zookeeper 192.168.1.100:2181
6.發送消息
bin/kafka-console-producer.sh —broker-list 192.168.1.100:9092 —topic demo_1
7.接收消息
bin/kafka-console-consumer.sh —zookeeper 192.168.1.100:2181 —topic demo_1 —from-beginning
Hibernate Validator
http://docs.jboss.org/hibernate/validator/4.2/reference/zh-CN/html_single/