java-语法
文章平均质量分 91
yichudu
code anything
展开
-
@Override @Test @... 注解
@Override表示覆盖父类的原创 2014-11-09 09:57:16 · 1954 阅读 · 0 评论 -
PriorityQueue 优先队列
public class PriorityQueue extends AbstractQueue implements java.io.Serializable {package com.likeyichu;import java.util.PriorityQueue;public class PriorityQueueTest { public static vo原创 2015-01-30 15:18:43 · 757 阅读 · 0 评论 -
java String 字符串
成员方法。charcharAt(intindex)Returnsthecharvalueatthespecifiedindex.intcodePointAt(intindex)Returnsthecharacter(Unicodecodepoint)atthespecifi原创 2014-11-07 23:15:19 · 761 阅读 · 0 评论 -
HashSet 源码解读
HashSet是基于HashMap来实现的,操作很简单,更像是对HashMap做了一次“封装”,而且只使用了HashMap的key来实现各种特性。1. 类的定义public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable{ private transie原创 2016-04-22 13:23:40 · 483 阅读 · 0 评论 -
HashMap类的JDK实现剖析
1.结构Map是一个接口,这个接口内部还有一个接口,叫Entry。HashMap中Entry接口的实现类是内部静态类:HashMap.Node,结构见下: static class Node implements Map.Entry { final int hash; final K key; V value; Node原创 2016-03-19 12:36:49 · 611 阅读 · 0 评论 -
Runtime 与操作系统交互
每一个java程序都有类Runtime 的一个实例,它允许当前程序与当前运行环境进行交互。它可以通过 Runtime.getRuntime()获得。原创 2014-11-30 19:07:17 · 1847 阅读 · 0 评论 -
java 数组
数组的声明有两种方式。int []a 与 int a[]等价。原创 2014-11-08 21:20:00 · 651 阅读 · 0 评论 -
static 静态
static 可以修饰字段与方法。ciwai还有一种原创 2014-11-25 14:58:36 · 616 阅读 · 0 评论 -
Random 随机数
public class RandomTest { public static void main(String[] args) { double x = Math.random();// 返回[0,1)之间的double值 Random random = new Random(); int n = 123; random.nextInt(n);// 返回[0,n)原创 2015-01-30 14:01:06 · 783 阅读 · 0 评论 -
mockito mock测试框架
1.简介mock,[mɒk],adj. 虚拟的,模拟的。如果你的代码对另一个类或者接口有依赖,mock测试能够帮你模拟这些依赖,从而完成测试。使用场景:类A有一个方法fun(B b),它依赖于B类的一个对象。所以要测试这个方法必须要有b对象。如果自己构造B对象,并做一些操作来适应测试,会显得麻烦。那么就可以用mock测试。2.获得mock测试是一种思想,mockito是一个原创 2016-03-08 09:29:45 · 1102 阅读 · 0 评论 -
RTTI 运行时类型信息 与 Reflect 反射
RTTI,Run Time Type Information,运行时类型信息。要理解RTTI在java中的工作原理,必须知道 类型信息 在 运行时 是如何表示的。每个类都有一个字段“Class class;”,好晕啊,类名和对象名一样。每当编写并编译了一个新类,就会产生一个Class对象,被保存在同名的.class文件中。JVM的类加载器会去用它。1.Classpublic final class...原创 2015-02-02 17:43:43 · 614 阅读 · 0 评论 -
interface 接口
接口中的方法只能声明不能定义。接口中可以定义基本数据类型。接口中的方法默认就是public权限,所以你不必显式地写public;当然写了也不会报错。一个类继承接口要用到implements 关键字。子类必须实现接口中的所有方法,且访问权限只能是public。子类无论是被向上转型为普通类、抽象类或接口,都是可行的。原创 2014-11-01 22:50:01 · 689 阅读 · 0 评论 -
java 类的继承与动态绑定
//: reusing/Chess.java// Inheritance, constructors and arguments.import static net.mindview.util.Print.*;class Game { Game(int i) { print("Game constructor"); }}class BoardGam原创 2014-10-25 00:09:55 · 1152 阅读 · 0 评论 -
java.io.Serializable (序列化接口)
该接口的定义为:java.io.Serializablepublic interface Serializable { }//大括号内为空。这是一种特殊的接口。Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成byte流,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了。1.特点1:当一个对象被序列化时,只保原创 2016-02-03 16:37:41 · 1877 阅读 · 0 评论 -
java类的热替换
1.背景一些关键应用不能轻易停止服务,可以尝试在线升级,即在不停止正在运行的系统的情况下进行类(对象)的升级替换。Java 的 ClassLoader 正是实现这项技术的基础。2.思想3.相关类4.示例import java.io.File;import java.io.FileInputStream;import java.io.FileN原创 2016-06-11 18:58:45 · 2726 阅读 · 0 评论 -
java8新特性 (λ、Function, stream 与 默认接口方法)
1.lambdaλ表达式本质上是一个匿名方法,用来方便地实现函数接口。也就是说,λ表达式主要用于替换以前广泛使用的内部匿名类。让我们来看下面这个例子: public int add(int x, int y) { return x + y; }转成λ表达式后是这个样子: (int x, int y) -> x + y;参数类型也可以省略,J...原创 2015-06-17 19:06:27 · 1999 阅读 · 0 评论 -
java 数学运算与位运算
位运算& 按位与| 按位或^ 按位异或~ 按位取反 按位左移,补0>> 按位右移,新的符号位同原来的符号位>>> 按位右移,新的符号位总为0所有的位操作符处理对象都是数字的补码!小数处理整数与整数的除法结果仍是整数,小数点会被直接舍掉。小数转化为整数,如(int)2.9还是小数点截掉处理。% 求余运算符。若10.3%10,答案是0.3,而原创 2015-06-15 17:34:52 · 1729 阅读 · 0 评论 -
正则表达式
正则表达式中的符号含义. 任意字符+ 出现次数大于零| “或”的逻辑关系\ 正则表达式中的转义。java中\也表示转义,所以经常能看到\\连一块,不好看。() 同数学中小括号的作用? 可能含有\d [0,9]\D 非数字\s 空白符(空格 制表符 回车 换页 换行)\S 非空白符\w 英文字符[a-zA-Z0-9]\W 非英文字符[^\w]$ 一原创 2015-01-29 19:33:37 · 1110 阅读 · 1 评论 -
@自定义注解
注解的作用类似于接口。使用注解让代码更简洁。注解定义定义自己的注解要用到@Target与@Retention注解@java.lang.annotation.Target指明注解作用在类上,方法上还是字段上。依次对应TYPE,METHOD,FIELD。@java.lang.annotation.Retention指明注解的保留级别。若为RUNTIME:vm将在运行期间保留注解原创 2015-07-28 15:46:51 · 901 阅读 · 0 评论 -
TCP套接字编程 java原生
import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;import org.w3c.do原创 2014-12-16 17:42:27 · 1220 阅读 · 0 评论 -
package扫描
扫描项目中所有的类与方法,读取特定注解的值,这种需求在spring中也有.这个xml配置大家应该很熟悉,就是让spring去扫描有哪些类上有@Component这样的注解,帮你组装bean.它背后的代码在Set org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findC原创 2016-11-30 13:36:02 · 490 阅读 · 0 评论 -
abstract 抽象方法、类
abstract抽象方法仅仅是声明,并不给出定义的方法叫抽象方法。抽象类如果一个类包含一个或多个抽象方法,该类必须被限定为抽象类。也可以创建一个不包含抽象方法的抽象类。考虑这种情况:有一个类,让其包含任何抽象方法都显得没有实际意义,而且我们也想要阻止产生这个类的任何对象,那么这样做就很有用了。抽象类不允许实例化。一个类继承一个抽象类,有两种情况:1.为所有抽原创 2014-10-26 19:25:12 · 1115 阅读 · 0 评论 -
日期与时间
用来计算未来某个时刻与现在的时间间隔。package com.example.bb;import java.util.Calendar;public class TimeCalc { static Calendar theDay = Calendar.getInstance(); static { theDay.set(2015,2-1,28,9,00,00); /原创 2015-01-01 23:47:41 · 1460 阅读 · 0 评论 -
感知调用栈
0.类与方法java.lang.Throwable类。描述一条可抛出的信息。java.lang.Throwable.Throwable()构造函数,jvm自动填充StackTraceElement信息。StackTraceElement[] java.lang.Throwable.getStackTrace()获取StackTraceElement的数组。第0条代表当前行。原创 2016-10-12 11:58:32 · 483 阅读 · 0 评论 -
java.容器类(list,queue,map,set)
Iterablepublic interface Iterable { Iterator iterator();}实现该接口的方法都可以被遍历。Collectionpublic interface Collection extends IterableSet和List 都继承了Conllection,Map没有。Collection接口的方法:原创 2014-12-10 16:15:39 · 1257 阅读 · 0 评论 -
proxy 动态代理
什么是代理?有一个对象a,你想用另一个对象b来做他的代理,那么b叫做代理对象,a叫做被代理对象。为什么要使用代理?所以我们不再直接跟a打交道,只需跟代理对象打交道即可。代理对象可以为我们提供额外的或不同的操作。常用函数Object java.lang.reflect.Proxy.newProxyInstance(ClassLoader loader, Class[] inter原创 2015-09-30 17:11:07 · 539 阅读 · 0 评论 -
内部类
import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.TimeUnit;public class A { public static void main(String[] args) throws InterruptedException { Timer timer= n原创 2014-12-28 10:34:29 · 856 阅读 · 0 评论 -
泛型的边界
泛型参数中的问号//: generics/Holder.java//Fruit是Apple的基类,但Holder不是Holder的基类,所以不能向上转型//Holder可以向上转型为Holder,此时set()方法不能用,只能用get()class Fruit{}class Apple extends Fruit{};class Orange extends Fruit{};原创 2015-02-02 19:21:20 · 1418 阅读 · 0 评论 -
Weak Reference (弱引用)
java.lang.ref.WeakReference这是一个泛型类。类似Student student=new Student();这样的,都是强引用。1.简介一个对象只要有StrongReference引用它,那么这个对象就不会被GC。若一个对象只有WeakReference引用它,那么这个对象就可能被GC。2.使用场景用容器(如Map)缓存一批对象,当对象没有强引原创 2016-03-03 09:42:23 · 710 阅读 · 0 评论 -
java enum 枚举
创建enum时,编译器会为你生成一个相关的类,这个类继承自java.lang.Enum。调用enum的values()方法,可以返回enum实例的数组,并且该数组中的元素严格保持其在enum中声明时的顺序。ordinal()方法返回一个int值,这是每个enum实例在声明中的次序,从0起。可以使用==来比较enum实例。Enum类实现了Comparable接口,所以它具有compare原创 2014-11-09 20:00:14 · 797 阅读 · 0 评论 -
Iterator
Iteratorpublic interface Iterator用于遍历Collection的迭代器。Iterator接口声明了如下方法: hasNext(): 判断集合中元素是否遍历完毕,如果没有,就返回true next() :返回下一个元素 remove():从集合中删除上一个有next()方法返回的元素。 Iterablepu原创 2015-01-30 11:19:32 · 666 阅读 · 0 评论 -
java 计划任务
有一些程序是永不停歇的,比如监控某个数据表中的内容是否变化。若有变化通知给其他程序。下面两个类可以作为模版。/** * 定期检查某个数据库中某表中的数据是否有变,若有更新,做想做的事。这是抽象基类。 * 泛型V代表 表中 每一行数据对应的对象。 */import org.slf4j.Logger;import org.slf4j.LoggerFactory;impo原创 2015-06-02 16:40:14 · 964 阅读 · 0 评论 -
java gui
awt,Abstract Window Toolkit,抽象窗口工具包。用来编写gui程序。它是java早期的产物,后被swing替代。swing是在awt基础上提供的新的界面工具包,它比awt运行速度快,界面也更加漂亮。 但是,事件的响应等工作还是要用awt来完成。例子:原创 2015-02-01 14:25:36 · 644 阅读 · 0 评论 -
ArrayDeque 双端队列
public class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable{}public class DequeueTest { public static void main(String[] args) { Deque原创 2015-01-30 15:35:38 · 769 阅读 · 0 评论 -
运算符
位运算符与C相比,java中的移位操作符有它的特殊之处。向左移动时低位补0.>>:符号为正,高位补0;符号为负,高位补1。>>>:无论正负,都在高位补0。Integer.toBinaryString()可输出二进制的字符串形式。float x=3.23F;System.out.println(x%2);//会输出1.23,非整数!!!!原创 2015-02-03 13:01:31 · 588 阅读 · 0 评论 -
进程
java.lang.Process控制进程并获得进程的信息。此类可以控制进程的输入输出、等待进程执行完毕、检查退出代码以及摧毁进程等。Process java.lang.Runtime.exec(String command) throws IOException在一个隔离的进程中执行命令,得到Process对象。 即启动其他程序并获得相应的控制权。Executes the sp原创 2015-01-14 16:13:32 · 617 阅读 · 0 评论 -
HashMap 映射
Modifier and TypeMethod and Descriptionvoidclear()Removes all of the mappings from this map.Objectclone()Returns a shallow copy of this HashMap instance: th原创 2014-11-05 21:57:40 · 1541 阅读 · 0 评论 -
ArrayList 变长数组
ArrayList相当于STL里面的Vector。//: holding/ApplesAndOrangesWithGenerics.javaimport java.util.*;class Apple { private static long counter; private final long id = counter++; public long id(原创 2014-11-02 18:56:58 · 1294 阅读 · 0 评论 -
LinkedList 链表
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, java.io.Serializable{}public class QueueTest { public static void main(String[] args) { Que原创 2015-01-30 15:14:37 · 637 阅读 · 0 评论 -
StringUtils
第三方的字符串处理库import org.apache.commons.lang.StringUtils; public class StringUtilsAndWordUtilsUsage { public static void main(String[] args) { // data setup Str原创 2014-11-25 17:01:23 · 672 阅读 · 0 评论