- 博客(16)
- 收藏
- 关注
原创 Spring原理之spring session
背景:在传统的单机web应用之中,如使用tomcat时,session是由tomcat容器管理。容器根据浏览器cookie中的sessionID来判断session是否存在以及获取session。此时session是在单机的tomcat容器中,而随着单机web应用朝着分布式集群发展,此时用户的请求从浏览器可能会负载均衡分发到不同的应用中,传统的session管理方案已经不能满足需求了,此时需要一...
2019-06-02 22:58:58 1572
原创 JUC之AQS
AbstractQueuedSynchronizer先大致讲一下工作原理:AQS内部主要维护了一个Node类型的链表,用于储存排队的线程信息,当有新的需要阻塞的线程进来时一般创建一个node对象,加入到链表的尾部,当链表中首节点释放资源时调用LockSupport的unpark去唤醒等待的线程。配上一个比较经典的图片接下来是AQS主要的成员变量: //链表的首节点 private tr...
2019-05-30 16:24:56 1917
原创 设计模式之单例模式
此文未经许可禁止转载,谢谢定义:确保某一个类只有一个实例,而且自行实例化并向系统提供这个实例。使用场景:在一个系统中,要求一个类有且仅有一个对象,如果出现多个对象就会出现“不良反应”,可以采用单例模式。如1.要求生成唯一序列号的环境; 2.在整个项目中需要一个共享访问点或共享数据,例如一个WEB页面上的计数器,可以不用把每次刷新都记录到数据库中,使用单例模式保持计数器的...
2016-01-09 15:01:43 116
原创 JAVA类的生命周期
类的生命周期在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行中JVM通过装载,链接,初始化这3个步骤完成。类的装载是通过类加载器完成的,加载器将.class文件的二进制文件装入JVM的方法区,并且在堆区创建描述这个类的java.lang.Class对象。用来封装数据。 但是同一个类只会被类装载器装载以前链接就是把二进制数据组装为可...
2015-09-01 18:08:24 111
原创 js中==与===的区别
”==”与”===”是不同的,一个是判断值是否相等,一个是判断值及类型是否完全相等。下面的规则用于判定===运算符比较的两个值是否相等的判断条件•如果两个值的类型不同,它们就不相同。•如果两个值是数字,而且值相同,那么除非其中一个或两个都是NaN(这种情况它们不是等同的),否则它们是等同的。值NaN永远不会与其他任何值等同,包括它自身(奇怪的家伙),要检测一个值是否是NaN,可以使用全...
2015-07-28 18:59:39 119
原创 设计模式学习之适配器模式
首先,先来先讲讲适配器。适配就是由“源”到“目标”的适配,而当中链接两者的关系就是适配器。它负责把“源”过度到“目标”。举个简单的例子,比如有一个“源”是一个对象人,他拥有2种技能分别是说日语和说英语,而某个岗位(目标)需要你同时回说日语、英语、和法语,好了,现在我们的任务就是要将人这个“源”适配的这个岗位中,如何适配呢?显而易见地我们需要为人添加一个说法语的方法,这样才能满足目标的需要。...
2014-12-07 21:03:08 94
原创 Javascript中prototype
javascript 是一种 prototype based programming 的语言, 而与我们通常的 class based programming 有很大 的区别,我列举重要的几点如下:函数是first class object, 也就是说函数与对象具有相同的语言地位没有类,只有对象函数也是一种对象,所谓的函数对象对象是按 引用 来传递的那么这种 prototy...
2014-10-29 11:12:38 110
原创 Struts2中的动态方法调用DMI
[size=medium]Struts2动态方法调用[/size]转载自:http://www.cnblogs.com/yangy608/archive/2010/11/08/1871958.html动态方法调用在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多[size=medium]第一种方式:指定me...
2014-10-28 18:57:30 123
原创 Struts2前后台交互小结
[size=medium]1. 传值到Struts2的action方法:[/size] userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。 可以不在访问的action中提供相应的属性,用request.getParameter(”userName”);[size=medium]2. 页面从Struts2的action取值方法:[/siz...
2014-10-28 09:23:24 294
原创 Javascript中创建对象
[size=medium]创建直接的实例:[/size]这个例子创建了对象的一个新实例,并向其添加了四个属性: var person = new Object(); person.firstName = "Bill"; person.lastName = "Gates"; person.age = "56"; person.eyeColor = "blue";...
2014-10-27 19:00:10 104
原创 HTML5新增属性
HTML5的input标签新增了很多属性,也是让大家非常兴奋的一件事,用简单的一个属性搞定以前复杂的JS验证。input新增的这些属性,使得html和js的分工更明确了,使用起来十分舒畅。[size=medium]新增属性一:[/size]autoconmpleteautoconmplete可以赋值为 on 或者 off。当为 on的时候,浏览器能自动存储用户输入的内容。当用户返回到曾...
2014-10-23 18:34:43 93
原创 Html常用标签
[size=medium](一)字体标签[/size] (h6)...(h6)标题字 ...斜体字 ...粗体字 ...底线 ...删除线 ...斜体字(强调) ... ...删除线(表示删除) ...键盘文字 ...斜体字(表示定义) ...
2014-10-23 18:18:18 101
原创 Struts2中清除默认产生的标签和布局样式
在使用struts2的标签的时候,有没有因为默认产生的布局样式而抓破头呢?下面有两种方法解决这个问题,网上很多大牛说这个是struts2的优先,可能小虾涉世未深,还未能体会到,这里讲讲这两种方法吧。 [size=medium]第一种:[/size] 查看struts.properties或$ {struts-core2.06.jar}/org/apache/struts2/de...
2014-10-23 16:08:29 123
原创 $.Ajax()方法
[size=large]1.url: [/size]要求为String类型的参数,(默认为当前页地址)发送请求的地址。[size=large]2.type: [/size]要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。[size=large]3.timeout: [/...
2014-10-20 18:28:34 135
原创 Struts2中拦截器一些总结
拦截器的作用主要就是拦截东西,拦截什么呢?当然是'action'了,在执行'action'之前 拦截器会起作用,执行一些预先处理的代码, 接着去执行action中相关的方法,之后,流程又会回到拦截器里面,接着去执行后续的一些操作。 先看配置,这些配置都是在struts.xml里面的。配置相当简单,不过底层都是很复杂的。在这章之前,我专门看了下动态代理,感觉真的是开发者花了不少的心血, ...
2014-10-10 18:36:36 84
原创 Struts2中前台传递数据到Action中的3种方式
[size=large][b][color=olive]struts2接收前台传来的参数有3种方法[/color][/b][/size]1、第一种:action 设置 相应的变量 在相应的action中设置与将要传进来的参数名相同的变量 eg: 前台传给后台两个参数 name=chance & age = 1,那么后台的action中 要设定这样的变量:p...
2014-10-09 14:07:08 224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人