java tour -凯发k8网页登录

 

2023年3月4日

     摘要: 页面表单:code highlighting produced by actipro codehighlighter (freeware)http://www.codehighlighter.com/-->    阅读全文

posted @ 花滿樓 阅读(46) | |  

2012年11月16日

资源pom.xml
<properties>
<slf4j.version>1.7.1slf4j.version>
<log4j.version>1.2.17log4j.version>
<logback.version>1.0.1logback.version>
properties>
<dependencymanagement>
        <dependencies>
        
        
            
            <dependency>
                <groupid>org.slf4jgroupid>
                <artifactid>slf4j-apiartifactid>
                <version>${slf4j.version}version>
            dependency>

            
            <dependency>
                <groupid>org.slf4jgroupid>
                <artifactid>jcl-over-slf4jartifactid>
                <version>${slf4j.version}version>
                <scope>runtimescope>
            dependency>


            
            <dependency>
                <groupid>org.slf4jgroupid>
                <artifactid>jul-to-slf4jartifactid>
                <version>${slf4j.version}version>
                <scope>runtimescope>
            dependency>

            
            <dependency>
                <groupid>org.slf4jgroupid>
                <artifactid>slf4j-log4j12artifactid>
                <version>${slf4j.version}version>
                <scope>runtimescope>
            dependency>
            
            <dependency>
                <groupid>org.slf4jgroupid>
                <artifactid>log4j-over-slf4jartifactid>
                <version>${slf4j.version}version>
                <scope>runtimescope>
            dependency>
            
            
            <dependency>
                <groupid>ch.qos.logbackgroupid>
                <artifactid>logback-coreartifactid>
                <version>${logback.version}version>
                <scope>runtimescope>
                <optional>trueoptional>
            dependency>
            <dependency>
                <groupid>ch.qos.logbackgroupid>
                <artifactid>logback-classicartifactid>
                <scope>runtimescope>
                <version>${logback.version}version>
                <optional>trueoptional>
            dependency>
            <dependency>
                <groupid>ch.qos.logbackgroupid>
                <artifactid>logback-accessartifactid>
                <version>${logback.version}version>
                <scope>runtimescope>
                <optional>trueoptional>
            dependency>
    dependencies>
dependencymanagement>        

a.slf4j/logback 组合(logback.xml)

        <dependency>
            <groupid>org.slf4jgroupid>
            <artifactid>slf4j-apiartifactid>        
        dependency>
        <dependency>
            <groupid>ch.qos.logbackgroupid>
            <artifactid>logback-coreartifactid>
        dependency>
        <dependency>
            <groupid>ch.qos.logbackgroupid>
            <artifactid>logback-classicartifactid>
        dependency>

b.slf4j/log4j组合(log4j.properties or log4j.xml)

<dependency>
    <groupid>org.slf4jgroupid>
    <artifactid>slf4j-apiartifactid>
dependency>

<dependency>
    <groupid>log4jgroupid>
    <artifactid>log4jartifactid>
dependency>

<dependency>
    <groupid>org.slf4jgroupid>
    <artifactid>slf4j-log4j12artifactid>
dependency>

c.如果是已用了commons-logging/log4j想用用slf4j/logback,那也容易用下面的配置

<dependency>
    <groupid>org.slf4jgroupid>
    <artifactid>slf4j-apiartifactid>
dependency>

<dependency>
    <groupid>org.slf4jgroupid>
    <artifactid>jcl-over-slf4jartifactid>
dependency>

<dependency>
    <groupid>org.slf4jgroupid>
    <artifactid>log4j-over-slf4jartifactid>
dependency>
<dependency>
    <groupid>ch.qos.logbackgroupid>
    <artifactid>logback-coreartifactid>
dependency>
<dependency>
    <groupid>ch.qos.logbackgroupid>
    <artifactid>logback-classicartifactid>
dependency>            
再到http://logback.qos.ch/translator/welcome.do,將你原來的log4j.properties转成logback.xml
就可以將commons-logging.jar 跟 log4j.jar自你系統中移除了



posted @ 花滿樓|  

2012年11月11日

环 境 
a.下载 beansoft的绿色版mysql (copy 成两份 ,master,slave) 取mysql\mysql50green下内容复制
b. 在cmd命令行模式下进入master \bin  执行mysqld install  master命令。作用是为mysql安装一个服务,服务名是 master 。同理操作slave 。(注意 mysqld =mysqld-nt

c. 在运行里运行regedit,打开windows注册表编辑器,
在hkey_local_machine\system\currentcontrolset\services\master 打开,
修改下面的imagepath数值: "x:\ master \bin\mysqld" --defaults-file="d:\master\my.ini"  master 
确定,退出注册表编辑器。 (同理操作slave)
d.定义my.ini拷贝到 x:\ master  下面
[client]
   port = 3308
   [mysqld]
    port           =3308
    server-id    = 1
    binlog-do-db=test1  ##要同步的数据库名为test1 
    log-bin    =mysql-bin
e.定义my.ini拷贝到x:\slave下面
[client]
   port        = 3309

   [mysqld]
   port        = 3309
   server-id       = 2

   master-host     =   127.0.0.1

   master-user     =   slaver1

   master-password =   slaver1pwd

   master-port     =  3308

   replicate-do-db=test1  ##要同步的数据库
f.  

然后在master 
console 执行: grant file,select,replication slave on *.* to 'slaver1'@'127.0.0.1' identified by 'slaver1pwd';
开一个新账号(用户名:slaver1 密码:slaver1pwd)并赋于权限 
运行mysqld.exe,并创建新数据库test1,可在console下输入:show master status\g查看状态!

   *************************** 1. row*****************
            file: mysql-bin.000305
            position: 98
            binlog_do_db: test1
            binlog_ignore_db:

g.

 运行slaver 的mysqld.exe,在console窗口执行 show slave status\g  查看状态,如下:

mysql> show slave status\g
*************************** 1. row ***************************
             slave_io_state: waiting for master to send event
                master_host: 127.0.0.1
                master_user: slaver1
                master_port: 3308
              connect_retry: 60
            master_log_file: mysql-bin.000002
        read_master_log_pos: 2495
             relay_log_file: 2012-0416-1022-relay-bin.000007
              relay_log_pos: 235
      relay_master_log_file: mysql-bin.000002
           slave_io_running: yes
          slave_sql_running: yes
            replicate_do_db: test1
        replicate_ignore_db: 
         replicate_do_table: 
     replicate_ignore_table: 
    replicate_wild_do_table: 
replicate_wild_ignore_table: 
                 last_errno: 0
                 last_error: 
               skip_counter: 0
        exec_master_log_pos: 2495
            relay_log_space: 235
            until_condition: none
             until_log_file: 
              until_log_pos: 0
         master_ssl_allowed: no
         master_ssl_ca_file: 
         master_ssl_ca_path: 
            master_ssl_cert: 
          master_ssl_cipher: 
             master_ssl_key: 
      seconds_behind_master: 0
1 row in set (0.00 sec)


posted @ 花滿樓|  

2012年4月24日

 1 ::windows xp配置
 2 set pan=%0
 3 set pan=%pan:~1,3%
 4 set devenvdir=%pan�v_for_jee
 5 
 6 ::windows 7手动输入盘符,放开注释
 7 set devenvdir=x:\dev_for_jee
 8 
 9 wmic environment where "name='java_home'" delete
10 wmic environment where "name='mvn_home'" delete
11 wmic environment where "name='classpath'" delete
12 wmic environment where "name='m2_repo'" delete
13 wmic environment create name="java_home",username="",variablevalue="�venvdir%\java1.6"
14 wmic environment create name="mvn_home",username="",variablevalue="�venvdir%\maven3.0.4"
15 wmic environment create name="m2_repo",username="",variablevalue="�venvdir%\repository"
16 wmic environment create name="classpath",username="",variablevalue="%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\bin;.;"
17 wmic environment where "name='path' and username=''" set variablevalue="%%java_home%%\bin;%%mvn_home%%\bin;%%m2_repo%%;%path%"
18 pause
19 

posted @ 花滿樓|  

2011年10月25日

这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况:
1.outofmemoryerror: java heap space
2.outofmemoryerror: permgen space
3.outofmemoryerror: unable to create new native thread.
对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm参数来解决。(-xms -xmx -xx:permsize -xx:maxpermsize)
最后一种可能需要调整操作系统和tomcat jvm参数同时调整才能达到目的。

第一种:是堆溢出。
在jvm中如果98%的时间是用于gc且可用的 heap size 不足2%的时候将抛出此异常信息。
没有内存泄露的情况下,调整-xms -xmx参数可以解决。
-xms:初始堆大小
-xmx:最大堆大小
但堆的大小受下面三方面影响:
1.相关操作系统的数据模型(32-bt还是64-bit)限制;(32位系统下,一般限制在1.5g~2g;我在2003 server 系统下(物理内存:4g和6g,jdk:1.6)测试 1612m,64为操作系统对内存无限制。)
2.系统的可用虚拟内存限制;
3.系统的可用物理内存限制。
堆的大小可以使用 java -xmx***m version 命令来测试。支持的话会出现jdk的版本号,不支持会报错。
-xms -xmx一般配置成一样比较好比如set java_opts= -xms1024m -xmx1024m

第二种:永久保存区域溢出
permgen space的全称是permanent generation space,是指内存的永久保存区域。这一部分用于存放class和meta的信息,class在被 load的时候被放入permgen space区域,它和和存放instance的heap区域不同,gc(garbage collection)不会在主程序运行期对permgen space进行清理,所以如果你的app会load很多class的话,就很可能出现permgen space错误。这种错误常见在web服务器对jsp进行pre compile的时候。但目前的hibernate和spring项目中也很容易出现这样的问题。 的帖子有讨论的这个问题。可能是由于这些框架会动态class,而且jvm的gc是不会清理pemgen space的,导致内存溢出。
这一个一般是加大-xx:permsize -xx:maxpermsize 来解决问题。
-xx:permsize 永久保存区域初始大小
-xx:permsize 永久保存区域初始最大值
这一般结合第一条使用,比如 set java_opts= -xms1024m -xmx1024m -xx:permsize=128m -xx:permsize=256m
有一点需要注意:java -xmx***m version 命令来测试的最大堆内存是 -xmx与 -xx:permsize的 和 比如系统支持最大的jvm堆大小事1.5g,那 -xmx1024m -xx:permsize=768m 是无法运行的。

第三种:无法创建新的线程。
这种现象比较少见,也比较奇怪,主要是和jvm与系统内存的比例有关。
这种怪事是因为jvm已经被系统分配了大量的内存(比如1.5g),并且它至少要占用可用内存的一半。有人发现,在线程个数很多的情况下,你分配给jvm的内存越多,那么,上述错误发生的可能性就越大。

产生这种现象的原因如下():

每一个32位的进程最多可以使用2g的可用内存,因为另外2g被操作系统保留。这里假设使用1.5g给jvm,那么还余下500m可用内存。这500m内 存中的一部分必须用于系统dll的加载,那么真正剩下的也许只有400m,现在关键的地方出现了:当你使用java创建一个线程,在jvm的内存里也会创 建一个thread对象,但是同时也会在操作系统里创建一个真正的物理线程(参考jvm规范),操作系统会在余下的400兆内存里创建这个物理线程,而不 是在jvm的1500m的内存堆里创建。在jdk1.4里头,默认的栈大小是256kb,但是在jdk1.5里头,默认的栈大小为1m每线程,因此,在余 下400m的可用内存里边我们最多也只能创建400个可用线程。

这样结论就出来了,要想创建更多的线程,你必须减少分配给jvm的最大内存。还有一种做法是让jvm宿主在你的jni代码里边。

给出一个有关能够创建线程的最大个数的估算公式:

(maxprocessmemory - jvmmemory - reservedosmemory) / (threadstacksize) = number of threads

对于jdk1.5而言,假设操作系统保留120m内存:
1.5gb jvm: (2gb-1.5gb-120mb)/(1mb) = ~380 threads
1.0gb jvm: (2gb-1.0gb-120mb)/(1mb) = ~880 threads
在2000/xp/2003的boot.ini里头有一个启动选项,好像是:/pae /3g ,可以让用户进程最大内存扩充至3g,这时操作系统只能占用最多1g的虚存。那样应该可以让jvm创建更多的线程。
因此这种情况需要结合操作系统进行相关调整。

因此:我们需要结合不同情况对tomcat内存分配进行不同的诊断才能从根本上解决问题。

参考资料(从这些资料中受益良多):



from:http://www.blogjava.net/george/archive/2009/08/18/291579.html

posted @ 花滿樓|  

2011年10月13日

    只有注册用户登录后才能阅读该文。

posted @ 花滿樓|  

仅列出标题  下一页

导航

统计

常用链接

留言簿

随笔档案

凯发k8网页登录的友情链接

搜索

最新评论

阅读排行榜

评论排行榜

网站地图