Java
文章平均质量分 60
lgx_Orz
这个作者很懒,什么都没留下…
展开
-
简要学习数据库连接池的原理
通过自己写一个简单的数据库连接池来理解连接池的原理:自己编写连接池需要实现java.sql.DataSource接口。这个接口主要提供两个方法:Connection.getConnection()和Connection.getConnection(String username,Stringpassword);主要代码如下:原创 2014-05-21 22:10:48 · 795 阅读 · 0 评论 -
HashMap源码剖析
首先看看HashMap中一些属性: //默认的初始容量(容量为HashMap中槽的数目)是16,且实际容量必须是2的整数次幂。 static final int DEFAULT_INITIAL_CAPACITY = 16; // 最大容量(必须是2的幂且小于2的30次方,传入容量过大将被这个值替换) static final int MAXIMUM_CAPACITY = 1 << 30;原创 2015-04-07 23:18:47 · 358 阅读 · 0 评论 -
ArrayList源码剖析
构造函数:有3个构造函数 1)在jdk源码中ArrayList无参的构造函数,默认初始化大小是10; 2)带有指定大小参数的构造函数 3)带有集合参数的构造函数一、确定ArrarList的容量 1、若ArrayList的容量不足以容纳当前的全部元素,设置新的容量 = (原始容量 * 3) / 2 + 1。 2、如果扩容后容量还是不够,则直接将minCapacity设置为当前容量。 p原创 2015-04-07 23:09:30 · 387 阅读 · 0 评论 -
解决启动jetty后,不能修改js文件的问题
禁止 Jetty 使用映射缓存:当你想试图去修改正在被访问的资源文件,像 CSS、JS、FTL等,这时候你修改完成想保存的时候,是保存不了的。 你必须停掉 Jetty 容器(如果是在CMD下运行的 Jetty 容器,按 Ctrl + C 停掉 Jetty),才能保存。保存完成后必须 重新启动 Jetty 容器才能看见效果。这样做无论是对修改 .css、.js、.ftl 等都非常麻烦和不爽。究其原原创 2015-04-07 17:05:25 · 1117 阅读 · 0 评论 -
5款Java错误跟踪工具
随着Java生态系统的发展,用户性能需求的提高,一类新的开发工具应运而生。与传统方法相比,它们既可以满足在一个快节奏的环境中快速部署所需要的错误跟踪需求,又能在一个更深的层面上观察应用程序的行为。近日,软件分析公司Takipi汇总介绍了五款这样的工具。Raygun是一款基于Web的错误管理系统,用于跟踪应用程序异常。它支持多种桌面、移动和Web编程语言,包括Java、Scala、.NET、Pytho原创 2015-04-13 22:25:21 · 666 阅读 · 0 评论 -
maven+jetty工程开启Debug调试
①. 右键maven工程,在弹出的菜单中选择[Debug As],选择[Maven build…]。 ②. 在浏览器输入地址URL地址,在代码上加断点,命中后IDE提示:Source not found。 -》选择Edit Source Lookup Path -》选择Add -》选择Java Project 选择相应的Project 进行OK确定即可。 这时界面会出现一闪,然后又回到’原创 2015-04-09 18:53:00 · 1185 阅读 · 2 评论 -
为Apache配置SSI
首先是下载Apache并安装:http://archive.apache.org/dist/httpd/binaries/win32/httpd-2.2.21-win32-x86-no_ssl.msi 如何让apache支持.shtml 让apache支持include标签修改conf目录下的httpd.conf文件:1、 AddType text/html .shtml原创 2015-04-21 00:41:24 · 489 阅读 · 0 评论 -
Tomcat内存溢出的情况以及解决的办法
1、java.lang.OutOfMemoryError: PermGen space出现此问题的原因:如果你的应用会加载很多类的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候;如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。解决方法: 手动设置原创 2015-05-03 19:17:04 · 395 阅读 · 0 评论 -
Java枚举类介绍
枚举类Enum的使用enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类(java.lang.Enum)的子类。它们继承了这个Enum中的许多有用的方法。 1、枚举类就是class,而且是一个不可以被继承的final类。枚举值默认被public static final修饰; 枚举类的枚举值在内存中只存在一份;并且一经创建,就不能原创 2015-03-21 22:25:04 · 506 阅读 · 0 评论 -
SpringMVC上传文件
1.在spring-servlet.xml配置文件中配置上传文件解析器 2.上传文件的jsp页面 3.在Controller类中 String filename = ""; //定义文件解析器对象 CommonsMultipartResolver resolver = new CommonsMultipartResolver(原创 2015-06-14 10:59:03 · 435 阅读 · 0 评论 -
为eclipse配置黑色背景
下载 moonrise_0.8.9.jar ,并将其放到eclipse安装目录\dropins\plugins\文件夹中;然后,重启eclipse,进入Window > Preferences > General > Appearance设置,选择Select MoonRise (standalone) 下载漂亮的高亮主题:下载 RainbowDrops.epf ,在Eclip原创 2015-07-17 12:46:44 · 559 阅读 · 0 评论 -
线程池应用实战
public class ThreadLoadExecuterKeeper implements Runnable { private static Logger logger = LoggerFactory.getLogger(ThreadLoadExecuterKeeper2.class); private ThreadPoolExecutor executor = null;原创 2015-08-26 08:44:31 · 705 阅读 · 0 评论 -
myeclipse操作技巧
1、准备:jad.exe和net.sf.jadclipse_3.3.0.jar2、将jad.exe拷贝到jdk1.7\bin目录下3、将net.sf.jadclipse_3.3.0.jar拷贝到myeclipse6.5\myeclipse\eclipse\plugins目录下4、重新启动myeclipse6.5看看Window->Preferences>java是不是在界面上多了个ja原创 2015-02-25 12:32:15 · 545 阅读 · 0 评论 -
Java日期类Calendar详解
Calendar calendar = Calendar.getInstance();calendar.setTime(new Date()); int year = calendar.get(Calendar.YEAR); //获取年; int month = calendar.get(Calendar.MONTH); //获取月; int date =原创 2015-04-25 18:42:07 · 598 阅读 · 0 评论 -
《Java NIO》学习笔记三 通道(Channel)
一、通道基础有两种类型的通道:它们是文件(file)通道和套接字(socket)通道。具体细分,有一个FileChannel类和三个socket通道类:SocketChannel、ServerSocketChannel和 DatagramChannel。 在通道之间复制数据:第一种方法:个人更推崇第一种,因为代码更清晰、更简洁原创 2014-09-18 16:27:54 · 1684 阅读 · 0 评论 -
LinkedList源码分析
获取指定位置的节点。(这个方法很重要,LinkedList中主要的几个方法都使用了这个方法)private Entry<E> entry(int index) { if (index < 0 || index >= size) throw new IndexOutOfBoundsException("Index: "+index+", Size: "+size); E原创 2015-04-07 23:14:03 · 363 阅读 · 0 评论 -
SpringMVC视图解析器
前言在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视图解析器。当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中存在对该请求的最合理的映射。然后通过该HandlerMapping取得其对应原创 2015-04-05 22:17:55 · 430 阅读 · 1 评论 -
Tomcat如何处理一个HTTP请求的过程?
Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,Tomcat的各个组件是在\conf\server.xml文件中配置的。server.xml文件的基本组成结构如下: 顶层类元素:一个配置文件中只能有一个元素,可包含多个Service。 顶层类元素:本身不是容器,可包含一个Engine,多个Con转载 2014-05-21 21:42:53 · 1817 阅读 · 0 评论 -
MyEclipse工程目录结构显示问题
workspace空间显示工程下包和class都是平行结构,看的很不顺眼原创 2014-09-04 21:46:59 · 1627 阅读 · 0 评论 -
《Java NIO》学习笔记四 选择器(Selector)
一、选择器基础选择器(Selector):选择器类管理着一个被注册的通道集合的信息和它们的就绪状态。通道是和选择器一起被注册的,并且使用选择器来更新通道的就绪状态。可选择通道(SelectorChannel):这个抽象类提供了实现通道的可选择性所需要的公共方法。SelectableChannel可以被注册到Selector对象上,同时可以指定对那个选择器而言,那种操作是感兴趣的原创 2014-09-18 16:36:08 · 3918 阅读 · 1 评论 -
《Java NIO》学习笔记一 NIO与标准I/O比较
首先先与标准I/O做个比较,这样更容易kan'chu原创 2014-09-18 15:52:49 · 595 阅读 · 0 评论 -
《Java NIO》学习笔记二 缓冲区(Buffer)
一、关于缓冲区的四个属性:capacity,position和limit在读写模式中的说明:1、capacity缓冲区能够容纳的数据元素的最大数量。这一容量在缓冲区创建时被设定,并且永远不能被改变。一旦Buffer满了,需要将其清空(通过读数据或者清除数据)才能继续往里写数据。2、position①当你写数据到Buffer中时,position表示当前的位置。初始的position原创 2014-09-18 15:59:21 · 831 阅读 · 1 评论 -
Java异常处理原理与原则
一、Exception和Error的区别在Java中我们可以这样区分,异常(Exception)是一种非程序原因的操作失败(Failure),而错误(Error)则意味着程序有缺陷(Bug)。 二、Java的类继承体系非常清楚地区分了Exception和Errorjava.lang.Object java.lang.Throwable java.lang原创 2014-11-09 16:16:35 · 654 阅读 · 0 评论 -
Java操作数据库注意点
1、addBatch批处理:smt.addBatch(sql1);smt.addBatch(sql2);smt.addBatch(sql3);smt.executeBatch(); 注意:使用批处理需要注意查询、添加、修改不能使用同一个Statement,否则会报异常:java.sql.SQLException: 批处理中出现错误: batch must be eith原创 2014-11-04 17:07:04 · 1492 阅读 · 0 评论 -
Java中对象输出流问题
对象输出流问题:怎样能连续向文件中添加对象,并且可以从文件中循环读取出对象?错误的情况:连续多次调用oos.writeObject(user)向文件中写入对象,然后这样while((user=(User)ois.readObject())!=null)循环取出对象。出现这种情况的解释:ObjectOutputStream建立后第一次写入一个对象时, 会在对象数据前写入一些标志的数据“A原创 2014-10-18 21:28:31 · 2823 阅读 · 0 评论 -
Struts2内部处理流程
代码的核心是过滤器,其功能是:①解析URL,得到其中的ActionName;②解析struts.xml文件,根据ActionName得到class、method属性以及其下所有标签,把这些数据封装到自己写的ActionClass类中;③获取所有的请求参数,将它们封装到Map集合中;④根据ActionClass类中class属性的具体值,通过反射得到要处理Action类的实例对象;原创 2014-10-18 21:25:12 · 508 阅读 · 0 评论 -
POI
POI简单的一个示例: public String execute() throws Exception {HSSFWorkbook workbook = new HSSFWorkbook(); //创建工作簿对象 HSSFSheet sheet = workbook.createSheet(); //创建工作表对象workboo原创 2015-01-07 10:34:00 · 793 阅读 · 0 评论 -
学习点滴
深入理解Java内存模型:http://blog.csdn.net/ccit0519/article/details/11241403 (转载)原创 2015-01-23 11:22:20 · 359 阅读 · 0 评论 -
Java中记录日志的方式
Logger类:日志处理类 可通过调用某个 getLogger 工厂方法来获得 Logger 对象。这些方法要么创建一个新 Logger,要么返回一个合适的现有 Logger。 日志消息被转发到已注册的 Handler 对象,该对象可以将消息转发到各种目的地,包括控制台、文件、OS 日志等等。 方法摘要: getLogger(String name):为指定子系统查找或创建一个 logg原创 2015-03-21 22:38:42 · 666 阅读 · 0 评论 -
解决JavaScript validator throws NullPointerException in Eclipse问题
Project->Properties->Builders then disable ‘Javascript Validator原创 2015-03-31 11:36:08 · 603 阅读 · 0 评论 -
代码整洁之道
Ron的整洁代码见解: — 没有重复代码; — 使用有意义的命名来提高表达力 — 提早构建简单抽象童子军军规:让营地比你来时更干净! 应用到我们的专业领域就是:每次对代码的修改都比修改之前干净。这样代码就不会随时间腐坏。取个好命名的几条简单规则: 1、名副其实,见名知意 2、做有意义的区分 如果缺少明确约定,变量moneyAmount就与money没区别,customerInf原创 2015-03-23 17:17:26 · 451 阅读 · 0 评论 -
intellij idea14 注册码
package test;import java.math.BigInteger;import java.util.Date;import java.util.Random;import java.util.zip.CRC32;public class keygen { private static final int version=14; /**原创 2014-11-06 11:35:06 · 1738 阅读 · 5 评论