`
zh_harry
  • 浏览: 99483 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
877aca81-daac-33c8-8bf9-3a886cebc6c3
自己动手写java 框架
浏览量:27247
社区版块
存档分类
最新评论
文章列表
程序员是严谨的,但是再严谨也容易出问题,这就叫做bug。 我奉献几点自己遇到过的几点问题。 1 =与== 这个问题很容易被忽视,经常少一个=,在C语言陷阱里有这个问题,就是工作几年的老程序员,也同样遇到过。 2 =与!= 讲一个真事,公司一个同事做注册用户的用户名敏感词过滤,结果少写了一个!结果可想而知,还开玩笑说,我只少写了一个符号。 3 -与_ 这里是在url里,给第三方提供接口的时侯,少写一个符号或者把_写成-结果都是很严重的,所以在url中一定要亲自点击浏览一下,确定是否可用。 4 &与* 这两个符号离得很近,但运行结果差得很远,我写一个24小时的定时任务,把*写成了& ...
谈到架构是一个很泛的话题 这里我们讨论一下兼容性与扩展性 我们为什么用接口?这是很多java程序员都会问过的问题 我的答案是为了扩展和兼容 最近的框架中想加入日志功能,想自己写一个简单的日志操作类 其实我们最常用的应该是log4j 但jcp标准是java.util.logger 这两个东西完全不兼容,网上有很多说明了原因。有兴趣的同学可以去网上查一查。 其实日志随便用什么框架或者自己写都是可以的,为什么还要如此纠结呢? 这里我纠结的不是功能实现,而是其中的思想。 我怎么才能做一个可扩展的日志框架? jcp的标准并不是实际上的标准,就象osi和tcp/ip一样,理论上的与工业上实际标准并 ...
很长时间没写博客了,最近事情比较多 之前在文章中提到过tomcat 的main函数在哪?被很多朋友拍砖了 今天继续就这话题展开,先了解几个线程有关的概念 1、多线程 multithread 为什么要用多线程?就是让cpu别太闲,有空就要干活,提高效率。 2、线程池 threadpool 为什么要用线程池,所有跟池相关的,如connectionPool(数据库连接池),ajax request请求对 象池、线程池等都是为了减少对象new所带来的开销. 3、线程安全 thread safe 所谓的线程安全就是指多线程的运行结果与单线程的运行结果一致,java 通过synchronized和th ...
Tomcat作为开源的服务器,性能与稳定性上比起一些商业服务器还是要差一些。将项目部署到Tomcat后隔段时间就会死掉,出现这种问题的主要原因可能是内存数据溢出,因为Tomcat容器在发生大量与数据库交互查询或者操作的时候很容 ...
1. 如何加大tomcat连接数 在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false connectionTimeout:网络连接超时,单位:毫秒。设置为 ...

log4j继承

    博客分类:
  • JAVA
log4j的logger继承 1、log4j的继承是通过命名来实现的。 比如logger.a.b就会继承logger.a的一些设置。 2、子logger会默认继承父logger的appender。 如果配置中这样写:logger.a=INFO,app_a,logger.a.b=DEBUG,app_b,那么实际上,logger.a.b的配置是这样的:logger.a.b=DEBUG,app_b,app_a。 3、子logger只在自己未定义输出级别的情况下,才会继承父logger的输出级别。 比如配置中这样写:logger.a=DEBUG,app_a,logger.a.b=,app_b, ...

substring 陷阱

    博客分类:
  • JAVA
数据库substring(source,startIndex,length) javascritp substring(source,startIndex,endIndex) java substring(source,startIndex,endIndex) c# substring(soiurce,startIndex,length) 有遇到的大家补充~
package com.jp.action; import java.util.HashMap; import java.util.Map; import java.util.logging.Logger; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.bind.RequestUtils; import org.springframework.web.bind.ServletRequestBi ...
关于sqlsession我们先看这些问题: 我们做web开发,很容易联系到http的session,那么它跟进http的session有关系吗? 如果非要映射到web开发中的某个对象他到底跟哪个对象很象呢? sqlssion是用来做什么的? 如果只是数据库连接为什么不直接用sqlconnection呢? 我们从配置文件可以看出他由sqlsessionfactory产生,sqlsessionfactory需要datasource.那么datasouce是什么呢? 它跟数据库连接池有什么关系呢? sqlsession是线程安全的吗? 最后一个问题很有代表性,关于线程安全问题接下来会专门写一篇文章 ...
一个实际例子直接帖代码 # log4j configuration file ################################################################## # Pattern to output the caller's file name and line number. ################################################################## #等级为INFO的日志信息输出到ota,ota的定义在下面的代码,可以任意起名。# #等级可分为OFF、 FATAL、 ...
MVC-1 http://lizhizhang.iteye.com/blog/1912005 MVC-2 http://lizhizhang.iteye.com/blog/1913546 自己动手写MVC3,前两篇我们分析了MVC的基础,在这里大家对main函数有争论,接下来会有java多线程的文章,与大家分享。(这里会略带一些tomcat main函数的内容)。 第二篇介绍了为什么要用MVC以及MVC的概念,即什么是MVC。 通过以上的了解,我个人认为,对于开发者来讲,MVC的filter即我们在web.xml中配置的拦截器是不重要的,框架为我们写好了,我们做的事情就是配置一下就可以了,而我们 ...
前几篇文章写了JAVA框架的思考 http://lizhizhang.iteye.com/blog/1909415 IOC的思考 http://lizhizhang.iteye.com/blog/1910976 MVC的思考入门篇 http://lizhizhang.iteye.com/blog/1912005 今天接着说MVC 接着上文的问题: 为什么出现MVC?它到底是什么? 我们引用struts2 官网的一段话 Web applications based on JavaServer Pages sometimes commingle database code, page design ...
这篇主要讲web开发基础,MVC概念的原型会从这里体现。 首先提一个问题main方法在哪? 我们学的第一种语言,写hello world时都会写main方法(除脚本语言外),那么我们想一下,我们写web程序时main在哪? 我们以b/s结构为例,很容易想到main其实有两个,一个在服务器端一个在客户端。那么服务器和客户端的通信走的是socket。通信的内容要有协议,即我们熟悉的http,http请求两个最核心的对象是request和response。那么我们再简单回忆一下web程序的hello world 过程. request 发现请求服务器端接收处理后通过response返回给客户端.这是w ...
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法创建function时 出错信息: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_ ...
eclipse 默认为中文编码为gbk,当用gbk环境写的代码,其物理文件的编码为gbk.即使用eclipse 改为utf-8其物理文件的编码仍不变,所以通过以下代码生成。 package com.sparrow.utils; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamRead ...
Global site tag (gtag.js) - Google Analytics