The NoteBook of EricKong

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

#

开车起步的基本步骤

  1. 1
    上车后调整坐位,系安全带。
  2. 2
    左脚踩下离合器,挂一档。
  3. 3
    打左转向灯,按喇叭示意。
  4. 4
    右脚踩油门,左脚慢慢抬起离合器,左手稳住方向盘,右手握住手动刹车前端;待听到油门声音由“高昂”转变到“沉稳”的时候,迅速放下手动刹车。
    END

新手开车起步技巧及常见问题解决方法

  1. 1
    起步时熄火起步熄火,是由于离合器踏板抬得太快,没有在“半联动”位置停住,同时跟油又小造成的,或是把应该“停顿”的位置错过了。
  2. 2
    起步时有空油声起步时有空油声,是由于初学者害怕起步时熄火,不敢抬离合器踏板或是抬得太慢,还没到“半联动”位置就停住了,形成无联动空油。
  3. 3
    起步时前冲起步时前冲,是由于抬离合器踏板时,错过了“半联动”应该停顿的位置,同时跟油又较大造成的。如果此时跟油较小就不是前冲了,而是熄火。
  4. 4
    起步时存在紧张心理现象有的初学者在汽车起步时,两眼发直,伸着脖子,张着嘴,上身几乎趴在方向盘上,这些都是过于紧张的表现。尤其是在交通岗附近,左右车辆较多或是调整公路收费口附近横向距离较窄,以及众人在车旁送行时,会产生一种想快起步,又害怕熄火的矛盾心理。其原因主要是起步操作的基本功不扎实。其实,快速平稳起步的“秘诀”就在于能还掌握好快与停的关系。也就是说在汽车街之前,挂挡、松手制动、抬离合器踏板至“半联动”位置,这些动作都可以“快”,惟独到了“半联动”位置的“停”不能省略,只有做到操作程序心中有数,才能克服紧张心理,从容起步。
  5. 5
    起步后左脚总不舍得放下这主要是由于初学者对离合器踏板有作用,刚刚有了些粗浅的认识,认为只要左脚踩住离合器踏板,汽车就不会熄火。其实这是个误区。这个“毛病”只能增加离合器的磨损,并且是作为一名汽车驾驶员最不成熟的表现,请初学者千万要改掉这一不良习惯。汽车起步后,只要是在行走没有拖挡,发动机就不会熄火
    END

注意事项

  • 在踩油门、并慢慢抬起离合器时,要仔细听油门发出的声音。在抬离合器期间,总共有三种声音:“高昂”、“沉稳”、“低沉”。在“高昂”声音时,离合器抬起的这段距离是空行程,;而在“沉稳”、“低沉”声时,抬离合器的速度一定要放慢。
  • 平路起步和下坡起步可以先放下手动刹车,再踩油门、抬离合器;而上坡起步只能在听到油门声音变为“沉稳”时,才可以放下手动刹车,否则会出现车子后溜的情况。
  • 平路起步和下坡起步时,加一点点油就可以完成起步;而上坡起步需要根据坡度的大小决定踩油门力度的大小:坡度越大,加油的力度越大。
  • 在放下手动刹车瞬间,暂时稳住离合器(不要继续向上抬),并多加点油,以避免车子发抖,出现不平稳的现象。
  • 下坡起步时,如果车子已经熄火,而坡度较大,可以在不打火的情况下直接挂三档,松刹车,起步。通过车轮转速的加快,车子可以自动打火
posted @ 2013-12-13 10:08 Eric_jiang 阅读(180) | 评论 (0)编辑 收藏

定义
    当反应器正在以显著的反应速率进行操作时,若降低进料入口的温度,使它达到多重态区域的下限,反应速度会突然大幅度下降,反应基本上停止。这个现象称为熄灭。相应的入口温度称为熄灭点。一般指的是汽车熄火。
发生原因
    有可能是驾驶技术不够娴熟造成的,也有可能是使用质量不达标的油使发动机积碳等导致的熄火。
如何起步不熄火
    起步松离合时,当汽车开始抖动并向前移动时,左脚稳住离合不要再松,待移动几米后再完全松开离合。无论何时只要按照要领起步就不会熄火。 在平地上起步可以不踩油门,只需靠松离合就可以练习正常起步。 踩油门起步很正常,起步速度稍快些,对车没有伤害。 点火时踩不踩离合都可以,没有明显区别。而先踩离合器再点火,主要目的是安全需要,避免有时忘记检查挂档情况(停车后挂在一档),因挂在档位点火而造成汽车突然冲出去,发生危险。 踩离合点火是个好习惯。 当然,点火前应该先将变速器挂在空档这是正确的操作方法。
预防方法
    到正规的较大型加油站加高标号油,例如使用97号汽油,也要彻底把油路清洗一遍,包括喷油嘴,节气门,油箱等。另外就是定期的养护也至关重要,经常检查油路和电路是否畅通。
posted @ 2013-12-13 09:41 Eric_jiang 阅读(207) | 评论 (0)编辑 收藏

原本使用ifconfig 可以使用,今天是怎么了,可能安装软件修改了,百度~~
[oracle@localhost /]$ ifconfig
提示:“bash: ifconfig: command not found”

于是我切换到root用户下
[root@localhost /]$ ifconfig
依然提示:“bash: ifconfig: command not found”

分析问题
1.whereis ifconfig 看一下这个命令在哪个目录下

2.echo $PATH 看一下该目录是否在路经下,注意lunux下是完全区分大小写的,所以不要忽略这点

3.执行命令,需要指定路径或者把目录加入PATH中

4.于是可以这样访问
方法一:[root@localhost sbin]$ /sbin/ifconfig 就可以出现使用了
方法二:[root@localhost sbin]$ export PATH=$PATH:/sbin ,这样设置后,下次就可以直接访问了,免处第一种的麻烦,如:
[root@localhost /]$ ifconfig

方法三:修改/etc/profile文件,注释掉if语句即可
把下面的if语句注释掉:
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
修改为
# Path manipulation
# if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
#fi

注:不光是ifconfig命令出现“bash: ifconfig: command not found”,原因非root用户的path中没有/sbin/ifconfig
,其它的命令也可以出现这种情况,解决的方法是一样的
posted @ 2013-12-06 14:19 Eric_jiang 阅读(704) | 评论 (0)编辑 收藏

sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:
  sort [-bcfMnrtk][源文件][-o 输出文件] 
补充说明:sort可针对文本文件的内容,以行为单位来排序。

参  数:
  -b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -f   排序时,忽略大小写字母。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
  -o<输出文件>   将排序后的结果存入指定的文件。
  -r   以相反的顺序来排序。
  -t<分隔字符>   指定排序时所用的栏位分隔字符。
  -k  选择以哪个区间进行排序。
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

下面通过几个例子来讲述Sort的使用。

(1)sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear

用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机。下例中用户把排序后的文件内容保存到名为result的文件中。
$ Sort seq.txt > result

(2)sort的-u选项

它的作用很简单,就是在输出行中去除重复行。

[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
pear
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear
pear
[rocrocket@rocrocket programming]$ sort -u seq.txt
apple
banana
orange
pear

pear由于重复被-u选项无情的删除了。

(3)sort的-r选项

sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。

[rocrocket@rocrocket programming]$ cat number.txt
1
3
5
2
4
[rocrocket@rocrocket programming]$ sort number.txt
1
2
3
4
5
[rocrocket@rocrocket programming]$ sort -r number.txt
5
4
3
2
1
(5)sort的-o选项

由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。

但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。

[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt
[rocrocket@rocrocket programming]$ cat number.txt
[rocrocket@rocrocket programming]$
看,竟然将number清空了。

就在这个时候,-o选项出现了,它成功的解决了这个问题,让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在。

[rocrocket@rocrocket programming]$ cat number.txt
1
3
5
2
4
[rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt
[rocrocket@rocrocket programming]$ cat number.txt
5
4
3
2
1

(6) sort的-n选项

你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。

我们如果想改变这种现状,就要使用-n选项,来告诉sort,“要以数值来排序”!

[rocrocket@rocrocket programming]$ cat number.txt
1
10
19
11
2
5
[rocrocket@rocrocket programming]$ sort number.txt
1
10
11
19
2
5
[rocrocket@rocrocket programming]$ sort -n number.txt
1
2
5
10
11
19

(7) sort的-t选项和-k选项

如果有一个文件的内容是这样:

[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4

这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?幸好,sort提供了-t选项,后面可以设定间隔符。指定了间隔符之后,就可以用-k来指定列数了。

[rocrocket@rocrocket programming]$ sort -n -k 2 -t ‘:’ facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

(8) 其他的sort常用选项

-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写

-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1

-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1

-M会以月份来排序,比如JAN小于FEB等等

-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。

posted @ 2013-11-29 16:38 Eric_jiang 阅读(169) | 评论 (0)编辑 收藏

linux系统下查看系统资源的相关命令
 
    详细查看CPU,内存,硬盘,光驱的情况,可以用下面命令。
    #dmesg | more
    dmesg显示的是系统加载时的启动信息,把硬件信息都显示出来。
    也可以用下面命令分别查看CPU,内存,硬盘,光驱的情况:
    # dmesg|grep cpu //cpu
    # dmesg|grep hd   //硬盘
    # dmesg | grep proc
    查看LINUX的版本信息:
    # uname -a
    查看CPU的个数也可以用:
    # more /proc/cpuinfo
    查看内存情况也可以用下面两条命令:
    #top
    # more /proc/meminfo

top命令
1.作用
top命令用来显示执行中的程序进程,使用权限是所有用户。
2.格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]
3.主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出top

free命令
1.作用
free命令用来显示内存的使用情况,使用权限是所有用户。
2.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]
3.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。


# uname -a # 查看内核/操作系统/CPU信息
# cat /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态用户
# w # 查看活动用户
# id # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务程序
# rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数
cat /proc/partitions :查看硬盘和分区
cat /proc/meminfo :查看内存信息
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
posted @ 2013-11-29 16:19 Eric_jiang 阅读(215) | 评论 (0)编辑 收藏

A,Shell支持作用控制,有以下命令:
1. command& 让进程在后台运行
2. jobs 查看后台运行的进程
3. fg %n 让后台运行的进程n到前台来
4. bg %n 让进程n到后台去;   
   PS:"n"为jobs查看到的进程编号.

B. fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的

一。& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
查看当前有多少在后台运行的命令
四。fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

posted @ 2013-11-29 15:23 Eric_jiang 阅读(209) | 评论 (0)编辑 收藏

package com.test.socket;
import java.io.*;
import java.net.*;
 
public class HTTPSocket
  {
      public static void main(String[ ] args) throws UnknownHostException, IOException
     {
          String host = "127.0.0.1";
          int port = 8080;
          Socket socket = new Socket(host, port);
          
          BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
          BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
          
          StringBuffer sb = new StringBuffer();
          //请求的连接地址
          sb.append("GET /PortalGuard/Index.jsp HTTP/1.1\r\n")
           .append("Host:"+ host + "\r\n")
            .append("Content-Type:application/x-www-form-urlencoded\r\n")
            .append("Content-Length:11\r\n")            //11 这个数值是看底下内容的长度的 即多少个字符
            .append("\r\n")
            .append("id=01234567\r\n");                  //内容
          
          out.write(sb.toString());
          out.flush();
          
          //打印响应
          String line = "";
          while((line = in.readLine()) != null)
              System.out.println(line);
      }
  }
posted @ 2013-11-29 10:13 Eric_jiang 阅读(390) | 评论 (0)编辑 收藏

     摘要: ET请求和POST请求有什么区别?GET请求的参数在URL的问号后面显示,而POST参数不在URL上;POST可以比GET请求更大的数据…一般的回答都是这样。但是作为一个高端大气上档次的程序员,这样回答就弱爆了。为了搞清楚GET和POST的区别,下面写了一个Java程序来接收HTTP请求。HTTP是基于TCP协议的,所以可以使用Java最底层的Socket实现。下面的程序仅仅不到10行...  阅读全文
posted @ 2013-11-29 09:46 Eric_jiang 阅读(315) | 评论 (0)编辑 收藏

SSL (Secure Socket Layer - 安全套接字层)

功能:保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,确保数据在网络上之传输过程中不会被截取及窃听,防止篡改。

 

如何让我们的WEB应用程序应用SSL安全保障?经过几天摸索,终于实现 TOMCAT+SSL 双向认证,也就是说,首先,客户端将要认证服务器的安全性,确保访问的是正确的服务器,而非假冒的钓鱼网站;其次,服务器也要认证客户端的安全性,只有那些拥有服务器授权证书的客户端才可以访问。

 

下面请遵循详细步骤

1.       D盘建立目录:mykeys

2.       启动命令行,并转移到 d:/mykeys

a)         创建服务器密钥,其密钥库为 d:/mykeys/server.ks,注意keypassstorepass保持一致,它们分别代表 密钥密码和密钥库密码,注意 CN=localhost 中,localhost表示要配置SSL的主机名,不能任意指定
D:/mykeys>keytool -genkey -v -alias serverKey -dname "CN=localhost" -keyalg RSA -keypass rwm258-keystore server.ks -storepass rwm258

b)        创建客户端密钥,其密钥库为 d:/mykeys/client.p12,注意这个密钥库的后缀名,注意密钥库类型PKCS12
D:/mykeys>keytool -genkey -v -alias clientKey -dname "CN=SomeOne" -keyalg RSA -keypass lyl147 -keystore client.p12 -storepass lyl147 -storetype PKCS12

c)        将客户端密钥导出为证书文件
D:/mykeys>keytool -export -alias clientKey -file clientKey.cer -keystore client.p12 -storepass lyl147 -storetype PKCS12

d)        将上述客户端密钥文件导入服务器证书库,并设置为信任证书;注意会问你是否信任该证书,回答 y 即可
D:/mykeys>keytool -import -v -alias clientKey -file clientKey.cer -keystore server.ks -storepass rwm258

3.       为了在本机浏览器中进行SSL访问,请:双击 d:/mykeys/client.p12 ,将启动证书向导

a)         2步:要导入的文件 文件名  D:/mykeys/client.p12

b)        3步:为私钥键入密码lyl147 ,勾选:标志此密钥为可导出的

c)        4步:证书存储,选:将所有的证书放入下列存储区,然后,浏览-个人

d)        现在,打开IE,查看证书:工具-Internet选项-内容-证书-个人,可以看到 SomeOne 证书已被安装

4.       配置TOMCAT服务器,以支持SSL认证,编辑文件:%tomcat_home%/conf/server.xml,下面这段配置代码本来是被屏蔽的,现在请取消其屏蔽,并相应增加密钥库的配置,其中clientAuth="true"用以启动双向认证,否则,只有客户端认证服务器-单向

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

clientAuth="true" sslProtocol="TLS"

keystoreFile="D:/mykeys/server.ks" keystorePass="rwm258"

truststoreFile="D:/mykeys/server.ks " truststorePass=" rwm258" />

5.       启动 TOMCAT,然后在IE浏览器中访问:https://localhost:8443/

a)         将弹出一个消息框,这是要客户端认证服务器,查看证书可看到服务器证书为 localhost ,回顾前面的步骤,正是我们创建的那个服务器证书;这里点 

b)        页面出现,说明客户端被允许访问

6.       现在,再次打开IE,工具-Internet选项-内容-证书-个人 ,删除那个 SomeOne 证书

a)         现在,再次在IE浏览器中访问:https://localhost:8443/ 你会发现,回顾前面的 3 步骤,你会明白为什么要将客户端证书导入 IE 浏览器;

7.       请再次重复 3 步骤,之后再尝试访问

 

OK,至此,我们在本机上SSL双向配置已经成功,那么,换另一台电脑来访问本机服务器如何处理呢?很简单,把 d:/mykeys/client.p12 复制到该机器,然后执行 3 步骤,将这个证书导入到该机器的 IE浏览器个人证书中,记得密码是:lyl147;当然,在那台电脑上访问时,要将localhost修改为本机主机名或IP地址

 

-------------------------------------------------------------------

 

要使你自己的WEB程序应用SSL安全访问,请遵循如下配置

在你应用的 web.xml 文件的 <web-app></web-app> 中加入如下配置

<login-config>

             <!-- Authorization setting for SSL -->

        <auth-method>CLIENT-CERT</auth-method>

        <realm-name>Client Cert Users-only Area</realm-name>

    </login-config>

    <security-constraint>

             <!-- Authorization setting for SSL -->

        <web-resource-collection >

            <web-resource-name >SSL</web-resource-name>

            <url-pattern>/*</url-pattern>

        </web-resource-collection>

        <user-data-constraint>

            <transport-guarantee>CONFIDENTIAL</transport-guarantee>

        </user-data-constraint>

</security-constraint>

 

你会发现,即使使用 http://....:8080 来访问你的应用程序,它也会重定向为 https://....8443 访问,也就是说,你的应用已经强制使用SSL安全访问层

OK,现在,充分享受 SSL 安全访问服务吧

 

此外,你还可以在你的程序中验证客户证书,实现客户端证书登录,具体这里不谈了,下次给出完整程序

posted @ 2013-11-28 17:23 Eric_jiang 阅读(263) | 评论 (0)编辑 收藏

第一步: 取得要导入的证书。
第二步: 开启CMD,进入Java/jre6/lib/security 目录下。 第三步: 执行以下命令: keytool -import -alias cacerts -keystore cacerts -file C:/test.cer -trustcacerts -alias后面的为别名,可随便起名,即使有重名也不要紧,可替换。 执行命令后会要求输入密码。 默认密码为changeit 再输入y,进行确认。
posted @ 2013-11-28 16:49 Eric_jiang 阅读(305) | 评论 (0)编辑 收藏

仅列出标题
共57页: First 上一页 13 14 15 16 17 18 19 20 21 下一页 Last