`
文章列表
一、PHP session原理     session是在服务器端保持用户会话数据的一种方法,对应的cookie是在客户端保持用户数据。HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,那么服务器是如何记住众多用户的会话数据呢?首先要将客户端和服务器端建立一一联系,每个客户端都得有一个唯一标识,这样服务器才能识别出来。     当我们在代码中调用session_start()时,服务器端先生成一个唯一的SESSIONID和默认值为"PHPSESSID"的session name(可以通过php.ini修改session.name值指定),再在我们服 ...
 摘要:近两年,创业风潮逐渐兴起,但创业是否真的那么容易?失败是成功之母,本文作者根据自己的经历以及遇到的创业者身上,为大家总结了七个招致创业失败的错误行为。   一个伟大的创意能够保证你创业成功?太扯 ...
为了让Web项目中的Spring 使用Log4j做如下配置:1、在web.xml中添加如下内容:<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。如我这里有两个项目都在web.xml都没配置webAppRootKey,那么这两个项目发布到tomcat时就会出现如下的异常: 严重: Exception sending context initialized event to listener instance of class org.springframewo ...
        Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。  @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而 ...

Log4j的使用

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过 ...
  一、原理       代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。JDK的动态代理用起来非常简单,当它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包。   二、什么是cglib      CGLIB是一个强大的高性能的代码生成包。       1>它广泛的被许多AOP的框架使用,例如:Spring AOP和dynaop,为他们提供方法的interception(拦截);      ...

java堆栈

    博客分类:
  • Java
对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。   2. 栈的优势是,存取速度比堆要快,仅次于 ...

剖析String

    博客分类:
  • Java
  栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、int、long、float、double、boolean)和对象的引用,数据可以共享,速度仅次于寄存器(register),快于堆。 堆(heap):用于存储对象。  String池(pool) :JAVA虚拟机(JVM)中存在着一个字符串池,其中保存着很多String对象; 并且可以被共享使用,因此它提高了效率。 public static void main(String[] args) { /** * 情景一:字符串池 ...
首先看一段代码(使用JDK 5),如下:   public class Hello { public static void main(String[] args) { int a = 1000, b = 1000; System.out.println(a == b); Integer c = 1000, d = 1000; System.out.println(c == d); Integer e = 100, f = 100; System ...
      在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了。   设置Session超时时间方式: 1.在web.xml中设置session-config如下:  <session-config>  <session-timeout>5</session-timeout> </sess ...
  PO persitant object 持久对象 PO persitant object 持久对象 BO business object 业务对象 VO value object 值对象 POJO plain ordinary java object 简单java对象 DTO data transfer object 数据传输对象 DAO data access object 数据访问对象 ...
  在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系:         +Collection 这个接口extends自 --java.lang.Iterable接口            +List 接口                -ArrayList 类               -LinkedList 类               -Vector 类     此类是实现同步的            +Queue 接口               +不常用,在此不表.            +Set 接口         ...
Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题。很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性。下面是面试Java核心技术的一些很实用的问题。 Q:最常见的数据结构有哪些,在哪些 ...
Q.请写一段代码来计算给定文本内字符“A”的个数。分别用迭代和递归两种方式。 A.假设给定文本为”AAA rating”。迭代方式就很直观,如下: public class Iteration { public int countA(String input) { if (input == null || input.length( ...
这篇文章介绍的常见面试题是关于重载(overloading)方法和重写(overriding)方法的。 Q.下面代码片段的输出结果是什么? public class MethodOverrideVsOverload { public boolean equals( MethodOverrideVsOverload other ) { System.out.println("MethodOverrideVsOverload equals method reached" ); return true; } public st ...
Global site tag (gtag.js) - Google Analytics