上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: 销售那边一个项目需要评测通过,客户才购买,居然要求是在tomcat条件下,点击登录进入主页面这个过程并发在3000的时候,响应时间不能超过20s。 大家都觉得这么要求有点不可能,但用户看见别人的产品可以达到,就要这么要求,于是只有应付了,不知道部署上有没做负载均衡,我们的项目专门为评测做了一些修改,算是偷梁换柱,评委也不管别的,只要达到要求。 1修改web.xml,struts.xml,把能去掉的拦截器,过滤器都去掉, 2把main.jsp,直接修改成静态页面, 3把登录页面一些不是必须的ajax请求去掉,不是必须的图片也去掉,至于必须的ajax请求,则把这个ajax请求的结果,全... 阅读全文
posted @ 2014-02-24 11:12 寂静沙滩 阅读(319) 评论(0) 推荐(0) 编辑
摘要: Java中的数组其实也是一个对象,但是确实是一个特殊的对象,实在是太特殊了,继承自Object, 多出一个属性length,改写了clone方法。我debug了数组对象的运行时的Class对象,只有一个name属性,用[L开头,其他属性全是null。调用getDeclaredFields,getDeclaredMethods都没有数据。这就奇怪了,明明可以用的length属性在哪的呢stackoverflow上有简单的解释:Arrays are special objects in java, they have a simple attribute namedlengthwhich isfi 阅读全文
posted @ 2014-02-21 18:23 寂静沙滩 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 今天要把开发的项目导出来拿到客户那边去部署运行一下。我们平时开发环境用的IDE是IntelliJ IDEA,智能化程度比较高。 代码写好后,通过IDEA启动tomcat运行是完全没问题的,然后我关闭IDEA,把这个项目手动复制到tomcat的webapp目录下,再在tomcat的bin目录启动tomcat,问题却出来了,报错找不到一些启动的xml文件。 一开始完全摸不着北,只是觉得很奇怪,叫来发开部经常部署的同事来看,也不知道怎么回事,他们只是在操作的时候强调说路径不能有中文。后来一点一点debug才发现,我们启动Class类里的代码里有查找当前路径字符串的代码,然后根据当前路径再加上... 阅读全文
posted @ 2014-02-17 06:17 寂静沙滩 阅读(666) 评论(0) 推荐(0) 编辑
摘要: java的方法是运行期动态绑定上去的,可以根据自己真正实例化的类来判断调用哪个方法,比如子类重写了父类方法,会调用子类方法。而利用final关键字可以让方法不能重写,就可以在编译期就绑定,这样就可以提高执行效率。private方法默认就是final的final的类里面所有方法默认都是final的====================================================================虚函数定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1]语法:virtual 函数返回类型 函数名(参数表) { 函数体 }用途 阅读全文
posted @ 2014-01-23 18:38 寂静沙滩 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 先简单介绍下java的classloader,网上资料很多,就说点关键的。 Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。系统提供的类加载器主要有下面三个: 引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的,并不继承自 java.lang.ClassLoader。 扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类。 系统类加... 阅读全文
posted @ 2014-01-21 12:21 寂静沙滩 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 之前使用cglib的时候不需要将classLoader作为参数传入,但动态代理却要,带着这个疑惑进入这个方法: Proxy.newProxyInstance(classLoader,interfaces,InvocationHandler) 要在classLoader里去找interfaces,如果也加载进来了才能继续执行,并且用ProxyGenerator动态生成了一个代理类的字节码文件(使用了缓存技术,只需要生成一次),然后用classLoader将这个字节码文件加载进来。这就是classLoader的作用。 可以这样看生成的字节码类。 加入执行参数: System.setP... 阅读全文
posted @ 2014-01-17 23:36 寂静沙滩 阅读(4448) 评论(1) 推荐(0) 编辑
摘要: threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好的做法是将调用threadlocal的remove方法. 在threadlocal的生命周期中,都存在这些引用. 看下图: 实线代表强引用,虚线代表弱引用. 每个thread中都存在一个map, map的类型是ThreadLocal.ThreadLocalMap. Map中的key为一个threadlocal实例. 这个Map的确使用了弱引用,不过弱引用只是针对key. 每个key都弱... 阅读全文
posted @ 2014-01-17 23:14 寂静沙滩 阅读(50652) 评论(14) 推荐(5) 编辑
摘要: 一个一直运行正常的应用突然无法运行了。在类库被更新之后,返回下面的错误。Exceptioninthread"main"java.lang.NoSuchMethodError:com.nhn.user.UserAdmin.addUser(Ljava/lang/String;)V atcom.nhn.service.UserService.add(UserService.java:14) atcom.nhn.service.UserService.main(UserService.java:19)应用的代码如下,而且它没有被改动过。// UserService.java … p 阅读全文
posted @ 2014-01-17 14:21 寂静沙滩 阅读(6379) 评论(0) 推荐(3) 编辑
摘要: 在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错。虽然这是很符合多态的现象,也符合java的动态绑定规范,但 阅读全文
posted @ 2014-01-14 15:13 寂静沙滩 阅读(331551) 评论(7) 推荐(33) 编辑
摘要: 1 JavaScript对象 ECMA-262将对象(object)定义为"属性的无序集合,每个属性存放一个原始值、对象或函数"(unordered collection of properties each of which contains a primitive value, object, ... 阅读全文
posted @ 2014-01-12 13:39 寂静沙滩 阅读(501) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页