
Java/J2EE
小白的学习笔记
这个作者很懒,什么都没留下…
展开
-
log级别设置
软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志,不管用什么,这些东东大多是大同小异的,一般都提供了这样5个日志级别: × Debug × Info × Warn × Error × Fatal一个等级比一个高,但是在具体开发中,关于应该如何选择适应的等级,却没有找到好的文章进行说明。记录一下转载 2014-08-18 12:41:40 · 801 阅读 · 0 评论 -
Connection is read-only. Queries leading to data modification are not allowed
出现这个错误的原因是在spring的事务中把某个方法设置为read-only模式,但是在方法中却试图修改数据库,比如进行了save操作,如下面这个“get*”表示在service层以get开头的方法都是只读的,不能修改数据库,完整事务配置如下: <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTra原创 2015-09-02 09:54:41 · 3593 阅读 · 0 评论 -
详解Hibernate Session & Transaction
HIbernate中的Session Session是JAVA应用程序和Hibernate进行交互时使用的主要接口,它也是持久化操作核心API, 注意这里的Session的含义,它与传统意思上web层的HttpSession并没有关系,Hibernate Session之与Hibernate,相当于JDBC Connection相对与JDBC。 Session对象是有生命周期的转载 2015-08-23 10:05:54 · 1203 阅读 · 0 评论 -
Hibernate session
Session 用于获取与数据库的物理连接。 Session 对象是轻量级的,并且设计为在每次需要与数据库进行交互时被实例化。持久态对象被保存,并通过 Session 对象检索找回。该 Session 对象不应该长时间保持开放状态,因为它们通常不能保证线程安全,而应该根据需求被创建和销毁。Session 的主要功能是为映射实体类的实例提供创建,读取和删除操作。这些实例可能在给定时间点时存在于以下三种转载 2016-03-09 15:46:52 · 526 阅读 · 0 评论 -
hibernate缓存机制详细分析
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:list()获得对象:/*** 此时转载 2016-03-09 20:05:39 · 409 阅读 · 0 评论 -
深入理解Servlet/JSP之“Cookie和Session原理”
由于HTTP协议的无状态特征,Web应用中经常使用Cookie和Session来保存用户在与系统交互过程中的状态数据。下面通过分析HTTP协议对Cookie和Session的工作原理加以了解。一、CookieCookie的含义是“服务器送给浏览器的甜点”,即服务器在响应请求时可以将一些数据以“键-值”对的形式通过响应信息保存在客户端。当浏览器再次访问相同的应用时,会将原先的Cook转载 2014-07-26 10:45:04 · 974 阅读 · 0 评论 -
JDK动态代理示例
Java动态代理可以动态地创建代理并动态地处理对所代理方法的调用。下面用《Java编程思想》中的一个例子说明: 首先是接口类,目标类要实现的接口:public interface Interface { void doSomething(); void somethingElse(String args);}再就是目标类,也可以成为真实类,继承上面的接口并实现其中的方法:publ原创 2016-04-29 21:08:02 · 1626 阅读 · 0 评论 -
Cglib生成动态代理(有改动)
Cglib(Code Generation Library)动态代理 [对没有实现接口的普通类做代理]1、概述: Cglib是一个优秀的动态代理框架,它的底层使用ASM(JAVA字节码处理框架)在内存中动态的生成被代理类的子类。使用CGLIB即使被代理类没有实现任何接口也可以实现动态代理功能。但是不能对final修饰的类进行代理。2、原理: 通过字节码技术为一转载 2016-04-29 22:14:26 · 540 阅读 · 0 评论 -
Tomcat服务器原理详解
【目录】本文主要讲解Tomcat启动和部署webapp时的原理和过程,以及其使用的配置文件的详解。主要有三大部分:第一部分、Tomcat的简介和启动过程第二部分、Tomcat部署webapp第三部分、Tomcat处理一个http请求的过程【简介】 Tomcat依赖/conf/server.xml这个配置文件启动server(一个Tomcat实例,核心就是启动容器Catalina)。 Tomcat转载 2016-04-11 20:05:35 · 2131 阅读 · 3 评论 -
Java中的深拷贝(深复制)和浅拷贝(浅复制)
深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java。虽然java自动管理对象的回收,但对于深拷贝(深复制)和浅拷贝(浅复制),我们还是要给予足够的重视,因为有时这两个概念往往会给我们带来不小的困惑。浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对转载 2014-09-27 16:15:55 · 669 阅读 · 0 评论 -
Spring 基础
Spring 基础 一、认识Bean 在Spring中,那些组成应用的主体(backbone)及由Spring IoC容器所管理的对象被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及被管理的对象,除此之外,bean就没有特别之处了(与应用中的其他对象没有什么区别)。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。 二、认识Be转载 2016-05-05 10:26:05 · 334 阅读 · 0 评论 -
Hibernate框架ORM的实现原理
2007-08-24 来自:梁建全梁建全: 东方标准国际软件专业讲师,曾经负责过的重大的大型项目包括:全军武器装备质量管理系统、全军办公自动化系统、日本NTT电信管理系统等。主要著作包括《ASP.NET开发答疑200问》《ASP.NET开发实例导航》等。毕业于北京大学计算机专业。 1. 什么是ORM ORM的全称是Object Relational Mappin转载 2016-04-13 19:27:54 · 1183 阅读 · 0 评论 -
struts2工作流程
1 工作原理1.1 体系架构 图2.1 struts2.0体系架构图1.2 工作机制针对上节体系架构图,下面分步说明执行流程Ø 客户端初始化一个指向Servlet容器(例如Tomcat)的请求;Ø 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器转载 2016-05-08 17:51:35 · 383 阅读 · 0 评论 -
详解spring事务属性(总结的很好)
Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需要进行事务转载 2016-05-09 16:33:30 · 515 阅读 · 0 评论 -
JNDI 是什么(Java Naming and Directioy Interface)
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。 那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探讨。没有JNDI的做法:转载 2016-09-04 14:39:29 · 544 阅读 · 0 评论 -
JDK动态代理实现原理(简析加转载)
这里转载一篇日志,重点部分就是探讨JDK动态代理是如何实现的。JDK生成动态代理的语法为,参考JDK动态代理示例:Interface proxy = (Interface) Proxy.newProxyInstance(Interface.class.getClassLoader(),new Class[]{Interface.class},new DynamicProxyHandler(rea原创 2016-04-29 23:28:03 · 757 阅读 · 0 评论 -
JS的常用正则表达式 验证密码
JS的正则表达式强:字母+数字+特殊字符 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$ 中:字母+数字,转载 2015-08-17 19:31:59 · 36140 阅读 · 0 评论 -
HttpServletRequest常用获取URL的方法
1、request.getRequestURL()返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它不包含请求参数。2、request.getRequestURI()得到的是request URL的部分值,并且web容器没有decode过的3、request.getContextPath() 返回 the context of the转载 2015-08-26 19:48:57 · 932 阅读 · 0 评论 -
Java加载图片 利用Image与BufferedImage
Image是一个抽象列,BufferedImage是Image的实现。 Image和BufferedImage的主要作用就是将一副图片加载到内存中。 Java将一副图片加载到内存中的方法是: Java代码 String imgPath = "C://demo.jpg"; BufferedImage image = ImageIO.read(new Fil转载 2014-08-21 20:23:39 · 3853 阅读 · 0 评论 -
Spring AOP 详解
此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题。最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP 来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。本文是权当本人的自己AOP学习笔记,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。对部分函数的调用进行日志记录,用于观转载 2014-08-02 15:20:27 · 610 阅读 · 0 评论 -
mysql 数据库乱码问题
1、首先在my.ini,文件中将所有的l原创 2014-07-24 20:24:53 · 692 阅读 · 0 评论 -
正则表达式 -- 邮件地址验证解析
电子邮件验证 正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串。使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本。其实,正则表达式是值得大家花时间学习的。正则表达式不仅在javaScript 中有用,在其他许多地方也可以使用正则表达式,例如其他编程语言(比如Perl,Java,转载 2014-07-30 11:38:37 · 2511 阅读 · 0 评论 -
无状态服务(stateless service)
一、定义 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息有状态服务(stateful service)则相反,它会在自身保存一些数据,先后的请求是有关联的 二、优劣 有状态服务常常用于实现事务(并转载 2014-09-08 19:28:38 · 594 阅读 · 0 评论 -
ajax中文编码设置
1.在前台两次用javascript的方法encode转载 2014-07-27 10:20:29 · 6728 阅读 · 0 评论 -
Java中List Set Map 是否有序等总结
1.Collection List Set Map 区别记忆这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否允许元素重复否Collection否是List是转载 2014-09-22 21:08:06 · 703 阅读 · 0 评论 -
中文分词之Java实现使用IK Analyzer实现
IK Analyzer是基于lucene实现的分词开源框架,下载路径:http://code.google.com/p/ik-analyzer/downloads/list需要在项目中引入:IKAnalyzer.cfg.xmlIKAnalyzer2012.jarlucene-core-3.6.0.jarstopword.dic什么都不用改示例代码如下(使用IK转载 2014-09-21 17:34:04 · 1823 阅读 · 0 评论 -
java金融与数学
1、commons-math/commons-lang-math以上两个包是apache下的,前者比后者的功能强大,后者有的功能前都有,后者主要解决平时程序中的一些基本的数学计算,主要是范围判断(*Range),随机数生成(JVMRandom,RandomUtils),分数处理(Fraction),数字转化、大小判断(NumberUtils)等。前者可以处理更复杂的数据转载 2014-09-22 18:53:21 · 1025 阅读 · 0 评论 -
eclipse设置java虚拟机内存大小
打开eclipse,选择Window--Preferences...在对话框左边的树上双击Java,再双击Installed JREs,在右边选择前面有对勾的JRE,再单击右边的“Edit”按钮,出现一个 Edit JRE 的对话框,在其中的Default VM Arguments: 框中输入 -Xms128m -Xmx512m ,这样设置Java拟虚机内存使用最小是128M,最大是5转载 2014-09-25 22:45:09 · 673 阅读 · 0 评论 -
深入研究java.lang.Class类
原文地址:http://lavasoft.blog.51cto.com/62575/15433/转载 2014-11-20 22:52:35 · 621 阅读 · 0 评论 -
Struts2中的redirect参数传递
在Action之间传递参数: redirect:<result name="topic" type="redirect"> findTopics.action?topicId=${topicId}</result>redirect-action:<result name="topic" type="redirect-action"> <param name="actionName">fin转载 2015-08-25 22:40:42 · 705 阅读 · 0 评论 -
Web开发中文乱码问题
Web开发过程中,中文乱码产生的根源在于Web组件之间、或Web组件与浏览器、与数据库所使用的字符集标准不统一。 一些常见编码:GBK是GB2312的扩展。Unicode又称作万国码或统一码,是由国际组织制定的一种可以容纳世界上几乎所有的文字和符号的字符编码方案,Java的内部的编码方式就是Unicode。UTF-8是Unicode字符集的一种变长字符编码,用1-6个字节编码每原创 2016-09-08 15:51:04 · 835 阅读 · 0 评论