深入java内部

1、jar用法

压缩

定位到包的上一个文件夹  jar –cvf 名字.jar *.*      (*.*表示当前文件夹下的所有子文件夹)

 

解压:

jar –xvf名字.jar

2、-verbose

java –verbose:class Main 跟踪Main类所使用的类别

3、-classpath

java –classpath e:\java\java编程\cankao\bin   Test    (在此目录下执行Test.class,设置classpath与“-cp”一样)

 

set classpath= e:\java\java编程\cankao\bin

java Test

 

5、-jar

java -jar test.jar >log.txt

 

6、正则表达式

1       [a-zA-Z]   [a-z]|[A-Z]   [a-z[A-Z]]结果一样,都是并集或者

2    [A-Z&&[ABC]]   是交集 并且

3    \\.matches(“\\\\”)    true  在正见则表达式里//表示/

4     //. 用于匹配 .字符

5     \n.matches(“^[\\s&&[^\\n]]*\\n$”) 用于匹配空白行

6     [\\w[.-]]+@[\\w[.-]]+\\.[\\w]+用于匹配一个电子邮件

7    Matcher.matche() 是和整个字符匹配,即从开始逐个比较,

8   Matcher.find() 是和上次比较后的字串比较

9    Matcher.lookingAt() 是每次都和整个字符串的前面比较

10  一般情况下是用Greedy,即最多匹配,而后加?时是Reluctant,即最低匹配

 

7、编译优化

       a = "1"+""; 

      b = "1"+""  

      a 和b是同一个对象,因为编译器都给优化成了1

 

8、iterator不可多线程使用,在迭代的时候不能增删改集合

 

9、自定义异常

自定义异常时,若继承了runtimeexception,则为运行时异常,无需try catch,若继承了exception则需要使用try catch  ,通常情况下继承exception

 

10、spring+hibernate事务

事务管理器

<beanid="transactionManager"

       class="org.springframework.orm.hibernate3.HibernateTransactionManager">

       <propertyname="sessionFactory">

           <refbean="sessionFactory"/>

       </property>

</bean>

事务的传播属性,如果没有匹配到的,则没有事务

<tx:adviceid="txAdvice"transaction-manager="transactionManager">

       <tx:attributes>

           <tx:methodname="o*"read-only="true"/>

           <tx:methodname="modify*"propagation="REQUIRED"/>

           <tx:methodname="insert*"propagation="REQUIRED"/>

           <tx:methodname="add*"propagation="REQUIRED"/>

           <tx:methodname="up*"propagation="REQUIRED"/>

       </tx:attributes>

    </tx:advice>

配置在哪些类的哪些方法上加属性,需要结合事务的传播属性才能用

<aop:config>

       <aop:pointcutid="bussinessService"

           expression="execution( * com.zwls.service..*.*(..))"/>

       <aop:advisorpointcut-ref="bussinessService"advice-ref="txAdvice"/>

    </aop:config>

 

使用:1、只有在上层通过注入得到的对象直接调用的方法才起作用

              2、在上层通过trycatchexception能捕获到事务异常,而且会自动回滚。

              3、在上面配置的方法里面加trycatchexction没有用

11、Hibernate属性配置

      1)<property>元素 insert属性:设置为false,在insert语句中不包含这个字段,表示永远不会被插入,默认true
      2)<property>元素 update属性:设置为false,在update语句中不包含这个字段,表示永远不会被修改,默认true
      3)<class>元素 mutable属性:设置为false就是把所有的<property>元素的update属性设置为了false,说明这个对象不会被更新,默认true
      4)<property>元素 dynamic-insert属性:设置为true,表示insert对象的时候,生成动态的insert语句,如果这个字段的值是null就不会加入到insert语句当中.默认false
      5)<property>元素 dynamic-update属性,设置为true,表示update对象的时候,生成动态的update语句,如果这个字段的值是null就不会被加入到update语句中,默认false
      6)<class>元素 dynamic-insert属性:设置为true,表示把所有的<property>元素的dynamic-insert属性设置为true,默认false
      7)<class>元素 dynamic-update属性:设置为true,表示把所有的<property>元素的dynamic-update属性设置为true,默认false

 12

apache

Apache只是一个web服务器,负责响应客户端请求。对于静态页面请求,会立即返回相应页面给客户端;如果是动态页面,Apache会根据httpd.conf中的AddType配置,提交给合适的动态脚本解析程序预处理,然后将脚本解析程序处理后生成的静态页面返回给客户端。

 

所以,单纯只安装apache是无法处理动态页面的,必须安装相应的动态脚本解析程序或动态库,并在httpd.conf中增加必要的AddType配置项(如,要支持php脚本,需要安装php,并在httpd.conf中增加配置 AddType application/x-httpd-php .php)。

 

你可能感兴趣的:(java,Hibernate)