归档之于 ‘ 2013 年1月

找不到/etc/sysconfig/iptables,iptables不存在?iptables文件没有?

在安装CentOS操作系统时,若在进行首次配置系统时没有开启防火墙(iptables)服务,则系统不会自动生成iptables的配置文件。
先启动防火墙
service iptables restart
然后生成iptables配置文件
service iptables save

这样iptables配置文件就自动生成了

linux ssh 修改默认端口

首先修改配置文件
vi /etc/ssh/sshd_config
找到#Port 22,修改为
Port 22
Port 50000
然后保存退出
执行/etc/init.d/sshd restart
这样SSH端口将同时工作与22和50000上。

再编辑防火墙配置(如果iptables文件不存在请看这里)
vi /etc/sysconfig/iptables
添加一条
-A INPUT -p tcp -m state –state NEW -m tcp –dport 50000 -j ACCEPT
执行/etc/init.d/iptables restart
现在连接50000端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。

intellij idea 常用快捷键mac版

command + N  查找类

command + shift + N 查找文件

alt + enter 快速import class

alt + command 格式化代码

shift + control + f 搜索全部文件

shift + command + u 大小写转换

command + alt + t
用*来围绕选中的代码行( * 包括if、while、try catch等)这个功能也很方便,把我以前要做的:①先写if-else,②然后调整代码的缩进格式,还要注意括号是否匹配了,现在用这个功能来做,省事多了(不过让我变得越来越懒了)

F2/Shift + F2
跳转到下/上一个错误语句处IDEA提供了一个在错误语句之间方便的跳转的功能,你使用这个快捷键可以快捷在出错的语句之间进行跳转。

command + Alt + O
优化import自动去除无用的import语句,蛮不错的一个功能。

command + ]/[
跳转到代码块结束/开始处,这个功能vi也有,也是很常用的一个代码编辑功能了。

command + E
可以显示最近编辑的文件列表

command + Shift +Backspace
可以跳转到上次编辑的地方

command + F12
可以显示当前文件的结构

command + F7
可以查询当前元素在当前文件中的引用,然后按F3可以选择

command+Alt+V
可以引入变量。例如把括号内的SQL赋成一个变量

command+Shift+F7
可以显示当前元素在文件中的使用

alt + F7
查找方法被调用的地方

mysql乱码问题 配置mysql utf-8编码

在编译安装mysql 时可能会忘记配置mysql 编码为utf-8,下面的例子mysql版本为mysql-5.5.29

修改my.cnf

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

阅读全文

linux 安装 python Django mysql-python

安装python

下载python

http://www.python.org/

./configure –prefix=/home/admin/python

指定安装目录

安装django

https://www.djangoproject.com/download/

 

下载后解压进入目录

python setup.py install

安装mysql-python

你需要gcc,setuptools,mysql,zlib

详情可见readme

http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/

阅读全文

volatile 使用场景

什么是volatile变量

java语言提供了一种削弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile类型的变量时总会返回最新写入的值。

另外,在旧的内存模型,volatile变量不能被重排序,但它们可能会受到非volatile变量重排序的影响。这破坏了volatile字段做为一个线程到另一个线程的信号条件的有效性。在新的内存模型中volatile变量一样不能被重排序,但将不会受到非volatile变量的影响。

 

为什么要使用volatile

volatile变量修饰符如果使用恰当的话,它比synchronized的使用和执行成本会更低,因为它不会引起线程上下文的切换和调度。

 

应用volatile变量的三个原则

(1)写入变量不依赖此变量的值,或者只有一个线程修改此变量

(2)变量的状态不需要与其它变量共同参与不变约束

(3)访问变量不需要加锁

 

例1


	volatile boolean shutdown;

	public void shutdown() {
		shutdown = true;
	}

	public void dowork() {
		while (!shutdown) {
			// do something
		}
	}

这是一个适用的场景。

 

例2


	public static int race = 0;

	public static void increase() {
		race++;
	}

	public static int getRace() {
		return race;
	}

这是一个不能用volatile关键字的例子

简单的说

加锁机制既可以确保可见性又可以确保原子性,而volatile变量只能确保可见性。

 

参考

Older Material (for the memory model historians among you)
http://www.cs.umd.edu/~pugh/java/memoryModel/index.html#older

What does volatile do?
http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#volatile

Java并发编程实战
http://book.douban.com/subject/10484692/

linux vim快捷键大全 速查

vim快捷键图

一. 移动:
h,j,k,l: 左,下,上,右。
w: 下一个词的词首。
e:下一个词的词尾。
b:上一个词的词首。
<>: v 模式选中后进行缩进。

阅读全文

pl/sql 链接 oracle

1. 从Oracle下载 Instant Client,不需要安装,解压到一个目录中即可。
例如在本机上解压到了E:\OracleClient下边,实际上Oracle客户端的路径是E:\OracleClient\instantclient_11_2

下载地址 http://www.oracle.com/technetwork/database/features/instant-client/index.html
2. 配置操作系统环境变量

TNS_ADMIN=E:\OracleClient\instantclient_11_2

3.进入instantclient_11_2文件夹,新建一个名为tnsnames.ora文件,

文件内容如下:

test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)

注意database name 和ip 根据实际填写。
4.安装PL/SQL Developer
5.进入PL/SQL Developer,(虽不能登录,但可以进入) 选择Tools->Preferences,在Oracle Home、OCI Library两栏中分别填入Oracle客户端的路径和OCI文件的路径,我在这两个选项中填写的内容是“E:\OracleClient\instantclient_11_2”和“E:\OracleClient\instantclient_11_2\oci.dll”。
6.重启一下PL/SQL,登录。

编译Hadoop eclipse plugin

Hadoop 版本 1.0.4

编辑${HADOOP_HOME}/src/contrib/build-contrib.xml

<project name="hadoopbuildcontrib" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="eclipse.home" location="/home/Develop/eclipse"/>
<property name="version" value="1.0.4"/>
<property name="name" value="${ant.project.name}"/>
<property name="root" value="${basedir}"/>
<property name="hadoop.root" location="${root}/../../../"/>
<!-- Load all the default properties, and any the user wants -->
<!-- to contribute (without having to type -D or edit this file -->

</project>

编辑%Hadoop_HOME%\src\contrib\eclipse-plugin\build.xml

 <path id="eclipse-sdk-jars">
 <fileset dir="${eclipse.home}/plugins/">
 <include name="org.eclipse.ui*.jar"/>
 <include name="org.eclipse.jdt*.jar"/>
 <include name="org.eclipse.core*.jar"/>
 <include name="org.eclipse.equinox*.jar"/>
 <include name="org.eclipse.debug*.jar"/>
 <include name="org.eclipse.osgi*.jar"/>
 <include name="org.eclipse.swt*.jar"/>
 <include name="org.eclipse.jface*.jar"/>

<include name="org.eclipse.team.cvs.ssh2*.jar"/>
 <include name="com.jcraft.jsch*.jar"/>
 </fileset>
 <fileset dir="../../../">
 <include name="hadoop*.jar"/>
 </fileset>
 </path>
<pre>

然后ant

如有提示找不到hadoop-core-1.0.4,commons-cli-1.2.jar,只需复制到对应目录即可

Parallels Desktop 8 pd8 破解 无限试用

因版权问题现在不提供破解方法

return top