<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ice world

    There is nothing too difficult if you put your heart into it.
    posts - 104, comments - 103, trackbacks - 0, articles - 0

    2012年7月12日

    這個問題很多小伙伴都遇到了,網上搜羅了半天也沒找到太好、太完美的解決辦法,有人說是因為安裝IE11時聯網了,導致自動打了補丁,這個補丁可以自動檢查IE主頁是否損壞,可以通過卸載相應的補丁解決,我同時又找到了另外一個通過修改hosts文件的方法,貌似目前解決了我的問題,修改方法如下: 使用記事本打開 C:\Windows\System32\drivers\etc\hosts 文件,在最下面追加一行: 127.0.0.1 ieonline.microsoft.com

    posted @ 2016-08-12 10:47 IceWee 閱讀(879) | 評論 (0)編輯 收藏

    將JDK中BIN文件夾下的 msvcr71.dll 這個文件復制到 TOMCAT 中的 BIN 下

    posted @ 2016-01-18 13:43 IceWee 閱讀(427) | 評論 (0)編輯 收藏

    有段日子沒做記錄了,這段日子一直在排雷(前人埋下的隱患代碼,或者直接說bug),今天這個雷讓我排了將近大半天,因為是正式上線的系統,只能看后臺日志,不能調試,打印出的異常信息不完整,種種的條件不充分,導致問題很難定位。標題上的兩個異常,第一個一看就明白是插入的數值大于數據庫字段長度,第二個多是因為Number類型的字段導致,比如精度不足。

    我們的這次問題原因是程序員在做除法運算時沒有對除數進行非零判斷,導致計算出來的數值非法,插入數據庫失敗,請看代碼:
    public static void main(String[] args) {
            
    double a = 10;
            
    double b = 0;
            
    double c = 0;
            
            
    double m = a/c;
            
    double n = b/c;
            
            System.out.println(m);
            System.out.println(n);
        }

    經過計算后,m和n的值分別是多少?沒在實際開發中遇到的可能不知道,或者你有個好習慣不會出現這樣的bug,請看結果:
    Infinity
    NaN

    被除數非零,除數為零做除法的結果是字符串“Infinity”,翻譯成中文就是“無限”,你的中學數學老師可能說過;
    被除數為零,除數為零做觸發的結果是字符串“NaN”,即不是有效的數字。

    就是這個“Infinity”花費了我一小天的時間才定位。下面詳述問題定位的方法。

    異常1:ORA-01438: value larger than specified precision allowed for this column
    了解點數據庫的打眼一看就知道插入的數值超過了表字段長度,但你知道是哪個表哪個字段嗎?我不知道,于是網上查閱了下,Oracle數據庫服務器在Linux上。

    命令行登陸到數據庫所在服務器,進入Oracle的安裝目錄,假設是/opt/oracle/
    進入到如下目錄:/opt/oracle/admin/實例名/udump
    中間的數據庫實例名根據實際情況修改,udump目錄下會有一堆的.trc文件,這些文件記錄了所有操作當前數據庫出現異常的堆棧信息。為了定位問題,我將該目錄下的所有.trc文件都刪除了(當然,刪除之前把udump目錄整個備份了),再進行一次系統的業務操作,查看一下udump目錄,發現立刻生成一個新 的.trc文件,打開查看(內容片段):
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning
    , Real Application Clusters, OLAP, Data Mining
    and Real Application Testing options
    ORACLE_HOME 
    = /u01/app/oracle/product/10.2/db_1
    System name:    AIX
    Node name
    :    gsdj1
    Release
    :    1
    Version
    :    6
    Machine
    :    00CFD4644C00
    Instance name
    : bjwd1
    Redo thread mounted by this instance: 1
    Oracle process number
    : 132
    Unix process pid
    : 48300280, image: oracle@gsdj1

    *** SERVICE NAME:(bjwd) 2014-03-28 16:48:05.683
    *** SESSION ID:(2969.439612014-03-28 16:48:05.683
    *** 2014-03-28 16:48:05.683
    ksedmp
    : internal or fatal error
    ORA
    -01438: value larger than specified precision allowed for this column
    Current SQL statement 
    for this session:
    insert into CP_TEMP_STOCKTRAN (APPLY_ID, ALIEN, CER_TYPE, CER_NO, TRANS_AM, TRANS_AM_PR, TRANS_TYPE, TRANS_DATE, ENDORSOR, BLIC_TYPE, ALIEN_ID, ENDORSOR_ID, STOCKTRAN_ID) values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13)

    黃色背景紅色字體的SQL就是罪魁禍首,這僅僅能定位發生問題的數據庫表,字段還得自己排查。異常1讓我定位到了這里,這時想起了異常2。


    異常2: Could not synchronize database state with session
    之前也搜索過這個異常,多數是由于Number類型的字段導致。冷靜的思考一下,平常我們在做表設計時,會把文字類型的字段設置大一些,Number類型的精度也會根據實際業務進行設計,但往往Number類型的字段最容易出問題:
    1、如果將非Number值插入該字段,比如字符串
    2、如果插入的數值精度過多,如字段設計Number(10,2),也就是最大支持8為整數和兩位小數,要插入34.121313就會失敗

    根據表名定位到hibernate的映射文件以及實體類,再從業務功能入口(一個action方法)搜索,終于定位到一個業務接口做了該實體類的保存代碼,定位到了那個字段,定位到了做除法沒有判斷除數是否為0。








    posted @ 2014-03-28 18:54 IceWee 閱讀(873) | 評論 (0)編輯 收藏

    網絡配置:
    臨時(重丟失)
    ifconfig eth0 192.168.1.xxx netmask 255.255.xxx.0


    永久(重啟有效)
    vi /etc/network/interfaces

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    allow-hotplug eth0
    iface eth0 inet static
            address 192.168.1.xxx
            netmask 255.255.xxx.0
            network 192.168.1.1
            broadcast 192.168.1.255
            gateway 192.168.1.1
            
    # dns-* options are implemented by the resolvconf package, if installed
            dns-nameservers 202.106.196.115


    由于非法關機導致重啟后無法聯網

    ifconfig eth0 192.168.1.xxx netmask 255.255.xxx.0 

    route add default gw 192.168.1.1

    重啟后配置丟失,所以必須在重啟之前執行:
    apt-get update

    apt-get install ifupdown

    不能聯網是因為非法關機導致ifup腳本丟失





    posted @ 2014-01-24 10:50 IceWee 閱讀(900) | 評論 (0)編輯 收藏

    源機器:192.168.1.1
    備份機器:192.168.1.2

    前提條件:
    1、兩臺機器的網絡是連通的
    2、兩臺機器必須同時安裝了SVN服務器

    假設:
    源機器上需要同步的庫名為autoSync,訪問地址為:svn://192.168.1.1/autoSync,對其具備讀寫權限的賬戶:sync/sync

    備份機器配置:
    1、創建與源機器庫名相同的空庫
    # 假設備份機器的SVN根目錄建立在 /home/backup/svn/repository下
    svnadmin create /home/backup/svn/repository/autoSync

    2、配置備份機器上的autoSync
    分別修改conf下的svnserve.conf、passwd、authz,根據實際情況配置,假設創建了用戶sync/sync,對庫autoSync具備讀寫權限,配置方法略,配置完成后啟動SVN服務

    3、創建并修改pre-revprop-change文件
    cd /home/backup/svn/repository/autoSync/hooks
    cp pre
    -revprop-change.tmpl pre-revprop-change
    vi pre-revprop-change

    將文件末尾的“exit 1”改為“exit 0”即可,保存退出
    REPOS="$1"
    REV
    ="$2"
    USER
    ="$3"
    PROPNAME
    ="$4"
    ACTION
    ="$5"

    if
    [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi

    echo
    "Changing revision properties other than svn:log is prohibited" >&2
    exit
    0

    增加可執行權限
    chmod 755 pre-revprop-change

    4、初始化
    命令:
    svnsync init --username 用戶名 --password 密碼 備份機器庫URL 源機器庫URL

    說明:
    用戶名和密碼是對源機器SVN庫具備讀寫權限的SVN用戶

    示例:
    svnsync init --username sync --password sync svn://192.168.1.2/autoSync svn://192.168.1.1/autoSync

    5、首次同步
    首次同步即為一次全備份過程,在此期間請停止客戶端段源機器哦一切操作(提交代碼等)
    命令:
    svnsync sync 備份機器庫URL
    示例:
    svnsync sync svn://192.168.1.2/autoSync

    源機器配置
    6、增量自動同步配置
    創建并修改post-commit文件
    # 假設源機器的SVN根目錄建立在 /home/svn/repository下
    cd /home/svn/repository/autoSync/hooks
    cp post
    -commit.tmpl post-commit
    vi post
    -commit

    在文件末尾追加:svnsync sync --non-interactive 備份機器庫URL --username 用戶名 --password 密碼

    說明:
    用戶名和密碼是對備份機器SVN庫具備讀寫權限的SVN用戶

    示例:
    svnsync sync --non-interactive svn://192.168.1.2/autoSync --username sync --password sync

    7、術語
    配置完成,今后客戶端再向SVN(192.168.1.1)提交文件時,會自動觸發源機器(192.168.1.1)向備份機器(192.168.1.2)提交更新

    8、版本庫UUID一致性
    首先查看源機器庫的UUID,假設得到的是:fcdcbee9-6be3-4575-8d4a-681ec15ad8e0
    svnlook uuid svn://192.168.1.1/autoSync

    更新備份機器庫的UUID為源機器庫的UUID
    svnadmin setuuid svn://192.168.1.2/autoSync fcdcbee9-6be3-4575-8d4a-681ec15ad8e0




    posted @ 2014-01-23 11:08 IceWee 閱讀(646) | 評論 (0)編輯 收藏

    本文記錄的安裝步驟是基于基本安裝后的Debian,啟動后漆黑一片,只有命令行,采用在線安裝方式,因此配置中國的鏡像軟件源能提高軟件的下載速度,首先配置軟件源。

    備份源文件
    # cp /etc/apt/sources.list /etc/apt/sources.list.bak

    編輯源文件
    # nano /etc/apt/sources.list

    注釋掉本地光盤源這一行,注釋后如:
    # deb cdrom:[Debian GNU/Linux 6.0.7 _Squeeze_ - Official amd64 NETINST Binary-1 20130223-18:50]/ squeeze main

    取消下面兩行官方源前面的注釋
    deb http://security.debian.org/ squeeze/updates main
    deb-src http://security.debian.org/ squeeze/updates main

    追加163的鏡像源地址
    deb http://mirrors.163.com/debian/ squeeze main non-free contrib
    deb http://mirrors.163.com/debian/ squeeze-proposed-updates main contrib non-free
    deb http://mirrors.163.com/debian-security/ squeeze/updates main contrib non-free
    deb-src http://mirrors.163.com/debian/ squeeze main non-free contrib
    deb-src http://mirrors.163.com/debian/ squeeze-proposed-updates main contrib non-free
    deb-src http://mirrors.163.com/debian-security/ squeeze/updates main contrib non-free
    deb http://ftp.sjtu.edu.cn/debian/ squeeze main non-free contrib
    deb http://ftp.sjtu.edu.cn/debian/ squeeze-proposed-updates main contrib non-free
    deb http://ftp.sjtu.edu.cn/debian-security/ squeeze/updates main contrib non-free
    deb-src http://ftp.sjtu.edu.cn/debian/ squeeze main non-free contrib
    deb-src http://ftp.sjtu.edu.cn/debian/ squeeze-proposed-updates main contrib non-free
    deb-src http://ftp.sjtu.edu.cn/debian-security/ squeeze/updates main contrib non-free

    保存修改
    # ctrl + o 回車
    退出
    # ctrl + x

    更新源
    # apt-get update

    更新系統
    # apt-get upgrade

    安裝SVN服務器
    # apt-get install subversion subversion-tools

    安裝完成后可以運行命令查看SVN服務器版本信息
    # svnserve --version

    配置SVN
    首先創建版本庫的根目錄,如位置:/home/svn/repository,所有項目都將在該目錄下創建相應子文件夾
    # mkdir –p /home/svn/repository

    創建項目版本庫test(僅為演示)
    # svnadmin create /home/svn/repository/test


    修改SVN配置文件
    nano /home/svn/repository/test/conf/svnserve.conf

    以下為文件內容:
    ### This file controls the configuration of the svnserve daemon, if you
    ### use it to allow access to this repository.  (If you only allow
    ### access through http: and/or file: URLs, then this file is
    ### irrelevant.)

    ### Visit http://subversion.tigris.org/ for more information.

    [general]
    ### These options control access to the repository for unauthenticated
    ### and authenticated users.  Valid values are "write", "read",
    ### and "none".  The sample settings below are the defaults
    # 未授權配置為禁止訪問none,已授權配置為可以讀寫write
    anon-access = none
    auth-access = write
    ### The password-db option controls the location of the password
    ### database file.  Unless you specify a path starting with a /,
    ### the file's location is relative to the directory containing
    ### this configuration file.
    ### If SASL is enabled (see below), this file will NOT be used.
    ### Uncomment the line below to use the default password file.
    # 用戶數據庫文件,配置授權用戶,當前使用的文件是和svnserve.conf在相同目錄下的passwd文件,也可以指定其他絕對路徑文件,如:/home/svn/passwd
    password-db = passwd
    ### The authz-db option controls the location of the authorization
    ### rules for path-based access control.  Unless you specify a path
    ### starting with a /, the file's location is relative to the the
    ### directory containing this file.  If you don't specify an
    ### authz-db, no path-based access control is done.
    ### Uncomment the line below to use the default authorization file.
    # 授權文件,配置如同用戶配置
    authz-db = authz
    ### This option specifies the authentication realm of the repository.
    ### If two repositories have the same authentication realm, they should
    ### have the same password database, and vice versa.  The default realm
    ### is repository's uuid.
    # realm = My First Repository

    [sasl]
    ### This option specifies whether you want to use the Cyrus SASL
    ### library for authentication. Default is false.
    ### This section will be ignored if svnserve is not built with Cyrus
    ### SASL support; to check, run 'svnserve --version' and look for a line
    ### reading 'Cyrus SASL authentication is available.'
    # use-sasl = true
    ### These options specify the desired strength of the security layer
    ### that you want SASL to provide. 0 means no encryption, 1 means
    ### integrity-checking only, values larger than 1 are correlated
    ### to the effective key length for encryption (e.g. 128 means 128-bit
    ### encryption). The values below are the defaults.
    # min-encryption = 0
    # max-encryption = 256


    保存
    # ctrl + o 回車

    退出
    # ctrl + x

    配置用戶
    # nano passwd

    以下為文件內容:
    ### This file is an example password file for svnserve.
    ### Its format is similar to that of svnserve.conf. As shown in the
    ### example below it contains one section labelled [users].
    ### The name and password for each user follow, one account per line.

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    IceWee = IceWee

    增加用戶IceWee,密碼也為IceWee,=號兩側需要有空格,保存(ctrl + o 回車)退出(ctrl + x)

    配置訪問權限
    # nano authz

    以下為文件內容:
    ### This file is an example authorization file for svnserve.
    ### Its format is identical to that of mod_authz_svn authorization
    ### files.
    ### As shown below each section defines authorizations for the path and
    ### (optional) repository specified by the section name.
    ### The authorizations follow. An authorization line can refer to:
    ###  - a single user,
    ###  - a group of users defined in a special [groups] section,
    ###  - an alias defined in a special [aliases] section,
    ###  - all authenticated users, using the '$authenticated' token,
    ###  - only anonymous users, using the '$anonymous' token,
    ###  - anyone, using the '*' wildcard.
    ###
    ### A match can be inverted by prefixing the rule with '~'. Rules can
    ### grant read ('r') access, read-write ('rw') access, or no access
    ### ('').

    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    developers = IceWee

    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =

    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r

    [/]
    * = r
    IceWee = rw
    @developers = rw

    [/tags]
    IceWee = rw

    默認所有用戶可讀取根,IceWee可以讀寫根。可以分別對子目錄進行授權,如上的tags目錄,IceWee具有讀寫權限,以及IceWee所在的組developers也具備讀寫權限。

    啟動SVN服務器
    # svnserve -d -r /home/svn/repository
    -d含義為后臺運行(daemon),-r指定的根目錄,如訪問test應該使用這樣的地址 svn://hostname:port/test

    停止SVN服務
    # killall svnserve

    備份還原命令,與oracle的備份有些類似
    導出
    # svnadmin dump /home/svn/repository/test > /home/bak/test.dump

    導入
    # svnadmin load /home/svn/repository/demo < /home/bak/demo.dump
    導入前提:
    必須先創建要導入版本庫目錄,如上的demo,則需要做以下操作
    # svnadmin create /home/svn/respository/demo
    修改svnserve.conf、passwd、authz等文件,前面已介紹


     





    posted @ 2014-01-17 15:48 IceWee 閱讀(1228) | 評論 (0)編輯 收藏


    2013年12月10日
    ---------------------------
    冒泡排序
    void bubble(int[] array) {
           
    boolean swaped = true;
           
    for (int t = 1; t < array.length && swaped; t++) {
                swaped
    = false;
               
    for (int i = 0; i < array.length - t; i++) {
                   
    if (array[i] > array[i + 1]) {
                      
    int temp = array[i];
                        array[i]
    = array[i + 1];
                        array[i
    + 1] = temp;
                        swaped
    = true;
                    }

                }

            }

        }


    2013年11月26日
    ---------------------------
    1、String的split方法
    平常總是這樣用,String str = "a,b,c,d,e"; String[] arr = str.split(",");
    其實還可以這樣用,String lan = "Java;C#?C++:C"; String si = lan.split("[;?:]"); 返回的是字符串數組{"Java", "C#", "C++", "C"}


    2013年11月21日
    ---------------------------

    1、Java對象池知多少?
    示例:String s1 = "abc"; String s2 = "abc"; s1 == s2 返回ture還是false?只要不是new出來的都先從對象池中讀取,因此結果為true,兩個變量指向的是同一塊內存空間地址。

    Java除了String類使用了對象池以外,還有5個基本類型的封裝類:Byte、Short、Integer、Long和Character,例如:Integer inA = 20; Integer inB = 20; 那么 inA == inB 的結果為true,其他類與此相同,不做示例。

    特別注意:
    (1)浮點型的兩個封裝類Float和Double并沒有參與對象池;
    (2)整形封裝類(Byte、Short、Integer和Long)只有數值小于或等于127時才使用對象池,例如:Integer x = 128; Integer y = 128; x == y的結果為false。

    2、Java變量命名規范
    A. String #name = "Joe";
    B. int $age = 30;
    C. Double _height = 174.4;
    D. float ~temp = 37.6;
    以上A到D,哪個無法通過編譯?答案是A和D,因為Java變量名只允許字母、下劃線(_)、美元符($)開頭,那么 int _ = 30; String $$ = "I DO";可以嗎?答案是完全可以,但很少有人這樣定義變量名,雖然沒有違法命名規范,但最后我估計程序員自己都會被自己繞暈。

    3、0和1能標識布爾值嗎?
    int flag = 0;
    if (flag) {
        System.out.print("error");
    }
    error會打印嗎?不會,因為根本就不會編譯通過,編譯器會提示flag是int類型而不是boolean類型,如果你會有這種想法可能之前學過C,C總的0和1可以標識布爾的。

    4、靜態導入
    例:
    ClassA.java
    package bing.test.sub1;

    public class ClassA {
      
    public static final int MAX_INT = Integer.MAX_VALUE;
    }



    ClassB.java
    package bing.test.sub2;

    import static bing.test.sub1.ClassA.MAX_INT;

    public class ClassB {
     
    public static void main(String[] args) {
    System.out.println(MAX_INT);
      }

    }

    輸出:2147483647。不僅僅可以靜態導入其他類的靜態屬性還可以導入靜態方法,這些特性在實際開發中很少見。









    posted @ 2013-11-21 12:49 IceWee 閱讀(463) | 評論 (0)編輯 收藏

    Apache Commons的FTPClient局域網上傳文件速度本應該很快的,但卻在實際開發中發現上傳一個文件蝸牛速度,都是因為調用了如下API:

    ftpClient.storeFile(fileName, inputStream)

    原因是因為默認緩沖區大小是1024,也就是1K,當然慢了,在調用上傳API之前重新修改以下默認設置即可,如將緩沖區改為10M,API:

    ftpClient.setBufferSize(1024 * 1024 * 10)

    posted @ 2013-09-13 16:32 IceWee 閱讀(6705) | 評論 (0)編輯 收藏

    第一步,查詢鎖表信息
    --查詢被鎖住的數據庫對象
    select object_name, machine, s.sid, s.serial#
     
    from v$locked_object l, dba_objects o, v$session s
    where l.object_id = o.object_id
      
    and l.session_id = s.sid;


    第二步,殺死數據庫會話
    --殺死數據庫會話
    alter system kill session '207,707'; -- 207為SID, 707為SERIAL#


    第三步,如果第二步無法殺死會話,報ORA-00031,那么只能殺死UNIX/LINUX系統進程了
    --查詢當前操作的系統進程ID
    select spid, osuser, s.program
     
    from v$session s, v$process p
    where s.paddr = p.addr
      
    and s.sid = 207; -- 207為SID


    第四步,根據查詢到的系統PID,殺掉進程
    kill -9 24664 // 24664為UNIX/LINUX系統進程ID



    posted @ 2013-08-23 10:20 IceWee 閱讀(524) | 評論 (0)編輯 收藏

         摘要: 備用。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;...  閱讀全文

    posted @ 2013-07-27 11:53 IceWee 閱讀(1439) | 評論 (0)編輯 收藏

    Java獲取本地IP地址方法網上搜一籮筐,但基本上都是獲得一個IP,實際開發中一臺電腦很可能有多個IP地址,如多網卡,或者安裝了VM Ware虛擬機,就會虛擬出其他的網卡,那么傳統的方法得到的一個IP地址就不全面了,下面貼出獲取本機IP列表的方法:
    /**
         * IceWee 2013.07.19
         * 獲取本地IP列表(針對多網卡情況)
         *
         * 
    @return
         
    */

        
    public static List<String> getLocalIPList() {
            List
    <String> ipList = new ArrayList<String>();
            
    try {
                Enumeration
    <NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
                NetworkInterface networkInterface;
                Enumeration
    <InetAddress> inetAddresses;
                InetAddress inetAddress;
                String ip;
                
    while (networkInterfaces.hasMoreElements()) {
                    networkInterface 
    = networkInterfaces.nextElement();
                    inetAddresses 
    = networkInterface.getInetAddresses();
                    
    while (inetAddresses.hasMoreElements()) {
                        inetAddress 
    = inetAddresses.nextElement();
                        
    if (inetAddress != null && inetAddress instanceof Inet4Address) // IPV4
                            ip = inetAddress.getHostAddress();
                            ipList.add(ip);
                        }

                    }

                }

            }
     catch (SocketException e) {
                e.printStackTrace();
            }

            
    return ipList;
        }




    posted @ 2013-07-19 11:10 IceWee 閱讀(4360) | 評論 (1)編輯 收藏

    項目開發組建立后一般要統一開發環境,一般是指開發環境,開發工具的版本和設置,其中編碼設置是個較為重要的部分,其重要性不言而喻。以下為eclipse編碼設置方法(將默認編碼改為UTF-8為例):

    1.工作空間的編碼(這樣以后新建的文件也是新設置的編碼格式) 
       
    eclipse->window->preferences->General->workspaceTypes->Other->UTF-8->OK

    2.工程的編碼

    Project->Properties->General->Resource->Other->UTF-8->OK

    3.某類文件的編碼
     
    eclipse->window->preferences->General->Content Types->右側找到需要修改的文件的類型(如JAVA,JSP等)->在下面的Default encoding,輸入框中輸入UTF-8->點擊Update->OK

    4、單個文件的編碼
     
    在包資源管理器視圖,右鍵點擊文件->屬性,改變文本文件編碼格式為UTF-8

    posted @ 2013-06-17 14:15 IceWee 閱讀(815) | 評論 (0)編輯 收藏

    進來的看官使用的是win7吧?!是64位的吧!?安裝了eclipse的subclipse插件了吧!每次用到SVN插件時都會彈出如下的對話框,雖然不影響使用但是很不爽是不是啊?LZ也是一個有丁點兒強迫癥的人,我想干掉這個彈出框!

    稍后上圖,服務器估計掛了!!

    解決方法:
    Window-Preferences-Team-SVN,在SVN接口的下拉框可以看到,默認選擇的是JavaHL(JNI) Not Available,手動更改為SVNKit(Pure Java) SVNKit v1.3.5.7406,OK,enjoy it!

    錯誤提示框:


    修改前:


    修改后:

    posted @ 2013-03-18 15:13 IceWee 閱讀(78923) | 評論 (6)編輯 收藏

    一、Redhat上VNC Server配置
    本文以當前Linux系統未安裝VNC服務器為基本,如果已安裝請跳過第1節!

    前提:
    1.連接到互聯網,將使用yum在線安裝VNC服務器
    2. 確認 SSH 在運行

    1.安裝 TigerVNC Server

    # yum search tigervnc-server


    返回大概如下內容:

    tigervnc-server.x86_64 : A TigerVNC Server
    tigervnc-server-applet.noarch : Java TigerVNC Viewer applet for TigerVNC Server
    tigervnc-server-module.x86._
    64 : TigerVNC Mode to Xorg
    ...


    第一行即是我們要安裝的VNS服務器,第二行是客戶端,執行

    # yum install tigervnc-server.x86_64


    回車后會有一次安裝確認,輸入y后回車即可安裝,安裝完畢后返回到命令行輸入光標,執行

    # vncserver


    會提示輸入驗證密碼,至少6位,該密碼是客戶端連接時用到的。


    2.配置圖形界面
    修改配置文件,激活圖形界面,執行命令:

    # vi /root/.vnc/xstartup


    注釋掉這行

    #twm & // 注釋該行


    末尾增加一行

    gnome-session & // 增加該行


    保存退出


    3.啟動VNC服務
    執行命令

    # /etc/init.d/vncserver start

    # service vncserver start


    啟動后提示:

    Starting VNC server: no displays configured [FAILED]


    解決方法:
    執行命令

    # vim /etc/sysconfig/vncservers


    修改最后兩行如:

    VNCSERVERS="1:root"
    VNCSERVERARGS
    [1]="-geometry 1024x768"


    說明:

    第一行為服務配置,當前只配置了一個VNC服務,使用用戶root啟動,如果還需要使用其他用戶登陸,可以修改VNCSERVERS的值如:“1:root 2:tiger”(tiger為系統另一存在用戶)。第二行可以注釋,是配置窗口分辨率的,需要去掉后面的-localhost


    VNC Server隨系統自動啟動
    執行命令

    # sudo chkconfig --level 345 vncserver on


    4.停止VNC服務

    執行命令

    # /etc/init.d/vncserver stop

    # service vncserver stop


    二、Windows借助VNC Viewer訪問Linux
    首先安裝RealVNC,從互聯網下載獲得
    開始 - Run VNC Viewer,輸入IP地址,后面的:1代表使用root用戶登陸,在RH上配置的1:root,如果想使用其他用戶登陸則調整冒號后的數字即可,密碼就是先前配置的。
     


    解決連接不上問題的方法

    執行命令,查看VNC監聽的端口是什么,在防火墻中開放端口即可

    # netstat -ntupl|grep vnc


    返回列表如:

    1. tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 4411/Xvnc 
    2. tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 4411/Xvnc 
    3. tcp 0 0 :::6001 :::* LISTEN 4411/Xvnc


    修改防火墻配置文件,開放5901端口即可

    # vi /etc/sysconfig/iptables


    可以復制22端口一行,黏貼修改即可,重新啟動防火墻服務

    # service iptables restart


     


     

    posted @ 2013-02-22 17:46 IceWee 閱讀(21962) | 評論 (2)編輯 收藏

    基本信息
    操作系統:CentOS Release 6.3 (Final)
    內核版本:Kernel Linux 2.6.32-279.el6.x86_64
    JDK版本:Oracle ®Java SE Development Kit 7u15 (1.7.0_15-b03)
    JBoss版本:JBoss Application Server 7.1.1
    安裝包: jdk-7u15-linux-x64.rpm、jboss-as-7.1.1.Final.zip

    安裝準備
    上傳安裝文件
    將JDK和JBoss安裝文件(先解壓成目錄)上傳到服務器,目錄隨意,如:/home/下

    開始安裝
    JDK安裝
    使用root登陸系統,打開命令行窗口,先為安裝文件授權

    # chmod 755 jdk-7u15-linux-x64.rpm


    執行安裝

    # rpm -ivh jdk-7u15-linux-x64.rpm


    自動安裝到目錄 /usr/java 下

     

    JDK配置
    Root登陸執行

    # vi /etc/profile


    增加下面內容

    JAVA_HOME=/usr/java/jdk1.7.0_15
    CLASSPATH
    =.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    PATH
    =$JAVA_HOME/bin:$PATH


    保存退出,執行如下命令立即生效以上環境配置

    # source /etc/profile


    JDK版本檢測,執行:

    # java – version

    返回JDK版本信息

    JBoss安裝
    JBoss為綠色版本,不需要安裝,解壓即可使用,和Tomcat一樣,下面將JBoss目錄移動到一個相對規范的位置,Root登陸執行

    # mv /home/jboss-as-7.1.1.Final /usr/jboss-as-7.1.1.Final


    OK,安裝完畢,配置一下環境變量,執行

    # vi /etc/profile


    增加下面內容

    JBOSS_HOME=/usr/jboss-as-7.1.1.Final


    啟動服務

    # /usr/jboss-as-7.1.1.Final/bin/standalone.sh

    訪問,在瀏覽器地址欄中輸入:http://127.0.0.1:8080,出現歡迎界面,證明啟動成功!

    停止服務
    可以在啟動終端窗口按鍵 CTRL + C,即可完全停止JBoss服務

    局域網訪問
    http://xxx.xx.xx.xxx:8080是不能訪問的,如果想讓局域網內的其他機器訪問必須要修改JBoss配置,方法如下:
    編輯jboss-as-7.1.1.Final\standalone\configuration\standalone.xml,找到

    <interface name="public">
        <inet-address value
    ="${jboss.bind.address:127.0.0.1}"/>
    </interface>


    127.0.0.1修改為JBoss所在機器的IP地址即可,但是依舊無法訪問,是因為Linux防火墻沒有開放8080端口,執行:

    # vi /etc/sysconfig/iptables


    發現有一行

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    復制它把22改成8080追加該行后面保存退出!

    創建管理員用戶

    # ./add-user.sh

     

    What type of user do you wish to add?
     a) Management User (mgmt-users.properties)
     b) Application User (application-users.properties)
    (a):

    回車

    Enter the details of the new user to add.
    Realm (ManagementRealm) :                      //回車,默認
    Username :                                               // 管理員用戶名,如:admin
    Password :                                                // 管理員密碼,如:jboss
    Re-enter Password :                                  // 重復密碼


    管理員控制臺訪問

    http://127.0.0.1:9990/console
    如果也想在其他局域網機器上訪問管理員控制臺,防火墻需要開放端口9990,修改standalone.xml

    <interface name="management">
      <inet-address value
    ="${jboss.bind.address.management:127.0.0.1}"/>
    </interface>


    同樣將127.0.0.1修改為JBoss所在機器的IP地址

    posted @ 2013-02-22 17:12 IceWee 閱讀(5044) | 評論 (0)編輯 收藏

    1、先用system和密碼登陸SQLPLUS(如果不能直接以sys登陸到sqlplus的話),進入到sql*plus之后,可以通過conn /as sysdba轉變為sysdba身份連接到數據庫
    2、開始修改編碼
    shutdown immediate;  // 停止oracle服務以及監聽。如果服務停止,這部可省略
    startup mount;
    alter system enable restricted session;
    alter system set job_queue_processes=0; // 初始化設置job
    alter database open;
    alter database character set internal_use utf8; //設置編碼 (alter database character set internal_use ZHS16GBK;)(alter database character set internal_use WE8ISO8859P1;)
    shutdown immediate;  // 關閉
    startup;  // 重啟
    至此編碼已經設置完成。

    posted @ 2013-02-21 16:01 IceWee 閱讀(313) | 評論 (0)編輯 收藏



    基本信息
    WLS版本:Oracle ® Weblogic Server 11g Release 1 (10.3.6)
    安裝包: jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin、wls1036_generic_x64.jar
    操作系統:CentOS Release 6.3 (Final)
    內核版本:Kernel Linux 2.6.32-279.el6.x86_64
    JDK版本:Oracle ®JRockit JDK R28.2.5 for Java SE 6 (1.6.0_37)

    安裝準備
    上傳安裝文件
    將JDK和
    WLS安裝文件上傳到服務器,目錄隨意,如:/home/下

    開始安裝
    JDK安裝
    使用root登陸系統,打開命令行窗口,先為安裝文件授權,自行進入安裝文件所在目錄,執行

    # chmod a+x jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin


    執行安裝命令

    # ./ jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin


    彈出安裝圖形界面
     


    Next


    默認安裝路徑在root/jrockit-…,依個人習慣進行修改


    保持默認,Next


    Done


    安裝完成后在命令行執行命令查看安裝JDK版本信息,執行
    # java -version

    如圖

    JDK配置
    執行
    # vi /etc/profile

    在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL上面增加下面內容
    export JAVA_HOME=/usr/java/jrockit-jdk1.6.0_37-R28.2.5-4.1.0 
    export PATH
    =$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 
    export CLASSPATH
    =.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

    保存退出,執行如下命令立即生效以上環境配置
    # source /etc/profile


    WLS安裝
    為全部用戶授權,讓全部用戶具備執行安裝文件的權限(Linux比較墨跡,習慣就好了),執行
    # chmod a+x wls1036_generic_x64.jar

    執行安裝命令
    # java –jar wls1036_generic_x64.jar

    彈出圖形化安裝界面


    Next


    默認安裝路徑 /root/Oracle/middleware,可根據個人習慣修改,Next


    取消勾選“I wish to…”,Next


    取消勾選“I wish to…”,Continue


    Yes


    保持默認,典型安裝,Next


    默認選擇上文配置好的JDK,Next


    Next


    Next


    安裝過程中


    Done


    彈出QUICKSTART窗口,點擊“Getting started with…”


    可以新建域或擴展已存在的,Next


    Next


    根據實際情況修改域名稱,Next


    輸入管理員密碼,要求8位以上,為了好記示例中用了weblogic11,Next


    Next


    Next


    Create





    配置完成


    啟動服務器
    示例:
    # cd /opt/oracle/Middleware/user_projects/domains/vcl_domain/bin
    # ./startWebLogic.sh &

    啟動完成后可以進入管理員控制臺部署WEB項目等操作,帳號weblogic/weblogic11
    http://xxx.xxx.xx.xx:7001/console







    posted @ 2013-02-18 17:02 IceWee 閱讀(2889) | 評論 (1)編輯 收藏

    基本信息

    操作系統:CentOS Release 6.3 (Final)
    內核版本:Kernel Linux 
    2.6.32-279.el6.x86_64
    Oracle版本:Oracle 11g Release2
    安裝包:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip


    安裝準備

    上傳安裝文件

    將兩個壓縮文件覆蓋解壓后得到文件夾database,借助SSH工具上傳到服務器上,目錄如:/home/database

    創建組

    # groupadd dba
    # groupadd oinstall

     
    創建用戶
     

    # useradd –g oinstall –G dba oracle

     
    修改用戶密碼  

    # passwd oracle


    創建安裝目錄

    # mkdir -p /opt/oracle/product/11.2/db_1

    # mkdir -p /opt/oraInventory

    # mkdir -p /opt/oracle/oradata

    # mkdir -p /var/opt/oracle


    設置目錄的所有者、所屬組和權限

    # chown -R oracle.oinstall /opt/oracle

    # chown -R oracle.oinstall /opt/oracle/oradata

    # chown -R oracle.oinstall /opt/oracle/product/11.2/db_1

    # chown -R oracle.dba /opt/oraInventory

    # chown oracle.dba /var/opt/oracle

    # chmod -R 775 /opt/oracle

    # chmod -R 755 /var/opt/oracle


    設置用戶oracle的環境變量

    # su – oracle
    # vim /home/oracle/.bash_profile


    在文件中添加如下:

    export ORACLE_BASE=/opt/oracle

    export ORACLE_HOME
    =$ORACLE_BASE/product/11.2/db_1

    export ORACLE_SID
    =orcl

    export ORACLE_OWNER
    =oracle

    export ORACLE_TERM
    =vt100

    export PATH
    =$PATH:$ORACLE_HOME/bin:$HOME/bin

    export PATH
    =$ORACLE_HOME/bin:$PATH

    LD_LIBRARY_PATH
    =$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

    export LD_LIBRARY_PATH

    CLASSPATH
    =$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

    CLASSPATH
    =$CLASSPATH:$ORACLE_HOME/network/jlib

    export CLASSPATH

    PATH
    =$PATH:/usr/sbin; export PATH

    PATH
    =$PATH:/usr/bin; export PATH

    ORA_NLS33
    =$ORACLE_HOME/nls/admin/data


    保存退出,執行以下命令使得配置立刻生效或使用Oracle重登陸系統

    # source $HOME/.bash_profile

     
    開始安裝

    進入數據庫安裝文件(database文件夾)所在目錄,如:/home/,為所有用戶授權

    # chmod –R 777 database

     

    切換到oracle用戶,使用oracle重登陸或使用下面命令切換用戶

    # su – oracle

     

    進入database目錄,運行安裝文件開始安裝

    # ./runInstaller


    進入圖形化界面,一步步安裝,取消勾選I wish…(依照個人),點擊Next,彈出確認框再點Yes


    三選一界面,選擇第二項:Install database software only


    保持默認:Singel instance database installation,點擊Next
     
     
    選擇產品語言,默認英語,附加選擇了簡體中文,點擊Next


    選擇數據庫版本,默認企業版,點擊Next


    配置Oracle安裝目錄,由于安裝前環境變量的配置,安裝程序自動讀取配置,自動選擇好了Oracle Base和Software Location如圖所示,點Next


    同上,Oracle Inventory Directory目錄也自動選擇好了,oraInventory Group Name選擇安裝前創建的組dba,點擊Next


    保持默認,兩個組都選擇的dba,點擊Next


    裝檢查中


    查結束,不滿足條件列表


    解決以上錯誤,新建命令行窗口,切換到root用戶,需要輸入root的密碼

    # su – root

    修改進程數和最大會話數的設置,執行
    # vi /etc/security/limits.conf

    (在該文件的最后追加下面四行)
    oracle   soft    nproc   2047
    oracle   hard    nproc  
    16384
    oracle   soft    nofile
      1024
    oracle   hard    nofile  
    65536

    系統內核參數設置
    # vi /etc/sysctl.conf

    (在該文件后追加以下內容)
    kernel.sem = 250 32000 100 128
    net
    .ipv4.ip_local_port_range = 9000 65500
    fs
    .file-max = 6815744
    net
    .core.rmem_default = 262144
    net
    .core.rmem_max = 4194304
    net
    .core.wmem_default = 262144
    net
    .core.wmem_max = 1048576
    fs
    .aio-max-nr = 1048576

    保存退出,立即生效執行:
    # cd /etc
    # sysctl -p

    安裝以下列表中的包(使用yum在線安裝),其中pdksh-5.2.14沒有找到,不安裝也沒有問題
    -libaio-0.3.105(i386)
    -libaio-devel-
    0.3.105(i386)
    -libaio-devel-
    0.3.105(x86_64)
    -glibc-
    2.3.4-2.41(i686)
    -compat-libstdc++-
    33-3.2.3(i386)
    -compat-libstdc++-
    33-3.2.3(x86_64)
    -gcc-c++-
    3.4.6(x86_64)
    -elfutils-libelf-devel-
    0.97(x86_64)
    -libgcc-
    3.4.6(i386)
    -libstdc++-
    3.4.6(i386)
    -unixODBC-
    2.2.11(i386)
    -unixODBC-
    2.2.11(x86_64)
    -unixODBC-devel-
    2.2.11(i386)
    -unixODBC-devel-
    2.2.11(x86_64)
    -pdksh-
    5.2.14(x86_64)

    以上步驟完成后點擊按鈕Check Again,發現不滿足列表并沒有清除,而是少了一些,此時勾選右側復選框Ignore all即可向下安裝了,直到安裝完成。


    安裝監聽器

    使用oracle用戶登陸系統或在命令行窗口切換到oracle用戶,執行
    # netca

    進入圖形化配置,直接默認下一步,到最后完成,其中你也可以修改監聽去的名稱,協議,端口。




     








     




    安裝完成后可以使用如下命令來查看監聽是否配置成功
    # ps –ef


    安裝數據庫程序

    執行

    # dbca


    進入圖形化配置界面,幾乎全Next








    配置全局數據庫名稱,如果該服務器只安裝這一個數據庫建議使用orcl,鑒于習慣作




    備配置四個內置超級管理員密碼,建議統一密碼,便于記憶用

    提示密碼過于簡單,不管它,點擊Yes














    到這數據庫實例就算創建完成了!并且會自動啟動!
    PS:10g客戶端連接11g服務器需要手動修改客戶端文件,如下:

    X:\oracle\product\10.2.0\client_1\network\ADMIN


    文件名:
    tnsnames.ora
    修改前不要忘記備份原文件,手動配置要連接的11g數據庫連接信息,如:

    ORCL_11g =
      (DESCRIPTION
    =
        (ADDRESS_LIST
    =
          (ADDRESS
    = (PROTOCOL = TCP)(HOST = 172.25.78.88)(PORT = 1521))
        )
        (CONNECT_DATA
    =
          (SID
    = orcl)
          (SERVER
    = DEDICATED)
        )
      )


    其中:
    ORCL_11g為本地連接服務名
    172.25.78.88為數據庫所在服務器IP
    你會發現CONNECT_DATA內部和10g的配置不同,這就是區別,導致PL/SQL連不上11g




     

    posted @ 2013-01-30 16:56 IceWee 閱讀(19813) | 評論 (2)編輯 收藏

     
    此問題一般發生在Myeclipse 保存文件并自動部署時候。
    Errors occurred during the build.
    Errors running builder 'DeploymentBuilder' on project '項目名'.
    java.lang.NullPointerException

    有一種產生此錯誤的原因是因為此項目不不是由myeclipse創建的。
    所以你需要檢查.project 文件。
    并且添加 <nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>


    然后重新打開項目。

    posted @ 2012-09-27 10:27 IceWee 閱讀(9157) | 評論 (0)編輯 收藏

    出現以下異常信息,一般刪除下Tomcat的work目錄即可
    嚴重: IOException while loading persisted sessions: java.io.EOFException
    java
    .io.EOFException
        at java
    .io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
        at java
    .io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
        at java
    .io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
        at java
    .io.ObjectInputStream.<init>(ObjectInputStream.java:279)
        at org
    .apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
        at org
    .apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
        at org
    .apache.catalina.session.StandardManager.load(StandardManager.java:204)
        at org
    .apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
        at org
    .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org
    .apache.catalina.core.StandardContext.startInternal(StandardContext.java:5282)
        at org
    .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org
    .apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
        at org
    .apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
        at org
    .apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
        at org
    .apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
        at org
    .apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
        at java
    .util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java
    .util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java
    .util.concurrent.FutureTask.run(FutureTask.java:138)
        at java
    .util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java
    .util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java
    .lang.Thread.run(Thread.java:662)
    2012-7-12 10:08:04 org.apache.catalina.session.StandardManager startInternal
    嚴重
    : Exception loading sessions from persistent storage
    java
    .io.EOFException
        at java
    .io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
        at java
    .io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
        at java
    .io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
        at java
    .io.ObjectInputStream.<init>(ObjectInputStream.java:279)
        at org
    .apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
        at org
    .apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
        at org
    .apache.catalina.session.StandardManager.load(StandardManager.java:204)
        at org
    .apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
        at org
    .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org
    .apache.catalina.core.StandardContext.startInternal(StandardContext.java:5282)
        at org
    .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org
    .apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
        at org
    .apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
        at org
    .apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
        at org
    .apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
        at org
    .apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
        at java
    .util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java
    .util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java
    .util.concurrent.FutureTask.run(FutureTask.java:138)
        at java
    .util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java
    .util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java
    .lang.Thread.run(Thread.java:662)

    posted @ 2012-07-12 10:15 IceWee 閱讀(712) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 四虎精品亚洲一区二区三区| 日韩在线免费视频| 4虎1515hh永久免费| 18禁免费无码无遮挡不卡网站| 美女被cao免费看在线看网站| 18禁超污无遮挡无码免费网站国产 | 国产精品亚洲片在线花蝴蝶| 日本中文字幕免费看| 日韩精品无码免费专区午夜 | 国产又黄又爽又大的免费视频 | 日韩精品无码一区二区三区免费| 在线精品一卡乱码免费| 国产精品无码素人福利免费 | 亚洲A丁香五香天堂网| 亚洲av午夜福利精品一区| 亚洲综合一区二区精品导航| 亚洲依依成人亚洲社区| 乱淫片免费影院观看| 久久久久免费看黄a级试看| 无码人妻久久一区二区三区免费丨| 国产成人免费a在线视频app| 亚洲精品无码精品mV在线观看| 亚洲国产精品成人精品小说| 性生大片视频免费观看一级| 在线日本高清免费不卡| 国产又黄又爽又刺激的免费网址| 亚洲日韩欧洲无码av夜夜摸| 亚洲一区二区三区播放在线| 日本一区二区在线免费观看| 在线观看的免费网站无遮挡| 国产又长又粗又爽免费视频| 亚洲伊人久久大香线蕉苏妲己| 亚洲欧洲精品成人久久曰| 玖玖在线免费视频| 日韩a级毛片免费观看| 亚洲久本草在线中文字幕| 午夜在线亚洲男人午在线| 18pao国产成视频永久免费| 亚洲福利精品一区二区三区| 97亚洲熟妇自偷自拍另类图片| 亚洲av日韩专区在线观看|