随笔分类 -  java

摘要:今天发现一个自己的一个知识误区 原来有些自己以为会发生异常的运算,并没有异常发生,只要运算符两端存在至少一个浮点数 比如: infinity表示无穷大 NaN表示非数 阅读全文
posted @ 2016-08-24 22:19 zerocoin 阅读(299) 评论(0) 推荐(0)
摘要:205 但是当稍微改变下时, 阅读全文
posted @ 2016-06-23 14:47 zerocoin 阅读(248) 评论(0) 推荐(0)
摘要:package day01;public class Program { public static void main(String[] args) { // TODO Auto-generated method stub char x='x'; int i=10; System.out.prin 阅读全文
posted @ 2016-06-15 15:06 zerocoin 阅读(714) 评论(0) 推荐(0)
摘要:问:以上代码执行的顺序~,输出的结果~ 正解: 根据static 对象的性质,程序的执行流程为: Test tester = null; int count1 = 0; int count2 = 0; tester = new Test(); count1 ++; count2 ++; 输出 1 1 阅读全文
posted @ 2016-06-15 12:57 zerocoin 阅读(482) 评论(0) 推荐(0)
摘要:问题来了,如何在内部类的testNum方法中调用到外部方法中的num变量? 阅读全文
posted @ 2016-06-04 10:37 zerocoin 阅读(1899) 评论(0) 推荐(0)
摘要:先看例子 输出结果是1 输出2 那么finally究竟是在try {}中的return之前还是之后执行的呢? try中的return语句调用的函数先于finally中调用的函数执行,也就是说return语句先执行,finally语句后执行。Return并不是让函数马上返回,而是return语句执行后 阅读全文
posted @ 2016-04-08 21:51 zerocoin 阅读(624) 评论(0) 推荐(0)
摘要:Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应 1.ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11 2.floor的英文意义是地板 阅读全文
posted @ 2016-04-08 11:20 zerocoin 阅读(470) 评论(0) 推荐(0)
摘要:有如下程序 我们 发现直接创建的内部类对象完全正常,但是通过反射创建的内部类对象抛出了异常。 我们对内部类进行反编译 我们发现,非静态内部类并没有无参数的构造器,表面上调用Inner的无参数的构造器创建实例,实际上JVM会将this(代表当前默认的Outer对象)作为实参 传入Inner构造器。 这 阅读全文
posted @ 2016-04-04 13:05 zerocoin 阅读(549) 评论(0) 推荐(0)
摘要:判断到底调用了哪个方法 由于第一个参数是null,既匹配第一个info()也匹配第二个info(),这时候会匹配哪个呢 objs参数为nullcount参数为5.0 根据输出结果我们发现调用个第二个方法。 根据精确匹配原则,当实际调用时传入的实参同时满足多个方法时,如果某个方法要求的参数范围越小,那 阅读全文
posted @ 2016-04-02 22:46 zerocoin 阅读(236) 评论(0) 推荐(0)
摘要:奇怪的是只输出了进入run方法,并且在等待停止。 分析: 1,main线程试图访问Demo.website值,此时website尚未被初始化,因此main线程开始对该类执行初始化,步骤 (1)为该类所有静态field分配内存 (2)调用静态初始化块的代码执行初始化 2,main线程为Demo类的we 阅读全文
posted @ 2016-04-01 21:59 zerocoin 阅读(836) 评论(0) 推荐(0)
摘要:首先看一个简单的代码 创建一个内部类的数组,编译通过。 但当定义Demo时声明一个泛型,编译失败 这个错误让人困扰,并未创建所谓泛型数组,为何会编译失败。 究其原因,是因为内部类可以直接使用外部类的T类型参数,可能产生泛型数组。 这样就可能产生泛型数组了,违反了java原则。 阅读全文
posted @ 2016-03-31 22:45 zerocoin 阅读(148) 评论(0) 推荐(0)
摘要:迭代集合时,删除集合元素会发生运行时异常 但两种情况除外 1.ArrayList,Vector,LinkedList等list集合,当使用Iterator遍历时,如果正在遍历倒数第2个元素,用List集合的 remove()方法不会引发异常。 2 对于Set集合有类似现象,删除最后一个元素不会发生异 阅读全文
posted @ 2016-03-29 22:02 zerocoin 阅读(314) 评论(0) 推荐(0)
摘要:HashSet基与HashMap 源码 ,HashSet 的实现其实非常简单,它只是封装了一个 HashMap 对象来存储所有的集合元素,所有放入 HashSet 中的集合元素实际上由 HashMap 的 key 来保存,而 HashMap 的 value 则存储了一个 PRESENT,它是一个静态 阅读全文
posted @ 2016-03-28 21:51 zerocoin 阅读(172) 评论(0) 推荐(0)
摘要:要考虑到静态字段的加载是随着类创建诞生 阅读全文
posted @ 2016-03-23 22:58 zerocoin 阅读(165) 评论(0) 推荐(0)
摘要:1.s=s+4; 在执行s=s+4;语句时,编译器在编译的时候,默认并没有强制类型转换。所以,s是short类型,4是int类型,s会自动提升为int类型,相加的和也是int类型,赋值给short类型的变量肯定会损失精度。这时候就需要进行强制类型转换:s=(short)(s+4); 阅读全文
posted @ 2016-03-21 22:56 zerocoin 阅读(306) 评论(0) 推荐(0)
摘要:客户端(Client)首先与服务端(Server)建立连接,形成通道(其实就是IO流),然后,数据就可以在通道之间进行传输,并且单个Server端可以同时与多个Client端建立连接。Socket和ServerSocket,建立客户端和服务器端.建立连接后,通过Socket中的IO流进行数据的传输。 阅读全文
posted @ 2016-03-20 20:05 zerocoin 阅读(139) 评论(0) 推荐(0)
摘要:UDP将数据及源和目的封装成数据包中,不需要建立连接。每个数据报的大小在限制在64k内。因无连接,是不可靠协议。不需要建立连接,速度快。应用案例:QQ、FeiQ聊天、在线视频用的都是UDP传输协议。 UDP传输DatagramSocket(用来发送和接收数据报包的套接字)与DatagramPacke 阅读全文
posted @ 2016-03-20 17:53 zerocoin 阅读(228) 评论(0) 推荐(0)
摘要:package example; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Test { /** * @throws ParseException ... 阅读全文
posted @ 2016-03-17 22:42 zerocoin 阅读(262) 评论(0) 推荐(0)
摘要:1带构造函数的,字段,方法的枚举 package cn.example; import org.junit.Test; public class Demo { @Test public void test(){ ptint(Grade.B); } private void ptint(Grade b 阅读全文
posted @ 2016-03-05 21:08 zerocoin 阅读(1015) 评论(0) 推荐(0)
摘要:1单生产者单消费者 package example; class Resource{ private String name; private int num=1; private boolean flag=false; public synchronized void set(String nam 阅读全文
posted @ 2016-02-29 19:55 zerocoin 阅读(534) 评论(0) 推荐(0)