`
文章列表
        编写带有native声明的方法的java类     使用javac命令编译所编写的java类     使用javah ?jni java类名生成扩展名为h的头文件     使用C/C++实现本地方法     将C/C++编写的文件生成动态连接库
Log4j简介 第1章.     Log4j 的优点 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 log4j的好处在于: 1)        通过修改配置文件,就可以决定log信息的目的地——控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等 2)        通过修改配置文件,可以定义每一条日志信息的 ...
  Collection   ├List   │├LinkedList   │├ArrayList   │└Vector   │ └Stack   └Set   Map   ├Hashtable   ├HashMap   └WeakHashMap   Collection接口 ArrayList类扩展AbstractList并执行List接口。ArrayList支持可随需要而增长的动态数组。  首先看一下LinkedList和ArrayList的继承关系。 public class ArrayList<e></e> extends AbstractList<e> ...
1,事务管理应该放在商业逻辑上。  
Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。 我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务定义,也就是配置事务的属性。 Spring在TransactionDefinition接口中定义这些属性,以供PlatfromTransactionManager使用, PlatfromTransacti ...
1,在给每个属性设值时 ,找到对应的 PropertyEditor,  转换成正确的类型设值 。 CustomEditorConfigurer检查到Bean包含需要转换的属性,并且该属性在容器中的值是字符串时,它就会调用setAsText(String text),把字符串转换成目标类的实例。 2,advice跟advisor的区别:  advice:    它是interceptor, 类型是Around, After, Before, Throw类型中的一种。  advisor:  advisor也是interceptor,从某种意义上,可以理解它也是一种advice,却可以对一个对象的方法 ...
1,  spring中的<bean></bean>的property, name的值是其对应类的setter方法的后面部分小写。 也就是spring根据name的值找对应的setter方法。  setName  2, 请不要将BeanPostProcessor(后置处理)标记为延迟初始化。如果你这样做,Spring容器将不会注册它们. 确信你的各个BeanPostProcessor标记为'lazy-init="false" 3,spring aop里面的 getBean(id); 这个id一定要是代理工厂里的id(如ProxyFactoryBean的i ...
Spring注入的方式有三种:  <一>接口注入 --------通过实现一个接口来实现对依赖对象的注入   xml文件beans配置,对象用property设置。  <二>set值注入--------通过写以来对象的set方法来实现注入  xml文件beans配置,对象用property设置。  <三>构造子注入-------通过构造函数来对依赖对象进行注入  xml文件beans配置,对象用constructor-arg index=""  type=""设置。 String类型不能用type指定类型,不写就行了。数 ...
五、线程的同步   由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。   由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。   1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如:   public ...
验证分两种。一种客户端验证、一种服务器端验证。 第一步:修改Form类代码:LoginForm extends ValidatorForm implements Serializable 如果是动态FormBeans 请修改配置文件中form-bean定义的type类为org.apache.struts.validator.DynaValidatorForm。 如:<form-bean name="SiteForm" type="org.apache.struts.validator.DynaValidatorForm">...</for ...
1,虚拟机装载类,和类中所引用的所有类。 2,java api  class文件为底层主机提供了具有平台无关性,标准接口的java程序,每个特定的平台都实现了jvm和api,所以java具有平台无关性。 3,java虚拟机的缺陷:性能,内存管理,线程调度,最小公分母问题,反编译。 4,不要依赖java垃圾回收的及时终结和线程优先级 5,java沙箱     5.1  类装载器,顺序:启动类装载器,标准扩展类装载器,类路径类装载器,网络类装载器。    5.2 class文件检验器 : class文件结构检查,类型数据的语义检查,字节码验证,符号引用验证。   5.3 class内置安全检测。 ...
Global site tag (gtag.js) - Google Analytics