随笔分类 - Java--Base
摘要:翻看以前的笔记,看到一个特殊的java文件:pacakge-info.java,虽然有记录,但是不全,就尝试着追踪一下该问题, 分享一下流水账式的结果。 首先,它不能随便被创建。在Eclipse中, package-info文件不能随便被创建,会报“Type name is notvalid”错误,
阅读全文
摘要:java 注解,从名字上看是注释,解释。但功能却不仅仅是注释那么简单。注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种: 1.生成文档。这是最常见的,也是java 最早提供
阅读全文
摘要:死锁 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 导致死锁的根源在于不适当地运用“synchronized”关键词来管理线程对特定对象的访问。“synchronized”关键词的作用是,确保在某个时刻只有一个线...
阅读全文
摘要:转自:http://blog.chinaunix.net/uid-122937-id-215913.html1. 线程的挂起和唤醒 挂起实际上是让线程进入“非可执行”状态下,在这个状态下CPU不会分给线程时间片,进入这个状态可以用来暂停一个线程的运行;在线程挂起后,可以通过重新唤醒线程来使之恢复运行...
阅读全文
摘要:http://www.doc88.com/p-389735791945.html一. 单一职责原则(SRP) 就一个类而言,只有一个引起它变化的原因。 如果一个类承载的职责过多,就等于把这些职责耦合在一起。一个职责的变化可能削弱或抑制这个类完成其他职责的能力。 这种耦合会导致脆弱的设计,当发生变化时,设计会遭受意想不到的破坏。 软件设计真正要做的就是,发现职责并把职责相互分离。 如果你能想到多于一个动机去改变一个类,那么这个类就具有多于一个的职责,应该进行分离。二.开闭原则(OCP) 软件实体(类,模块,函数)应该是可扩展,不可修改的。 无论模块多少封闭,都会存在一些对之无法封闭...
阅读全文
摘要:http://pengjiaheng.iteye.com/category/86293
阅读全文
摘要:http://download.oracle.com/javase/tutorial/index.html
阅读全文
摘要:转自:http://www.soft6.com/v9/2011/jckf_0527/152602.html在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量...
阅读全文
摘要:1先看一个简单点动态代理的例子(没有用到factory)21定义接口3packagecom.dynamic.simple;45importcom.dynamic.simple.Subject;67publicinterfaceSubject{8publicvoidrequest();9}10112实现真实类12packagecom.dynamic.simple;1314publicclassRealSubjectimplementsSubject{15publicRealSubject(){}16publicvoidrequest(){17System.out.println("Fr
阅读全文
摘要:jvm classLoader architecture :a, Bootstrap ClassLoader/启动类加载器主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作.b, Extension ClassLoader/扩展类加载器主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作c, System ClassLoader/系统类加载器主要负责java -classpath/-Djava.class.path所指的目录下的类与jar包装入工作.b, Use
阅读全文
摘要:根据所需要的不同数据库驱动分,分为四种:1:1类驱动。这就是JDBC-ODBC桥的方式。但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。2:2类驱动。这就是JDBC+厂商API的形式。厂商API一般使用C编写,所以,这种方式也不长使用。3:3类驱动。这就是JDBC+厂商Database Connection Server+DataBase的形式。这种方法就是在JAVA 与 DATABASE之间价起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。他的好处在于能优化连接。4:4类驱动。这就是纯JDBC+DATABASE的连接方式。也是推荐的连接方式。这使得APPL
阅读全文
摘要:每次开发项目时,在做数据库开发时,对于不同类都有对应的Dao类,这就要要编写大量的Dao类,其中大多是代码堆砌,但有时我们要完成特定的操作,开发独立的Dao类是必须的,但如果只是实现数据的插入、读取、更新、删除,那么如果有一个通用的Dao类可以对数据库中的所有表进行操作,可以免去编写大量同质代码的负担。一. Java反射机制Reflection是Java被视为动态语言的一个关键性质,这个机制允许程序在运行时通过Reflection APIs却任何一个一直名称的的class的内部信息,包括modifiers、superclass、实现的interfaces、fields和methods等所有信息
阅读全文
摘要:下面介绍垃圾收集器的特点和它的执行机制: <BR>垃圾收集器系统有自己的一套方案来判断哪个内存块是应该被回收的,哪个是不符合要求暂不回收的。垃圾收集器在一个 Java 程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用 System. gc 方法来 " 建议 " 执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。这也是垃圾收集器的最主要的缺点。当然相对于它给程序员带来的巨大方便性而言,这个缺点是瑕不掩瑜的。 垃圾收集器的主要特点有: &l
阅读全文
摘要:1importjava.util.Hashtable;23importjavax.naming.Context;4importjavax.naming.InitialContext;56publicclassTestBinding{78privateStringbindName="ssss";910publicTestBinding(){11Hashtableenv=newHashtable();12env.put(Context.INITIAL_CONTEXT_FACTORY,13"com.sun.jndi.fscontext.RefFSContextFacto
阅读全文
摘要:序列化是把一个对象的状态写入一个字节流的过程,它执行RMI,RMI允许一台机器上的JAVA对象调用不同机器上的JAVA对象方法,对象可以作为参数提供给那个远程方法,发送机序列化该对象并传送它,接收机执行反序列化。 序列化和反序列化的关系图表可形成包含循环引用的顺序图表。这是整个序列化的总体思想。 而Serializable接口属于支持序列化的一个接口,只有一个实现它的对象可以被序列化工具存储和回复,Serializable接口没有定义任何成员,只用来表示一个累可以被序列化,若该类可以序列化,那么它的所有子类都可以。 下面是关于序列化的一个实例: 程序名称:SerializationDemo.j
阅读全文
摘要:java -Daaa=xxx 是java运行参数的语法 注意:名称=值之间没有空格作用是配置一些环境变量,具体有哪些参数,参数有什么效果,和你用的实际环境、项目架构都有关 // - // java -D<name>=<value> (注意:没有空格) // java /* [代码]-- listing properties -- java.runtime.name=Java(TM) SE Runtime Environmentsun.boot.library.path=D:\MyProgram\Java\jdk1.6.0_10\jre\binjava.vm.versio
阅读全文
摘要:转自:http://kevin_yang.itpub.net/post/172/310251.java执行java.exe 是利用几个基本原则来寻找JavaRuntime Environment(JRE),然后把类别档(.class)直接转交给JRE 执行之后,java.exe就功成身退。类别加载器也是构成JRE 的其中一个重要成员,所以最后类别加载器就会自动从所在之JRE 目录底下的librt....
阅读全文
摘要:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
阅读全文
摘要:Collections 的sort方法使用的是合并排序算法,使用时注意list中的元素需要实现Comparable接口。这里有个简单的例子:1publicintcompareTo(Objectobj){[代码]下面是源码:[代码]
阅读全文
摘要:用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据public class ServerSocket_1{ public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(4001); Socket s = ss.accept(); B...
阅读全文

浙公网安备 33010602011771号