- 博客(68)
- 收藏
- 关注
原创 序列化和反序列化
一、序列化和反序列化的概念序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。二、对象序列化的主要用途1、把对象的字节顺序永久地保存到硬盘上,通常存放在一个文件中。2、在网络上传送对象的字节序列。 事例:1. 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的We
2016-11-23 11:28:06
426
转载 阿里druid学习,号称最好的数据库连接池
一:介绍 https://github.com/alibaba/druid/wiki/%E9%A6%96%E9%A1%B5二:比较 druid是类似dbcp,c3p0的一个数据库连接池框架,性能比这两者好,同时自带监控页面,可以实时监控应用的连接池情况以及其中性能差的sql,方便我们找出应用中连接池方面的问题,多的就不说了,详细的介绍,github上都有三:实战
2016-11-09 11:21:12
11859
转载 史上最全的Maven Pom文件标签详解
span style="padding:0px; margin:0px">project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org
2016-11-09 10:15:27
4305
1
转载 myeclipse2014/eclipse luna 等最新版本安装aptana插件
最近想试试eclipse里面添加jquery的自动提示和完成,晚上搜了搜,发现都是老的方法,对新版的eclipse已经不适用了,于是自己在那里摸索了半个晚上,终于成功了,记下来方便日后查阅1、网上说的什么links方式啊。在线方式啊,都是什么的浮云,在myeclipse2014/eclipse luna这两个新版的里面根本不行,按照下面的步骤就可以成功安装了:第一步:采用离线的安装
2016-07-23 16:58:52
2032
原创 非静态类中为什不能定义静态方法
回答方案一:因为静态方法是可以直接调用的,既不创建对象也可以直接调用。而非静态的内部类,它属于外部类的一个成员类。需要先创建它的实例以后才能调用它的方法,当你创建了外部类以后,它的内部类是不存在的,所以你不能在那个对象没有之前就调用它的,就好想,是一个实际存在的东西和一个虚拟存在的东西一样,实际存在的 东西是不能被虚拟存在的东西所具有的。我可能说的不太明白,你也可以用java的类的定义的要求去推证
2016-06-20 21:19:05
5670
6
转载 equals和"=="的区别
凡是比较基本类型只能用==,比较结果你看到的字面值相等就会相等,什么叫基本类型? byte,short,int,long,char,float,double这几种就是基本类型.基本类型不是对象所以不存在用equals比较.凡是比较引用类型(对象),==比较的是两个引用是不是指向同一个内存地址,equals比较的是两个引用的字面值是不是相同,什么叫字面值?你能看到的值就是字面值,比如:Strin
2016-06-19 21:24:28
319
转载 Servelt是否线程安全以及如何保证线程安全
摘 要:介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍。 关键字:Servlet 线程安全 同步 Java内存模型 实例变量 Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/J
2016-06-19 14:55:00
2577
原创 Unsupported major.minor version 51.0解决办法
我使用的是myeclipse+jdk1.7环境,结果使用时出现Unsupported major.minor version 51.0错误提示,下面我来介绍Unsupported major.minor version 51.0错误的解决办法.也加深了自己对eclipse中build path和java compiler compliance level的理解。 解决Uns
2016-06-14 13:19:16
740
转载 dbcp和c3p0数据连接池比较
c3p0、dbcp和proxool比较现在常用的开源数据连接池主要有c3p0、dbcp和proxool三种,其中: hibernate开发组推荐使用c3p0; spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect,告诉连接被重置,这个设置可以解决); hibernate in action推
2016-06-03 11:10:05
3354
转载 如何使用ruby在github上搭建jekyll博客
使用jekyll将markdown文件生成静态的html文件,并使用主题有序的进行布局,形成最终的博客页面。特点基于ruby使用Markdown书写文章无需数据库可以使用GitHub Pages发布安装Ruby环境由于我的是在windows的操作,所以这里用rubyinstaller——http://rubyinstaller.org/downloads/,li
2016-06-02 11:29:55
1221
转载 Ruby 切换淘宝源报错WARNING: Error fetching data: SSL_connect returned=1 errno=0 state=SSLv3 read s erver ce
第一步下载http://pan.baidu.com/s/1geZKsCF 复制到ruby安装的根目录第二步添加系统环境变量:SSL_CERT_FILE=ruby的根目录加\cacert.pem(类似d:\Ruby22-x64\cacert.pem)第三步关闭命令行,重新打开,重新键入gem sources -a https://ruby.taobao.org/亲
2016-06-01 17:22:41
4655
1
原创 TortoiseGit安装图解以及(no supported authentication methods avaiable)问题解决
TortoiseGit安装图解:第一步.第二步、第三步、第四步:第五步:第六步:在git(小乌龟)向github远程推送(push)文件是会报一个异常 no supported authentication methods avaiable解决方法:因为git(小乌龟)和Git的冲突我们需要把乌龟git设置改正
2016-05-31 16:28:45
15674
1
原创 java类中属性优先执行顺序
1.父类静态代码块 ( java虚拟机加载类时,就会执行该块代码,故只执行一次)2 .子类静态代码块 ( java虚拟机加载类时,就会执行该块代码,故只执行一次)3. 父类属性对象初始化4.父类普通代码块(每次new,每次执行 )5. 父类构造函数(每次new,每次执行)6.子 类 属性对象初始化7.子类普通代码块(每次new,每次执行
2016-05-18 19:46:39
586
转载 java反射——运用反射生成jdk动态代理
在Java的java.lang.reflect包下提供一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成jdk动态代理类或动态代理对象。 Proxy是所有动态代理类的父类,它提供了两个静态方法来创建动态代理类和动态代理对象,如下: Ø static ClassgetProxyClass(ClassLoader loader,Cl
2016-05-17 13:07:13
291
原创 一级缓存和二级缓存的概念解析
1.一级缓存就是Session级别的缓存,比如说一个Session做了一个查询操作,他会把这个操作结构带到一级缓存中,只要事务没有提交 当你再次从获取该数据时就会从一级 缓存中获取该数据,而不会查找数据库。2.二级缓存就是sessionFactory级别的缓存,也就是所当你查询数据时会把查询的结果方法二级缓存中,如果过使用的是同一个sessionFactory,创建的
2016-05-13 16:05:09
1577
原创 细颗粒度权限控制
细颗粒度权限控制我们采用拦截器完成具体实现: 第一步:定义一个类 继承MethodFilterInterceptor类第二步:覆盖doIntercept方法第三步:通过ActionInvocation 对象获取reques、actiont对象 进而获取方法名第四步:通过action对象和反射获取方法的反射对象第五步:获取session中的角色用户信息以及方法上的权限(注解)
2016-05-12 20:14:12
2599
原创 系统中的异常处理和日志备份
一般框架发生异常都是将该异常抛出去(即框架本身没有处理异常的能力)而我们为了解决异常的处理的难题我们采用的方法是struts2拦截器(以struts2为例)具体实现:第一步:定义一个类 继承MethodFilterInterceptor类第二步:覆盖doIntercept方法第三步:如果(actioninvocation.invoke();) 改行代码抛出异常。对该异常进行t
2016-05-12 17:56:15
569
原创 粗颗粒度权限控制
粗颗粒度权限控制:采用过滤器和session来完成粗颗粒度权限控制作用:使用过滤器完成粗颗粒度的权限控制,如果Session不存在就跳转到首页,如果存在可以通过URL链接访问到对应的操作。实现:第一步:先定义一个过滤器public class SystemFilter implements Filter { /**web容器启动的时候,执行的方法*/ //存
2016-05-12 17:38:20
1829
原创 AJAX中readyState(当前状态)和status(状态码)表示含义
readyState 属性表示Ajax请求的当前状态。它的值用数字代表。0 代表未初始化。 还没有调用 open 方法1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用2 代表已加载完毕。send 已被调用。请求已经开始3 代表交互中。服务器正在发送响应4 代表完成。响应发送完毕xhr.status常用状态码及其含义:404 没找到页面(no
2016-05-12 15:23:29
1072
原创 setTimeout() 和setInterval()函数的比较
1.setTimeout() 和setInterval() 函数的相同之处两个函数执行效果相同,都是隔一段时间执行一次一个函数2.不同之处:setTimeout() 只执行一次 即:如果你想重复执行某个函数需要重复调用该函数(代码示例)var i=6;var t;function showTimer(){if(i==0){parent.location.h
2016-05-12 15:00:24
468
原创 会话技术session和cookie
1.浏览器开始访问网站到访问网站结束期间产生的多次请求响应组合在一起叫做一次会话 会话的过程中会产生会话相关的数据,我们需要将这些数据保存起来。 Cookie:客户端技术 Session:服务器端技术 2.Cookie Cookie是基于set-Cookie响应头和Cookie请求头工作的,服务器可以发送set
2016-05-12 10:10:23
386
转载 web.xml中标签的加载顺序
首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, fil
2016-05-12 10:00:19
1375
原创 js操作关闭子页面刷新父页面
function refreshOpener(){ opener.location.reload(); //关闭子页面 window.close(); //刷新父页面}
2016-05-11 21:23:40
613
原创 hibernate的懒加载的四种解决方式
懒加载的产生原因:当使用hibernate查询一个对象的时候,如果Session关闭,在调用该对象关联的集合或者对象的时候,会出现懒加载异常解决方案(以用户和角色为例):方案一:在session关闭之前,查询对象关联的集合或者对象,所有在业务层的方法上添加public ElecUserfindUserByLogonName(String name) { S
2016-05-11 20:54:32
837
原创 过滤器与拦截器的区别
过滤器:你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符拦截器:在面向切面编程的就是在你的service或
2016-05-11 17:10:00
260
原创 有关请求路径的总结 request.getContextPath()、request.getServletContext().getRealPath("")、request.getRequestURI
请求路径的URL http://localhost:8080/electest/system/elecMenuAction_menuHome.doSystem.out.println("contentType------"+request.getContentType());System.out.println("requestcontextPath------"+request.getC
2016-05-11 16:24:30
3121
原创 HashTable的五种遍历方式
package com.xing.lab.util;import java.util.Enumeration;import java.util.Hashtable;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class TraverseHashTab
2016-05-11 11:01:58
36323
原创 Map集合的4种遍历方式
package com.xing.lab.util;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class TraverseMap {public static void main(String[] args) {Map map=new Ha
2016-05-11 10:22:45
588
原创 hibernate中关系操作(inverse)和级联操作(cascade)详解
以用户、角色、用户文件为例讲解inverse(关系操作)和(cascade)操作inverse 取值 true(不维护关系)或false(维护关系 默认为false) 该属性主要操作的是外键cascade 取值null(默认值)、save-update 、all 、delete用户、角色是多对多的关系用户的映射文件表示:。。。。。 inverse="tru
2016-05-10 21:59:32
2065
原创 addFieldError与addActionError的区别
1.addActionError (String anErrorMessage)添加一个Action级别的错误消息到ActionanErrorMessage: 错误消息 显示消息的标签是(如放在jsp页面中): 显示全部的 Action级别的错误消息,可以加CSS代码。anErrorMessage被存放在List列表中 。可以去看源码
2016-05-10 21:05:44
325
原创 同步和异步的区别
举个例子:普通B/S模式(同步)AJAX技术(异步)同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能
2016-05-10 15:06:40
282
原创 struts2页面属性值回显
struts2将从值栈的栈顶对象开始查找与JSP页面匹配的属性,并把配置的属性赋值到对应的标签的value中,若栈顶对象没有对应的属性,则依次向下查找相应的属性。即:若想实现struts2 标签的表单回显 要保证标签的属性名和栈顶对象中的属性名相同
2016-05-09 20:33:55
623
原创 equals 和hashcode的区别
1、equals方法用于比较对象的内容是否相等(覆盖以后)覆盖之前比较的是内存地址的值是否相等2、hashcode方法只有在集合中用到3、当覆盖了equals方法时,比较对象是否相等将通过覆盖后的equals方法进行比较(判断对象的内容是否相等)。4、将对象放入到集合中时,首先判断要放入对象的hashcode值与集合中的任意一个元素的hashcode值是否相等,如果不相等直
2016-05-05 08:46:20
233
原创 jsp九大隐式对象 以及该对象的作用域
JSP中九大内置对象为: request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Pa
2016-05-03 21:53:02
476
原创 Java八种基本数据类型所占字节
数据类型 字节数byte 1字节short 2字节char 2字节(C语言中是1字节)float 4字节int 4字节long 8字节double 8字节boolean false/true
2016-05-03 21:16:25
689
原创 重写和重载的区别
方法的重写Overriding 和重载Overloading 是Java 多态性的不同表现。重写Overriding 是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如
2016-05-03 21:01:24
224
原创 HashTable 和 HashMap的区别 StringBuffer 和Builder的区别
HashTable是线程安全的,很多方法都是synchronized方法,而HashMap不是线程安全的,但其在单线程程序中的性能比HashTable要高。StringBuffer和StringBuilder类的区别也在于此,新引入的StringBuilder类不是线程安全的,但其在单线程中的性能比StringBuffer高。
2016-05-03 20:58:19
1629
原创 hibernate中的三种状态:瞬时态(Transient),持久态(Persistent),脱管态(Detached)
hibernate中有三种状态:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。在hibernate中有三种状态:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。通过
2016-05-03 17:39:34
2406
原创 hibernate 的级联操作 cascade操作
在进行一对多的操作时 1.先保存一的一方,在保存多的一方 如果没使用cascade属性,会抛出TransientObjectException异常,因为多的一方为transient(瞬态)状态,多的一方为persistent(持续的)状态,而persistent(持续的)状态对象不能引用transient(瞬态)状态对象,因此会抛出异常 如果采用了cascade属性,
2016-05-03 14:11:26
364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人