随笔分类 - java基础
用于编写java基础相关的内容的文章
摘要:通过分析JDK1.7和1.8两个不同版本的源码,讲解了ConcurrentHashMap中节点数目并发统计的底层实现原理
阅读全文
摘要:博文回答一下两个问题: 1. 接口和抽象类的区别 2. 选用接口和抽象类的依据 对于问题1: 1. 从java语法的角度上来说,接口的所有成员和方法都是public的,且其方法均为abstract的。直到jdk1.8之后,接口中的方法才能进行默认的实现。而对于抽象类,其可以有私有的实现,且其可以没有
阅读全文
摘要:本博文整合自: "Java安全——理解Java沙箱" 、 "Java 安全模型介绍" 、 "Java的沙箱机制原理入门" 相关介绍: 我们都知道,程序员编写一个Java程序,默认的情况下可以访问该机器的任意资源,比如读取,删除一些文件或者网络操作等。当你把程序部署到正式的服务器上,系统管
阅读全文
摘要:相关介绍: RMI全称是Remote Method Invocation,即远程方法调用。它是一种计算机之间利用远程对象互相调用,从而实现双方通讯的一种通讯机制。使用这种机制,某一台计算机(虚拟机)上的对象可以调用另外一台计算机(虚拟机)上的对象来获取远程数据。RMI是Enterpris
阅读全文
摘要:Properties类与.properties文件: Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集的类,不过Properties有特殊的地方,就是它的键和值都是字符串类型。而.properties文件是由“键=值”
阅读全文
摘要: hashCode和equals方法是Object类的相关方法,而所有的类都是直接或间接的继承于Object类而存在的,为此,所有的类中都存在着hashCode和equals。通过翻看Object类的相关源码,发现其hashCode的实现方式如下: 从中
阅读全文
摘要:在学习有关java枚举的时候,我们知道了所有的枚举类型均是继承自java.lang.Enum类的,且所有的枚举常量均是该枚举类型的一个对象,且对象名即为该枚举常量的名称。例子如下:源码: 反编译后的代码: 在写代码的时候,由于输入法切换的问题,发现枚举常量的常量名称居然是可以使用中文的。代码如下:
阅读全文
摘要: 枚举是如何保证线程安全的且其在序列化和反序列化的操作中是单例的? 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的
阅读全文
摘要:用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 用法二:switch JDK1.6之前的switch语句
阅读全文
摘要: 首先,应该明白的是transient是java中的一个关键字,音标为 英: [ˈtrænziənt] 。 在了解transient关键字之前,应该先弄明白序列化和反序列化。所谓的序列化,通俗点的来说,就是将一个对象转化为字节序列的形式来表示,这些字节序
阅读全文
摘要:在java中,对一个对象进行序列化操作,其有如下两种方式: 第一种: 通过实现java.io.Serializable接口,该接口是一个标志接口,其没有任何抽象方法需要进行重写,实现了Serializable接口的类,其序列化过程是默认的,当然,也可以通过在该类中重写如下四个方法对序列化的过程进行控
阅读全文
摘要:Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?以下内容将围绕这些问题进行展开讨论。 1. Java序列化与反序列化 简单来说Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2. 为什么需
阅读全文
摘要:@转载自:http://www.cnblogs.com/guanghuiqq/archive/2012/07/18/2597036.html 简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传
阅读全文
摘要:@转自天地悠悠的个人博客 主要总结一下在eclipse中如何使用断言。 (一)首先明确: java断言Assert是jdk1.4引入的。 jvm 断言默认是关闭的。 断言是可以局部开启的,如:父类禁止断言,而子类开启断言,所以一般说“断言不具有继承性”。 断言只适用于复杂的调试过程。 断言一般用于程
阅读全文

浙公网安备 33010602011771号