2017-12-28 craneyuan
定义 Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据(元数据 Metadata:描述数据的数据)。 Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。 当然它也支持自定义Java标注 内置的注解 Java 5 定义了一套注解,共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.annotation 中。 more 作用在代码的注解(java.lang包中) @Override 继续阅读 »
2015-04-25 Eric Wang
本文给出了五种自然段落的组合方式,具体形式参见底部给出的链接,无积分下载,不管各个段落形式如何,只要段落之间存在换行分隔,该程序即可正确运行。在此提供两种切分段落的方法,分别见下面的法一和法二。 法一: ```java import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; /**         ClassName SplitParagr 继续阅读 »
2015-03-06 码农明明桑
从java 5.0开始,为我们提供注解功能,通过注解可以限制代码的重载,过时,以及实现一些其他功能,这里,就来分析一下java的注解。 java 元注解 首先来看java元注解,分别是: more @Target @Retention @Documented @Inherited 这些注解和他们所修饰的类在java.lang.annotation包中,代码都很简单,可以去查看一下。 @Target 描述注解的使用范围,取值: ElementType.CONSTRUCTOR:描述构造器 ElementType.FIELD:描述成员变量 ElementType.VARIABLE: 描述局部 继续阅读 »
2016-03-10 demon7452
Java学习笔记-Object类 Note:参阅书籍《Core Java,Volume I:Fundamentals》 Object类的说明 Object类是Java中所有类的最终祖先,在Java中每个类都是由它扩展而来; 如果没有明确的指出超类,Object就被认为是这个类的超类。class A extends Object是不必要的; 可以使用Object类型的变量引用任何类型的对象,Object obj = new A(); 在Java中,只有基本类型(primitive types)不是对象,例如:数值、字符和布尔类型的值都不是对象。所有的数组类型,不管是对象数组还是基本类型的数组都扩展于Object类。 继续阅读 »
2017-04-06 blademainer
众所周知,当我们执行没有任何调优参数(如java -jar myapplication.jar)的 Java 应用程序时,JVM 会自动调整几个参数,以便在执行环境中具有最佳性能。但是许多开发者发现,如果让 JVM ergonomics (即JVM人体工程学,用于自动选择和行为调整)对垃圾收集器、堆大小和运行编译器使用默认设置值,运行在Linux容器(docker,rkt,runC,lxcfs 等)中的 Java 进程会与我们的预期表现严重不符。 本篇文章采用简单的方法来向开发人员展示在 Linux 容器中打包 Java 应用程序时应该知道什么。 more 存在的问题 我们往往把容器当虚拟机,让它定义一些虚拟 CPU 和虚拟内 继续阅读 »
2013-07-23 码农明明桑
前几天去一个公司参加面试遇到这个问题,Java中Collection和Collections的区别,当时不会,回来从网上找到,现在记录一下。 1、java.util.Collection 是一个 集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack└Set 2、java.util.Collections 是一个包装类。它包含有各 继续阅读 »
2015-06-02 Eric Wang
在eclipse的 "problems" 选项卡中显示如下错误信息 java Description:Type Project facet Java 1.8 is not supported by target runtime Apache Tomcat v7.0 Resource:groupping ... 由StackOverflow上的回答可知,Java facet的版本总是需要和Java编译器的版本一致,所以最好的方式是通过Project Facets Properties面板进行修改。 1. 查看Problems面板信息 2. 打开Project Facets Properties面板 3. 修改configurat 继续阅读 »
2016-08-17 craneyuan
java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串。它本质上是使用正则表达式去读取不同的数据类型。 Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本。 下面是两个类的不同之处: 当nextLine()被用在nextXXX()之后,用Scanner类有什么问题 尝试去猜测下面代码的输出内容; // Code using Scanner Class import java.util.Scanner; class Differ { public static void main(String args[]) { 继续阅读 »
2016-08-30 craneyuan
goto语句一直被人所诟病,说它使得代码结构复杂化,但是语言设计者们还是没有放弃goto这个功能强大的语句。Java以面向对象所著称也没能够放弃goto,而是把它当做保留字,但是并未在语言中得到正式使用。 然而,从Java的break和continue这两个关键字的身上,我们依然能够看出一些goto的影子。 下面是《Thinking In Java 4th》中关于“goto”的介绍: 臭名昭著的“goto” goto 关键字很早就在程序设计语言中出现。事实上,goto 是汇编语言的程序控制结构的始祖:“若条件A,则跳到这里;否则跳到那里”。若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许多 跳转。然而,got 继续阅读 »
2017-05-15 kk
先说说转Java的事 我实习回来没几天, @佛爷 和 @子健 就找我谈换技术栈,我当时还挺郁闷的。 刚转 Python 不到两年,而且 Python 本身就很适合小团队,为啥要换呢? 聊完之后我明白了,关键是 Java “方便找工作”。 @子健 也提到,他在阿里实习生群里统计了一下: 总共两百多人,三十多个前端,七八十个 Java,一百多个算法。Python 在国内还是太小众了, 工作岗位太少,大公司用 Python 也只是做运维之类的工作。 大公司用的后端语言主要还是 Java 和 C++,笔试面试除了考算法,主要也就考这两门语言, 毕业后想去 BAT 的话,转 Java 有很大优势。 继续阅读 »