1、错误描述
usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop }
2014-7-12 14:05:45 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded...
Caused by: java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWo
1、错误描述
usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop }
2014-7-12 14:19:28 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded...
要想实现多线程,就必须在主线程中创建新的线程对象.
任何线程一般具有5种状态,即创建,就绪,运行,阻塞,终止.
创建状态:
在程序中用构造方法创建了一个线程对象后,新的线程对象便处于新建状态,此时,他已经有了相应的内存空间和其他资源,但还处于不可运行状态.
就绪状态:
新建线程对象后,调用该线程的start()方法可以启动线程.当线程启动时,线程进入就绪状态.此时,线程将进入线程队列排队...
(九)外观模式
外观模式为子系统提供一个接口,便于使用。解决了类与类之间关系的,外观模式将类之间的关系放在一个 Facade 类中,降低了类类之间的耦合度,该模式不涉及接口。
(十)桥梁模式 Bridge
桥梁模式就是吧事物和具体的实现分开,将抽象与抽象方法的实现相互分离来实现解耦,以便两者能够相互独立的变化。...
回调函数
回调函数涉及的3个函数
登记回调函数
回调函数
响应回调函数
简单的解释
你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做...
因为项目需要在一个表单里面提交多个对象,比较好的做法就是直接在控制器方法参数里传一个数组。
由于Spring mvc框架在反射生成控制方法的参数对象的时候会调用这个类的getDeclaredConstructor方法来获得构造函数。
根据这个方法的jdk文档,这个类是一个数组对象时,这个方法会抛出java.lang.NoSuchMethodException,然后一直卡在这个问题。
同事后来...
一个Java程序的多线程之间可以共享数据。
当线程以异步方式访问共享数据时,有时候是不安全的或者不和逻辑的。比如卖火车票,同一时刻一个线程在读取数据,另外一个线程在处理数据,当处理数据的线程没有等到读取数据的线程读取完毕就去处理数据,必然得到错误的处理结果。
卖火车票Demo:
class MyThread implements Runnable{
private int ...
引言:
对于C语言程序,了解它运行时在内存中是如何分配的对于我们理解它的运行机制是非常有用的。下面就总结一下C语言程序的一些内存分配知识。
一
一段C程序,编译连接后形成的可执行文件一般有代码段、数据段、堆和栈等几部分组成。其中数据段又包括只读数据段、已初始化的读写数据段和未初始化的BSS段。如下图所示:
文本段:存放程序执行...
在C语言操作中会用到大量的内存操作,其中很常用的一个是realloc().
由字面意思可以知道,该函数的作用是用于重新分配内存。
使用方式如下:
NewPtr=(数据类型*)realloc(OldPtr,MemSize)
其中OldPtr指向 待重新分配内存的指针。
NewPtr指向 新分配空间的指针。
MemSize...