
java
v1v1wang
这个作者很懒,什么都没留下…
展开
-
面向对象设计的基本原则!
正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现转载 2011-09-16 15:05:09 · 647 阅读 · 0 评论 -
Java谜题6-库谜题
谜题56:大问题作为一项热身活动,我们来测试一下你对BigInteger的了解程度。下面这个程序将打印出什么呢? import java.math.BigInteger;public class BigProblem { public static voi原创 2011-10-14 18:18:35 · 628 阅读 · 0 评论 -
java解惑2-字符谜题
谜题11:最后的笑声public class LastLaugh{ public static void main(String[] args){ System.out.print("H"+"a"); System.out.prin原创 2011-10-14 10:25:36 · 775 阅读 · 0 评论 -
java解惑1-表达式谜题
谜题1:奇数性public static boolean isOdd(int i){ return i % 2 == 1;} 题目:对于负数如果用X%2=1来判断是否为奇偶并不成立 解决办法:x&0X01=0 或者 x%2原创 2011-10-13 09:55:53 · 864 阅读 · 0 评论 -
Java解惑5-类谜题
谜题46:令人混淆的构造器案例本谜题呈现给你了两个容易令人混淆的构造器。main方法调用了一个构造器,但是它调用的到底是哪一个呢?该程序的输出取决于这个问题的答案。那么它到底会打印出什么呢?甚至它是否是合法的呢? public class Confusing {原创 2011-10-14 18:16:15 · 667 阅读 · 0 评论 -
Java解惑4-异常谜题
谜题36:优柔寡断下面这个可怜的小程序并不能很好地做出其自己的决定。它的decision方法将返回true,但是它还返回了false。那么,它到底打印的是什么呢?甚至,它是合法的吗? public class Indecisive { public static原创 2011-10-14 17:26:37 · 913 阅读 · 0 评论 -
JAVA异常总结 - 继承
以下是对JAVA异常的继承机制的一些总结。1. RuntimeException与Exception, Error不同点: 当方法体中抛出非RuntimeException(及其子类)时,方法名必须声明抛出的异常;但是当方法体中抛出RuntimeException(包括Run原创 2011-10-14 19:44:30 · 811 阅读 · 0 评论 -
Java谜题9-高级谜题
谜题86:有毒的括号垃圾你能否举出这样一个合法的Java表达式,只要对它的某个子表达式加上括号就可以使其成为不合法的表达式,而添加的括号只是为了注解未加括号时赋值的顺序? 插入一对用来注解现有赋值顺序的括号对程序的合法性似乎是应该没有任何影响的。事实上,绝大多数情况下确实是原创 2011-10-14 18:20:35 · 1278 阅读 · 1 评论 -
Java谜题7-更多的类谜题
谜题66:一件私事在下面的程序中,子类的一个域具有与超类的一个域相同的名字。那么,这个程序会打印出什么呢? class Base { public String className = "Base";}class Derived extends Base {原创 2011-10-14 18:19:19 · 814 阅读 · 0 评论 -
java解惑3-循环谜题
谜题24:尽情享受每一个字节public class BigDelight { public static void main(String[] args) { for (byte b = Byte.MIN_VALUE; b < Byte.MAX_原创 2011-10-14 15:11:27 · 968 阅读 · 0 评论 -
java类加载
程序中对子类的“主动使用”会导致父类被初始化,但对父类的“主动” 使用并不会导致子类的初始化编译时常量的调用不会导致类的加载。主动使用:1,创建类的实例 2,访问某个类或接口的静态变量,或者对该静态变量赋值3,调用类的静态方法4,反射,原创 2011-10-12 23:02:44 · 625 阅读 · 0 评论 -
为jar包添加运行命令
你双击jar文件,不是会当作压缩文件打开,就是双击后说classnotfound什么的, 这说明你系统中的jar文件默认打开方式,可能是winrar,7zip等压缩工具。 先把这种默认打开方式删除。在工具-->文件夹-->文件类型,找到jar类型,把原来的打开方式删除原创 2011-09-19 16:41:34 · 1072 阅读 · 0 评论 -
Maven仓库管理-Nexus(转帖后加强版)
Maven仓库管理-Nexus(转帖后加强版)分类: maven--nexus2010-10-05 00:23 2821人阅读 评论(3) 收藏 举报前面我讲到为什么要使用Maven, Maven的安装,以及如何与IDE集成等,前面的介绍可以认为是一个He原创 2011-08-28 15:42:28 · 824 阅读 · 0 评论 -
Using java.util.logging (default)
Using java.util.logging (default)The default implementation of java.util.logging provided in the JDK is too limited to be useful.转载 2011-10-10 18:25:52 · 1613 阅读 · 0 评论 -
Build.xml
=======================================build.xml==============================================*********** definition ******原创 2011-10-12 12:31:35 · 733 阅读 · 0 评论 -
Java 类加载体系与ContextClassLoader
va是非常简单精巧的语言,背后的基本原来也很简单,总的说来有两点:1 . JVM的内存管理,理解了这个,有关对象的问题都能解决。比如线程安全问题,内存泄露问题等。2.JVM的类加载体系,理解了这个,有关jar包的配置问题,包括各种appServer的配置,应用的发布问题都原创 2011-10-12 00:57:30 · 15829 阅读 · 3 评论 -
String相关的常见问题
下面是一些String相关的常见问题:String中的final用法和理解final StringBuffer a = new StringBuffer("111");final StringBuffer b = new StringBuffer("222");原创 2011-10-14 10:22:42 · 588 阅读 · 0 评论 -
深入理解java虚拟机
第一章 走进java: java技术体系: 1, java程序设计语言。 2, java虚拟机。3,Class文件格式。4,java API java技术体系分三个平台 : JA原创 2011-10-13 10:54:06 · 1812 阅读 · 0 评论 -
有1元、5元、10元、20元、50元、100元硬币无数个,问100000元的组合方法有多少个
package com.coolxia.具体;import java.util.ArrayList;class Test1 { static int count = 0; static int fun(int stairs, int max, int[原创 2011-10-14 00:35:04 · 4055 阅读 · 0 评论 -
Java谜题8-更多的库谜题
谜题76:乒乓下面的程序全部是由同步化(synchronized)的静态方法组成的。那么它会打印出什么呢?在你每次运行这段程序的时候,它都能保证会打印出相同的内容吗? public class PingPong{ public static synchronized原创 2011-10-14 18:20:03 · 734 阅读 · 0 评论 -
IO - 同步,异步,阻塞,非阻塞
《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重转载 2011-10-18 21:05:39 · 785 阅读 · 0 评论 -
敏捷开发中编写高质量Java代码(转)
转自: http://hbluojiahui.blog.163.com/blog/static/3106476720106411019928/?fromdm&fromSearch&isFromSearchEngine=yes敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。Java项目开发过程中,由于开发人员原创 2011-11-14 18:18:22 · 791 阅读 · 0 评论 -
log4j xml配置
<param name="File" value="/data/serverside_tomcat_logs/logs/testfortimeseries.log" /> =====原创 2011-11-02 20:51:32 · 2605 阅读 · 0 评论 -
delete log
crontab -e00 23 * * * /usr/local/app/apache-tomcat-6.0.20/DelLog.sh#!/bin/bashexport JAVA_HOME=/opt/jdk1.6.0_14export PATH=$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/libjava -jar /usr/loca原创 2011-11-28 17:28:06 · 919 阅读 · 0 评论 -
java tomcat catalina.sh配置
JAVA_OPTS="-Xms2048m -Xmx2048m -Xmn512m -Xss512K -XX:PermSize=256m -XX:MaxPermSize=1024m -XX:MaxNewSize=1024m -XX:ParallelGCThreads=2 -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=50"原创 2011-10-11 14:12:14 · 2007 阅读 · 0 评论 -
MyBatis整体预览
MyBatis整体预览(一) 题记:最近在工作之余分析了一下MyBatis的源码,促使我阅读源码的原因是为了实现MyBatis在物理上的分页。我们知道,MyBatis是在逻辑上的分页,通过用户的查询,将结果缓存下来,在查看是否传递了RowBounds对象,在查看里面的offset和limit值,通过这两个值,从返回的结果集合中截取位于期间的值。但是这样并不是很好,可以想想,如果假转载 2013-03-21 00:06:50 · 1463 阅读 · 0 评论 -
Non-direct与direct ByteBuffer区别
这两种类型的ByteBuffer相信大家都知道,但是两者的区别在什么地方呢?在不同的环境下采用哪种类型的ByteBuffer会更有效率呢?先解释一下两者的区别:Non-directByteBuffer内存是分配在堆上的,直接由Java虚拟机负责垃圾收集,你可以把它想象成一个字节数组的包装类,如下伪码所示:HeapByteBuffer extends ByteBuffer {原创 2013-06-22 20:28:52 · 1275 阅读 · 0 评论 -
est
原创 2013-07-25 10:07:54 · 739 阅读 · 0 评论 -
如何在你的java程序中注册系统级热键
所谓系统级热键就是指一组快捷键,不论当前系统焦点在哪个程序中,只要按下该键,程序就能够捕捉该事件并进行相关处理。该功能在应用程序中是非常有用的,比如系统自带的 “win+L”自动锁屏,QQ中默认的“ctrl+alt+Z”自动打开当前的消息窗口等等。 Java中的事件监听机制虽然功能强大,但是当系统焦点脱离该程序时也无能为力。要实现该功能必须调用系统的钩子函数,因此在java中也必须通过原创 2011-11-01 10:14:44 · 1033 阅读 · 0 评论 -
2008最值得学习的五种JAVA技术
Carlos Perez(著名的Java技术人员)最近发表了他认为值得在2008学习五种的JAVA技术,它们是:OSGi,Java内容仓库,GWT,Groovy和云雾计算。 Carlos Perez(著名的Java技术人员)最近发表了他认为值得在2008学习五种的JAVA技术,它们是:OSGi(基于Java的动态模型规范)OSGi(Open Service Ga转载 2011-11-17 10:36:35 · 946 阅读 · 0 评论 -
hudson配置
refer to : http://hanqunfeng.iteye.com/category/1382331、神马是Hudson ?Hudson是一款持续集成工具,在项目开发过程中,使用它不断构建项目,一方面利于及时测试,另一方面能够保证开发人员检验代码的质量,如果有错误,开发人员能第一时间得到通知。2、如何获取Hudson ?进入http://hudson-ci.org原创 2011-10-27 11:10:50 · 2959 阅读 · 0 评论 -
MySQL中修改密码及访问限制设置详解
[导读]MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/403/12077903.shtml MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是原创 2011-11-17 21:42:28 · 773 阅读 · 0 评论 -
网易有道IP, 手机号, 身份证好归属地查询API接口
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=ip地址GET后返回XML数据, 包含原IP及归属地.此外type还可以: mobile(手机号), id(身份证). 尚未发现有限制.附录: Java通过网易API获取IP归属地.static Pattern patternLocation = Pattern.com原创 2011-11-17 22:32:53 · 2417 阅读 · 0 评论 -
Tomcat的类加载器
看完了Java类装载器,我们再来看看应用服务器(Tomcat)对类加载器的使用,每个应用服务器都有一套自己的类加载器体系,从而与Java的类加载器区别开以达到自己与应用程序隔离的目的.Tomcat的类加载器体系为:Bootstrap--->System--->Common---->Catalina,SharedShared------>Webapp1,Webapp2 .....下面是对转载 2011-11-19 20:53:43 · 2224 阅读 · 0 评论 -
BoneCP主要配置参数
二、BoneCP主要配置参数 1.jdbcUrl 设置数据库URL 2.username 设置数据库用户名 3.password 设置数据库密码 4.partitionCount 设置分区个数。这个参数默认为1,建议3-4(根据特定应用程序而定)。 为了减少锁竞争和改善性能,从当前线程分区(thread-affinity)中获取一个connection, 也转载 2011-11-18 17:23:07 · 2559 阅读 · 0 评论 -
JProfiler 5.1.2破解安装与使用
安装因为我在网上找不到5.1.2的版本,找到了JProfiler5.1.4,下载地址:http://download.ej-technologies.com/jprofiler/jprofiler_windows_5_1_4.zip,为绿色版,解压后即可破解文件:JProfilter.512crack.zip 下载地址:http://dl.javaeye.com/topic原创 2011-10-31 18:05:40 · 2764 阅读 · 0 评论 -
金字塔原理
第一章:为什么选择金字塔结构思维的工作方式1)大脑自动将信息归到金字塔结构的不同分组中,便于理解。2)任何预先归到金字塔结构中的思想组都更加易于理解。3)这说明任何书面都应有意地将其思想组织成金字塔结构。思维的抽象程度,自上而下的思维方式1)文章结构中的任一层次上的思想都必须是其下一层次思想的概括2)每一组中的思想都必须属于同一范畴 如果你希望将某一原创 2017-06-06 14:16:48 · 1208 阅读 · 0 评论 -
如何在LINUX中开机、登陆、退出、定时、定期自动运行程序
1、开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动,然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或/etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local文件,在文件最末加上一行“xi转载 2010-03-17 15:10:00 · 2889 阅读 · 2 评论 -
JAVA线程池例子
用途及用法 网络请求通常有两种形式:第一种,请求不是很频繁,而且每次连接后会保持相当一段时间来读数据或者写数据,最后断开,如文件下载,网络流媒体等。另一种形式是请求频繁,但是连接上以后读/写很少量的数据就断开连接。考虑到服务的并发问题,如果每个请求来到以后服务都为它启动一个线程,那么这对服务的资源可能会造成很大的浪费,特别是第二种情况。因为通常情况下,创建线程是需要一定转载 2010-05-19 13:03:00 · 53486 阅读 · 7 评论 -
事件监听器模式(一个简单的例子)
在GUI程序设计中,在设计时通常不会知道用户的动作什么时候会发生,如用户可能点击某一个按钮,也可能不点击,而且点击按钮的时机在运行时才可能知道。如果用传统的程序控制方式,则很难做到准确的响应。通常这种情况或者类似的情况下,我们可以使用事件/监听器模式。 将一个监听器(listener)与特定的控件(如按钮等)绑定起来,当发生用户点击等事件(Event)时,调用监听器的处理方法,从而响应用户转载 2010-05-19 13:40:00 · 1900 阅读 · 0 评论