发表于: 2017-11-28 21:24:06

1 714


今天完成的事

【出去逛了逛】

作为低端人口躲了一下首都的追杀。

【解决了一下困扰两天的bug】

在北京的马路上顶着寒风行走的时候,想起了一个解决最近bug的新思路。

我的项目出现的问题,我每一次都学着打断电去排查,知道查到源码,追着源码不放,有点狭隘了。

仔细回头看一下tomcat的报错日志入手试试。

我们重新看一哈这个错误,

挨个百度关键词。

http://tinypig.iteye.com/blog/214442

这个文档说明了。

针对“java.lang.VerifyError”的错误原因,主要是因为jar包的版本问题导致,可能是因为部署环境存在2套以上版本冲突的驱动程序部署在应用服务器不同的lib目录下,或者是jar包被替换了。

我就换了个jar包。


这是我娶maven远地仓库找到的。

我对比了一下两个有什么区别。

右面是远程仓库的。

结构是差不多的。

我只能理解为我用的是JDK1.8不能匹配2.2.6版本。

不准备深究了,这个事情耗费了两天时间了。

这个时候我的程序就没问题了

注意看日志。

都可以从缓存里取。

我插入一个职业试试。

每次插入都会存到数据库并替换缓存。

【压测比较数据】

先用没有缓存的测一下TPS。90%线

100个同时并发。

200个同时并发。


真的辣鸡。再来看一下我用了缓存的。

100个同时并发。


200个同时并发。


可以说缓存的效果非常明显了。

【学习阿贾克斯】

ajax
    异步JavaScript和XML,
    AJAX 是一种用于创建快速动态网页的技术。
    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
    传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

在主页写一个小一点的阿贾克斯

<%--
 Created by IntelliJ IDEA.
 User: 张志明先生
 Date: 2017/11/29
 Time: 1:15
 To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
   <title>Title</title>
   <script type="text/javascript">
       var xmlhttp;
       function btnClick()
{
xmlhttp=null;
           if (window.XMLHttpRequest)
{// code for Firefox, Opera, IE7, etc.
               xmlhttp=new XMLHttpRequest();
           }
else if (window.ActiveXObject)
{// code for IE6, IE5
               xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
           }
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=function () {

};
               xmlhttp.open("GET","${pageContext.request.contextPath}/ajax1",true);
               xmlhttp.send(null);
           }
else
           {
alert("Your browser does not support XMLHTTP.");
           }
}

function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"
               if (xmlhttp.status==200)
{// 200 = "OK"
                   document.getElementById('T1').innerHTML=xmlhttp.responseText;
               }
else
               {
alert("Problem retrieving data:" + xmlhttp.statusText);
               }
}
}
</script>
</head>
<body>
<input type="button" value="点我控制台会打印" onclick="btnClick()">
</body>
</html>

这个阿贾克斯的作用主要是

一个点击按钮,没点一次,控制台都会打印一行语句。

controen层是这样的一个输出语句

点一次我的控制台就会


明天小课堂再延伸一下,差不多就可以开讲了。

收获

学着看了一下怎么分析jar包冲突。

以前只是知道,部署到tomca里时,要把servlet-api和jsp-api两个包删除,那是我接触到的唯一的包冲突的实例。经过这次教训,总算彻底的认识到jar包冲突的问题了:很隐蔽!没有经验根本无法发现,这也是使用maven带来的弊端吧,间接引进的包太多。

但是我今天没用到,先记录一下。



遇到的问题

本地和远程的类中serialVersionUID 值不一样.

两个序列化的值不一样。

我在profession里面没有指定序列化的值。

和远程指定一样的就好了。

明天的计划

小课堂,任务六

禅道链接

http://task.ptteng.com/zentao/task-view-14263.html


返回列表 返回列表
评论

    分享到