java
文章平均质量分 57
hjh_walker
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java中的标签语句
goto虽然是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子。它并不属于一次跳转,而是中断循环语句的一种方法。之所以把它们纳入goto问题中一起讨论,是由于它们使用了相同的机制:标签。“标签”是后面跟一个冒号的标识符,就象下面这样:label1: 对Java来说,唯原创 2016-09-04 18:08:30 · 4269 阅读 · 0 评论 -
java中的单例模式与静态类
在写代码时,碰到了有关单例和静态类两者之间选择的问题。今天就小小的总结一下两者的区别。 单例具有更多面向对象的能力,可以在需要的时候加载,不用的时候销毁,适用于保存状态信息。而静态类速度快,在编译时就会被加载,不适于保存状态信息。 在java中的静态方法是不可以覆盖的,没有太多的灵活性,而使用单例,可以通过继承和多态扩展基类,实现接口和更有能力提供不同的实现。就像java.lang.Ruti原创 2016-09-19 14:19:41 · 891 阅读 · 0 评论 -
简谈java中的阻塞非阻塞与同步异步
在学习java网络编程时,我遇到了同步/异步,阻塞/非阻塞着四种调用方式。在这里我就大概的说一下我对它们的理解。同步/异步主要针对客户端: 同步:就是当客户端发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是说必须一件一件的事情去做,等一件做完了才能去做下一件。 异步:就是当客户端发出一个功能调用时,调用者不用等接收方发出响应。实际原创 2016-09-05 12:26:21 · 5482 阅读 · 1 评论 -
java NIO 实现非阻塞socket通信
java的nio为非阻塞式socket通信提供了如下几个类: Selector : 它是SelectableChannel对象的多路复用器,所有希望采用非阻塞方式进行通信的channel都应该注册到Selector对象。可以通过调用此类的open()静态方法来创Selector实例,该方法将使用系统默认的Selector来返回新的Selector。 Selecto原创 2016-09-05 12:24:51 · 2619 阅读 · 0 评论 -
jvm的垃圾回收(1)
垃圾回收机制具有以下特征 1.垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源。 2.程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候进行。当对象永久的失去引用后,系统会在合适的时候回收它所占d的内存。 3.在垃圾回收机制回收任何对象之前,总会调用它的finalize()方法,该方法可能使该对象重新复活(让一个引用变量重新引用该对象),原创 2016-09-05 12:23:10 · 375 阅读 · 0 评论 -
native方法的实现过程
我们在编写程序的过程中,对于一些特殊的好=功能(如访问操作系统底层的硬件设备等)java程序无法实现,必须借助C语言来完成,此时就需要用c语言来为Javat提供实现,而它的实现步骤如下:1.java程序中声明native()方法,类似于abstract方法,只有方法签名,没有实现,编译该Java程序,生成一个.class文件2.用javah编译第一步生成.的class文件,生成一个原创 2016-09-05 12:21:38 · 787 阅读 · 0 评论 -
HotSpot虚拟机在java堆中的内存使用
在java程序中总是不断的有对象被创建出来,但是在虚拟机中对象的创建又是怎样一个过程呢? 符号引用:在java中,一个java类将会编译成一个class文件。在编译时,java类并不知道引用类的实际内存地址,因此只能使用符号引用来代替。比如org.simple.People类引用org.simple.Tool类,在编译时People类并不知道Tool类的实际内存地址,因此只能原创 2016-09-05 12:19:39 · 387 阅读 · 0 评论 -
jvm的运行时数据区
java虚拟机在执行java程序的过程中会把它所管理的内存分成为若干个不同的数据区。运行时数据区域有:方法区,虚拟机栈,本地方法栈,堆,程序计数器。 1. 程序计数器:它可以当作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的。在任何一个确原创 2016-09-05 12:18:52 · 364 阅读 · 0 评论 -
java容器类(2)
Set集合: Set判断两个对象相同不是使用==运算符,而是根据equals方法. 1.HashSet: HashSet是Set接口的典型实现,大多数时候使用Set集合就是使用这个实现类.HashSet按Hash算法来存储集合中的元素,因此具有很好的存取和查找性能. 特点:不能保证元素的排列顺序,顺序可能与添加顺序不同原创 2016-09-04 18:08:38 · 366 阅读 · 0 评论 -
java中的字符串常量池
JVM为了减少字符串对象的重复创建,维护了一个特殊的内存,这段内存被称为字符串常量池。并且池中的字符串的内容不重复。对于所创建的字符串对象,在字符串常量池中存放的是字符串常量对象。而new出来的字符串对象都存放在堆里。运行期调用String类的intern()方法可以向字符串常量池中动态添加对象。 String对象的创建也很讲究,关键是要明白其原理。 原理1:当使原创 2016-09-04 18:08:41 · 491 阅读 · 0 评论 -
java容器类(1)
java集合类是一种特别有用的工具类 , 可以用于存储数量不等的多个对象 , 并可以实现常用的数据结构 , 如栈,队列等 . 除此之外, Java对象还可用于保存具有映射关系的关联数组 . java集合大致可分为Set,List和Map三种体系,其中Set代表无序 ,不可重复的集合 ; List代表有序,重复的集合 , 而Map则代表具有映射关系的集合 . 从java5以后,java又增加了原创 2016-09-04 18:08:35 · 293 阅读 · 0 评论 -
Java注解
之前在学习java时没有认真看java注解这部分,最近在熟悉项目代码时,看到里面代码中很多地方都用了java注解这些东西,关于这部分在这里做个总结。 java注解,也称元数据,一种代码级别的说明。它是JDK1.5以及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。1.java的内置注解原创 2017-07-25 21:25:36 · 473 阅读 · 0 评论
分享