随笔分类 -  Java

摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Ctrl+Alt+H 查看某个方法在哪被调用了(非常有用)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的位置Alt+→下一个编辑的位置(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+ 阅读全文
posted @ 2014-02-12 18:14 beanmoon 阅读(834) 评论(0) 推荐(1) 编辑
摘要:关于java中stream的概念,让人困惑了很久,下面是今天从网上摘抄的集锦:刚开始接触流的概念,很迷惑,搞了很久终于搞懂,时隔许久,又迷惑了,现做一小结,拿来与大家分享。1. Java的流分为 Inputstream 和 OutputStream;2. 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等;3. Java中的流,简单的说就是字节(byte),可以把它看作是很多很多字节(byte) 汇在一起形成的东西,起个名字就叫流,像水滴形成河流一样,呵呵,个人的解释;4. 一个流,必有源 阅读全文
posted @ 2013-02-24 11:25 beanmoon 阅读(634) 评论(0) 推荐(0) 编辑
摘要:注解(Annotation)简介Annotation(注解)是JDK5.0 及以后版本引入的一个特性。注解是java 的一个新的类型(与接口很相似),它与类、接口、枚举是在同一个层次,它们都称作为java 的一个类型(TYPE)。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。它的作用非常的多,例如:进行编译检查、生成说明文档、代码分析等。JDK提供的几个基本注解a. @SuppressWarnings该注解的作用是阻止编译器发出某些警告信息。它可以有以下参数:deprecation:过时的类或方法警告。unchecked:执行了未检查的转换时警告。f 阅读全文
posted @ 2012-12-25 11:51 beanmoon 阅读(1386) 评论(0) 推荐(1) 编辑
摘要:在Java语言中, abstract class 和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。 理解抽象类 ... 阅读全文
posted @ 2012-12-06 16:02 beanmoon 阅读(21092) 评论(4) 推荐(2) 编辑
摘要:1. Maven简介1. Maven的出发点在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们 都要重复相同的开发步骤:编码,测试,打包,发布,文档。实际上这些步骤是完全重复性的工作。那为什么让软件开发人员去重复这些工作?开发人员的主要任务 应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布,。。。Maven正是为了将开发人员从这些任务中解脱出来而诞生的。2. Maven能做什么?Maven是由早期为Jakarta Turbine定制的构建工具发展而来的,现在成为了一个独立的软件项目管理工具。Maven能够:1)理解并管理整个软件开发周期 阅读全文
posted @ 2012-11-26 23:14 beanmoon 阅读(10455) 评论(0) 推荐(1) 编辑
摘要:IntroductionMaven, aYiddish wordmeaningaccumulator of knowledge, was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. There were several projects each with their own Ant build files that were all slightly different and JARs were checked into CVS. We wa 阅读全文
posted @ 2012-11-26 12:20 beanmoon 阅读(352) 评论(0) 推荐(0) 编辑
摘要:Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明显的错误。而从不好的地方来说,为了保证与旧有版本的兼容性,Java泛型的实现上存在着一些不够优雅的地方。当然这也是任何有历史的编程语言所需要承担的历史包袱。后续的版本更新会为早期的设计缺陷所累。开发人 阅读全文
posted @ 2012-11-25 13:09 beanmoon 阅读(336) 评论(0) 推荐(0) 编辑
摘要:在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂方法定义一个用于创建对象的接口,但是让子类决定实例化哪个类。压注成型演示了这种模式。塑料玩具制造商加工塑料粉,将塑料注入到希望形状的模具中。玩具的类别(车,人物等等)是由模具决定的。... 阅读全文
posted @ 2012-11-25 12:06 beanmoon 阅读(321) 评论(0) 推荐(0) 编辑
摘要:在程序中,集合类每天都在使用,以致于某些代码充斥着List和Map,一直没有机会整理下它们背后的实现原理。这几天不太忙,正好可以看会代码,补充下概念。和集合类的大致分类类似,下面我也分List,Map和Set来描述。一. List1).ArrayList ArrayList维护着一个对象数组。如果调用new ArrayList()后,它会默认初始一个size=10的数组。 每次add操作都要检查数组容量,如果不够,重新设置一个初始容量1.5倍大小的新数组,然后再把每个元素copy过去。 在数组中间插入或删除,都要移动后面的所有元素。(使用System.arraycopy())2).Lin 阅读全文
posted @ 2012-11-22 12:41 beanmoon 阅读(502) 评论(0) 推荐(0) 编辑
摘要:(1).关于junit的一篇很好的介绍:http://www.ibm.com/developerworks/cn/java/j-lo-junit4/关于junit的最佳实践:1. 新建一个名为test的source folder, 用于存放测试代码2. 目标类和测试类应该位于同一个包下,这样测试类就不必导入源代码所在的包,因为他们位于同一个包中3. 测试类的命名规则是在被测试类的前面或后面加Test,如Calculator-->TestCalculatorjunit的帮助文档:http://junit.sourceforge.net/javadoc/(2).创建jar文件:jar -cm 阅读全文
posted @ 2012-11-20 18:30 beanmoon 阅读(153) 评论(0) 推荐(0) 编辑
摘要:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息,以及动态调用对象的方法的功能来自于Java语言的反射(Reflection)机制。Java反射机制主要提供了以下功能: 1.在运行时判断任意一个对象所属的类; 2.在运行时构造任意一个类的对象;(在编译时通过new()方法就可以构造一个类的对象) 3.在运行时判断任意一个类所具有的成员变量和方法; 4.在运行时调用任意一个对象的方法; 5.生成动态代理。 Reflection 是 Java 被视为动态(或准动态)语言的关... 阅读全文
posted @ 2012-11-20 12:59 beanmoon 阅读(310) 评论(0) 推荐(0) 编辑
摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl 阅读全文
posted @ 2012-11-15 17:31 beanmoon 阅读(167) 评论(0) 推荐(0) 编辑
摘要:打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内容,先来看struts.jar中包含的MANIFEST.MF文件内容:Manifest-Version: 1.0Created-By: Apache Ant 1.5.1Extension-Name: Struts FrameworkSpecification-Title: Struts FrameworkSpecification-Vendor: Apache Software 阅读全文
posted @ 2012-11-13 18:51 beanmoon 阅读(400) 评论(0) 推荐(0) 编辑
摘要:A Java virtual machine is a program which executes certain other programs, namely those containing Java bytecode instructions. JVMs are most often implemented to run on an existingoperating system, but can also be implemented to run directly on hardware. A JVM provides an environment in which Java b 阅读全文
posted @ 2012-11-08 20:52 beanmoon 阅读(408) 评论(0) 推荐(0) 编辑
摘要:先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么: 用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项: -c 创建新的存档 -t 列出存档内容的列表 -x 展开存档中的命名的(或所有的〕文件 -u 更新已存在的存档 -v 生成详细输出到标准输出上 -f 指定存档文件名 -m 包含来自标明文件的标明信息 -0 只存储方式;未用zip压缩格式 -M 不产生所... 阅读全文
posted @ 2012-11-07 21:22 beanmoon 阅读(2420) 评论(0) 推荐(0) 编辑
摘要:首先需要下载jdk的.tar.gz文件,在某个目录(如你的主目录)下解压后在设置如下环境变量就可以了:1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。2. CLASSPATH环境变量。classpath变量的含义是告诉jvm要使用或执行的class放在什么路径上,便于JVM加载cl 阅读全文
posted @ 2012-11-05 13:16 beanmoon 阅读(169) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会 阅读全文
posted @ 2012-04-28 19:27 beanmoon 阅读(576) 评论(0) 推荐(0) 编辑
摘要:使用Spring注解来注入属性 1.1. 使用注解以前我们是怎样注入属性的 类的实现:Java代码 public class UserManagerImpl implements UserManager { private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } ... } public class UserManagerImpl implements UserManager {private UserDao userDao... 阅读全文
posted @ 2012-04-27 23:29 beanmoon 阅读(316) 评论(0) 推荐(0) 编辑
摘要:hibernate注解简介 在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准。它非常强大、灵活,而且具备了优异的性能。在本文中,我们将了解如何使用Java 5 注解来简化Hibernate代码,并使持久层的编码过程变得更为轻松。 传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载。创建这些映射有很多方法,可以从已有数据库模式或Java类模型中自动创建,也可以手工创建。无论如何,您最终将获得大量的 Hibernate 映射文件。此外,还可以使用工具,通过javadoc样式的注解生成映射文件... 阅读全文
posted @ 2012-04-27 23:29 beanmoon 阅读(539) 评论(0) 推荐(0) 编辑
摘要:类间关系在类图中,除了需要描述单独的类的名称、属性和操作外,我们还需要描述类之间的联系,因为没有类是单独存在的,它们通常需要和别的类协作,创造比单独工作更大的语义。在UML类图中,关系用类框之间的连线来表示,连线上和连线端头处的不同修饰符表示不同的关系。类之间的关系有继承(泛化)、关联、聚合和组合。(1)继承:指的是一个类(称为子类)继承另外的一个类(称为基类)的功能,并增加它自己的新功能的能力,继承是类与类之间最常见的关系。类图中继承的表示方法是从子类拉出一条闭合的、单键头(或三角形)的实线指向基类。例如,图3.2给出了MFC中 CObject类和菜单类CMenu的继承关系。 图3.... 阅读全文
posted @ 2012-04-27 22:36 beanmoon 阅读(1449) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示