`
文章列表
最近在做项目的时候遇到了较多的同步问题 。 JAVA 给我们提供了很方便的方法去解决多线程同步的问题   synchronized 关键字  一直很疑惑  synchronized 是怎么来做同步的呢   实现 原理是什么呢     ? 1 synchronized -- 对象加锁 所有对象都自动含有单一的锁,JVM负责跟踪对象被加锁的次数。 如果一个对象被解锁,其计数变为0。 在任务(线程)第一次给对象加锁的时候, 计数变为1。 每当这个相同的任务(线程)在此对象上获得锁时,计数会递增。 只有首先获得锁的任务(线程)才能继续获取该对象上的多个锁。 每当任务离开时,计数递减,当计数为 ...
get和post是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。 在servlet开发中,以doGet()和doPost()分别处理get和post方法。 首先判断请求时是get还是post,如果是get就调用doGet(), 如果是post就调用doPost()。都会执行这个方法。 1.doGet GET 调用用于获取服务器信息,并将其做为响应返回给客户端。当经由Web浏览 ...
request request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。 response response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。 session 1.什么是session:从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个 ...
延迟加载:    延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate ...
   hibernate查询的6种方法。分别是HQL查询,对象化查询Criteria方法,动态查询DetachedCriteria,例子查询,sql查询,命名查询 。    如果单纯的使用hibernate查询数据库只需要懂其中的一项就可以完成想要实现的一般功能,但是从一个 ...
1。应用服务器处理业务逻辑,web服务器则主要是让客户可以通过浏览器进行访问。 2。应用服务器处理业务逻辑,web服务器是用于处理HTML文件的。web服务器通常比应用服务器简单,如apache就是web服务器,Jboss就是EJB应用服务器。 应用服务器:Weblogic、Tomcat、Jboss WEB SERVER:IIS、 Apache
JDBC:Statement(接口)     |PreparedStatement(接口)     |CallableStatement(接口)以上三者为继承关系。1).概念:Statement:(用于执行不带参数的简单 SQL 语句)    每次执行sql语句,数据库都要执行sql语句的编译,最好用于仅执行一次查询并 ...
首先如图所示,Oracle中的差别      存储过程  函数  用于在数据中完成特定的操作或者任务  用于特定的数据  程序头部申明procedure  程序头部申明function  程序头部申明时不需要描述返回类型  程序头部申明时 ...
Strategy模式的应用场景是: 1. 多个类的分别只是在于行为不同 2. 你需要对行为的算法做很多变动 3. 客户不知道算法要使用的数据 Template Method模式的应用场景是: 1. 你想将相同的算法放在一个类中,将算法变化的部分放在子类中实现 2. 子类公共的算法应该放在一个公共的类中,避免代码重复 仔细体会作者所提出的这几个应用场景,你会发现它们其实没什么区别,用Strategy或Template Method模式都能完成要求.换句话说,作者没抓住这两个模式区别的"痛处"来给予详细讲解.下面我们再换个出发点来看看这两种设计模式. 我们知道,设计模式中有 ...
一、JQuery的环境配置 1、JQuery分为压缩版和非压缩版 2、$=JQuery 3、$(document).ready(funtion(){});  相当于 $(function(){}); 4、注释用// 5、DOM对象与JQuery对象的相互转换     var $variable (jquery对象) =$(variable)(Dom对象);     var variable(Dom对象)=$ ...
面向对象系统中功能复用的两种最常用技术是类继承和对象组合(object composition)。正如我们已解释过的,类继承允许你根据其他类的实现来定义一个类的实现。这种通过生成子类的复用通常被称为白箱复用(white-box reuse)。术语“白 ...
Servlet生命周期分为三个阶段:   1,初始化阶段  调用init()方法   2,响应客户请求阶段  调用service()方法   3,终止阶段  调用destroy()方法 Servlet初始化阶段:   在下列时刻Servlet容器装载Servlet:     1,Servle ...
class User { String name; String age; public User(String name,String age){ this.name=name; this.age=age; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getName() { return name; } public void setName(Str ...
解释一   一句话,转发是服务器行为,重定向是客户端行为。为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求-->web服务器接受此请求-->调用内部的一个方法在容器内部完成请求处理和转发动作-->将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。 重定向过程:客户浏览器发送http请求-->web服务器接受后发 ...
1.  在执行速度方面的比较:StringBuilder >  StringBuffer   2.  StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。 3.  StringBuilder:线程非安全的   StringBuffer:线程安全的     当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就 ...
Global site tag (gtag.js) - Google Analytics