方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。
因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在e...
water
9年前 (2015-08-04) 4357℃ 0评论
0喜欢
摘要
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有
jps、jstack、jmap、jhat、jstat、hprof等小巧...
water
9年前 (2015-07-28) 2743℃ 0评论
0喜欢
第十四讲
Semaphore实现信号灯
Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以同时访问资源的线程个数,例如,实现一个文件允许的并发访问数
东西很容易学会,重要的是遇到问题想起用这个东西解决
&nb...
water
9年前 (2015-07-27) 2927℃ 0评论
1喜欢
第九讲
线程池
写tomcat类似的程序非常难,效率上不去。
来一个连接,就会启动一个线程,和客户端对话
比如婚礼接待,来一个客人找一个人帮忙招待
new Thread(){
&nb...
water
9年前 (2015-07-27) 2832℃ 0评论
0喜欢
第六讲
ThreadLocal实现线程范围内的共享
ThreadLocal相当于一个哈希
public class ThreadLocalTest{
pr...
water
9年前 (2015-07-24) 3256℃ 0评论
0喜欢
第三讲
线程的互斥与同步通信
两个线程访问同一对象(取并进行修改)
多线程同时访问一个数据(银行汇款问题)balance余额
线程安全问题,可以用银行转账解释
(
1.内部类不能访问局部变量,要想访问就需要加final
2.静态方法不能new内部类的实...
water
9年前 (2015-07-24) 3172℃ 0评论
0喜欢
目前获取毫秒值大概有下面三种方法
Java代码
//方法 一
System.currentTimeMillis();
//方法 二
...
water
9年前 (2015-07-22) 4122℃ 0评论
2喜欢
第一讲
线程不是什么时髦的技术。对自己的长远发展有好处
什么是线程
线程就是程序的一条执行线索
创建线程的传统方式有两种
//执行线索
Thread thread = new Thread(){
&nb...
water
9年前 (2015-07-20) 3309℃ 0评论
0喜欢
设置注释模板的入口:
Window-<Preference-<Java-<CodeStyle-<Code Template 然后展开Comments节点就是所有需设置注释的元素。现就每一个元素逐一介绍:
文件(Files)注释标签:
/**&...
water
10年前 (2015-07-17) 2991℃ 0评论
0喜欢
Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时...
water
10年前 (2015-07-13) 2556℃ 0评论
0喜欢
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!
一. 机器数和真值
在学习原...
water
10年前 (2015-07-07) 2964℃ 0评论
1喜欢
有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中
核心技术,再到Java世界中万紫千红的Framework……等等,你会发现自己总是在学习,但总是有自己不知道的...
water
10年前 (2015-07-06) 2681℃ 0评论
0喜欢
常用类:java.lang.Object、java.lang.String、java.lang.StringBuffer、
java.lang.Math、
java.lang.System,java.util.Vector,java.util.Date,java.text.Dec...
water
10年前 (2015-07-06) 2747℃ 0评论
0喜欢
前言: 逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下。 lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。特别是相对于 ...
water
10年前 (2015-07-02) 2613℃ 0评论
0喜欢
Inspired by Effective Java.
Singleton
模式是在编程实践中应用最广泛的几种设计模式之一。以前知道的,实现单例的方法有两种(下面的A、B)。刚刚在读《Effective
Java的时候》学到一种新的更好的方法(E):单元素的枚举类型。同...
water
10年前 (2015-06-30) 2683℃ 0评论
0喜欢
创世之初,世上只有Make一种构建工具,后来,其发展为GNU Make。但是,由于需求的不断涌现,码农的世界里逐渐演化出了千奇百怪的构建工具。当前,JVM生态圈由三大构建工具所统治:
Apache Ant带着Ivy
Maven
Gradel
Ant with Iv...
water
10年前 (2015-06-26) 3135℃ 0评论
0喜欢
Scala编程语言近来抓住了很多开发者的眼球。如果你粗略浏览Scala的网站,你会觉得Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。
Christopher Diggins认为:不太久之前编程语言还可以毫无疑义地归类成“命令式”或者“函数式”。...
water
10年前 (2015-05-22) 3093℃ 0评论
0喜欢
用法一:常量
在JDK1.5 之前,我们定义常量都是: public static fianl…. 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
Java代码
public en...
water
10年前 (2015-05-18) 2512℃ 0评论
0喜欢
抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。
一、抽象类
 ...
water
10年前 (2015-05-18) 2532℃ 0评论
0喜欢
检查异常和未检查异常不同之处
Java代码
public class ExceptionTypeTest {
public void...
water
10年前 (2015-05-13) 2980℃ 0评论
0喜欢