Enum+多态,我没说错,不过Enum是不可以被继承的,也不可以继承自别人,只是能实现接口而已,何谈多态?不过还是先看看“现象”吧:publicenumFruit{APPLE,PEAR,PEACH,ORANGE;}以上是一个简单的enum,关于它,我要补充一点:Fruit是java.lang.Enum的子类,准确地说,是Enum的子类,这里出现了一个继承关系,不过这个继承是编译器帮我们做的,我们不能显式地去做。不信的话我们可以试着用一个Enu
系统 2019-08-29 23:39:07 2206
注释,J2SE5.0(Tiger)中的新功能,将非常需要的元数据工具引入核心Java语言。该系列文章分为两部分,在这第1部分中,作者BrettMcLaughlin解释了元数据如此有用的原因,向您介绍了Java语言中的注释,并研究了Tiger的内置注释。
我们知道在我们注册用户的时候一般都有一段模糊的验证码让我们输入,其实我们自己也可以实现这个验证码,验证码的好处是为了防止某些自动提交软件的而已行为。下面就利用Servlet+JSP+JavaBran实现一个验证码机制。BufferedImage可以操作缓冲区的内部Image,可以被ImageIO输出到输出流中,我们就是利用PrintWriter可以想浏览器输出信息的原理我们输出Image图片。1、产生验证码的类MakePicturepackageme.te
系统 2019-08-12 09:30:14 2199
Java方法中参数传递【网上摘录】一个容易忽略的问题,需要注意的地方。在网上,众说纷纭。找到一个跟自己理解很近的,贴出来。值得引起注意。摘录:Java中的参数传递机制一直以来大家都争论不休,究竟是“传值”还是“传址(传引用)”,争论的双方各执一词,互不相让。不但“菜鸟”们一头雾水,一些“老鸟”也只知道结果却说不出所以然来。我相信看过下面的内容后,你就会明白一些。先看基本类型作为参数传递的例子:publicclassTest1{??????publicsta
系统 2019-08-29 23:46:41 2197
单行函数单行函数:操作数据对象接受参数返回一个结果只对一行进行变换每行返回一个结果可以转换数据类型可以嵌套参数可以是一列或一个值字符函数大小写控制函数这类函数改变字符的大小写。显示员工Higgins的信息:SELECTemployee_id,last_name,department_idFROMemployeesWHERElast_name='higgins';norowsselectedSELECTemployee_id,last_name,depart
系统 2019-08-12 01:52:04 2194
HypersonicSQL的作者又写了一个新的数据库引擎H2.它是由Java实现的,开源的。包含了Javalibrary和nativeexecutable(GCJ).JDBC以及部分ODBCAPIs.有嵌入式和client/server两种模式,可以基于磁盘操作或者内存操作,有一个web的控制台,并且支持集群。http://www.h2database.com现在Java的开源数据库就差不多有四个了:HypersonicSQLH2ApacheDerbySu
系统 2019-08-12 01:33:20 2193
有时候需要让某个类只产生一个实例,能确保对象实例只有一个的Pattern就成为SingletonPattern。Singleton类的构造函数是private的,主要是为了禁止从非Singleton类调用构造函数。把其设置为private纯粹是为了防止程序员试图通过new再产生实例。//Singleton类publicclassSingleton{privatestaticSingletonsingleton=newSingleton();privateS
系统 2019-08-12 09:29:57 2190
原文来自:http://www.dewen.org/q/5791我有三个集合ArrayListlist=newArrayList();ArrayListlist1=newArrayList();ArrayListlist2=newArrayList();分别对应三个实体,人数据库里取出了数据,现在要把这三个集合组成一个json{student:{id
系统 2019-08-29 22:37:57 2189
原文出处:http://blog.chenlb.com/2009/06/java-classloader-architecture.htmljvmclassLoaderarchitecture:BootstrapClassLoader/启动类加载器主要负责jdk_home/lib目录下的核心api或-Xbootclasspath选项指定的jar包装入工作。ExtensionClassLoader/扩展类加载器主要负责jdk_home/lib/ext目录下的
系统 2019-08-29 22:24:56 2183
Java的运行原理在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变
系统 2019-08-29 23:18:11 2178
JavaNIO增加了新的SocketChannel、ServerSocketChannel等类来提供对构建高性能的服务端程序的支持。SocketChannel、ServerSocketChannel能够在非阻塞的模式下工作,它们都是selectable的类。在构建服务器或者中间件时,推荐使用JavaNIO。在传统的网络编程中,我们通常使用一个专用线程(Thread)来处理一个Socket连接,通过使用NIO,一个或者很少几个Socket线程就可以处理成千上
系统 2019-08-29 22:36:57 2177
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。而volatile关键
系统 2019-08-29 22:29:34 2174
JavaWeb开发技术大全——第02讲配置Struts2在本讲中主要介绍了Struts2的各种配置文件。在Struts2中,最重要的有三个配置文件:web.xml、struts.xml和struts.properties。其中web.xml和struts.xml文件是xml格式的,而struts.properties文件是key-value对形式的。在web.xml文件中可以安装Struts2的过滤器类和设置过滤器参数。同时还可以配置Struts2常量,当
系统 2019-08-12 09:30:15 2172
56.惰性初始化Java代码publicclassLazy{privatestaticbooleaninitial=false;static{Threadt=newThread(newRunnable(){publicvoidrun(){System.out.println("befor...");//此句会输出/**由于使用Lazy.initial静态成员,又因为Lazy还未初*始化完成,所以该线程会在这里等待主线程初始化完成*/initial=true
系统 2019-08-29 22:02:45 2171
“愿你出走半生,归来仍学Python!”最近Python的slogan正在“变化”。原因是来自于PYPL官方发布2019年7月编程语言指数榜,Python连续半年夺冠,并且本月市场份额超高的28.08%。这简直是遇神杀神,遇佛杀佛的灭霸节奏!不过,Python虽然在编程排行上力压曾经的大佬Java,但其他方面可以吗?能给程序员想要的吗?So,Python真能给程序员想要的吗?Python能给程序员想要的吗?这个答案,9万名开发者参与的调查报告给出了答案:作
系统 2019-09-27 17:55:06 2169