Table of Contents 目录1.范围2.规范性引用文件3.术语和定义4.排版规范4.1.规则4.2.建议5
一个Java对象到底占用多大内存? 最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然
有简单又高效的方法可以实现单例模式,但没有一种方式能在任何情况下都确保单例的完整性。单例模式是指某个类只
在Java编程中,使用private关键字修饰了某个成员,只有这个成员所在的类和这个类的方法可以使用,其他的类都无法访问到这个private成员。上面描述了private修饰符的基本职能,今天来研究一下private功能失效的情况。Java内部类在Java中相信很多人都用过内部类,Java允许在一个类里面定义另一个类,类里面的类就是内部类,也叫做嵌套类。一个简单的内部类实现可以如下 1 2 3
在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。注解可以做什么Java中的注解通常扮演以下角色编译器指令构建时指令运行时指令其中Java内置了三种编译器指令,本文后面部分会重点介绍Java注解可以应用在构建时,即当你构建你的项目时。构建过程包括生成源码,编译源码,生成xml文件,
Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式。然而这两种实现其实存在着一些性能和内存占用的差别。这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这
编程实践Javadoc后记前言...
这两天一直在查无线app一个诡异的问题,表象是stg的接口返回数据,和线上
对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端
在我刚刚接触现在这个产品的时候,我就在我们的代码中接触到了对Double Brace Initialization的使
提到ThreadLocal,有些Android或者Java程序员可能有所陌生,可能会提出种种问题,它是做什么的,是不是和线程有关,怎么使用呢?等等问题,本文将总结一下我对ThreadLocal的理解和认识,希望让大家理解ThreadLocal更加透彻一些。ThreadLocal是什么 ThreadLocal是一个关于创建线程局部变量的类。通常情况下,我们创建的变量是可以被任何一个线程访问
栈的规则是先进后出。利用压栈的思想来计算四则运算表达式是这样的:我们给定两个栈,一个
当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack。这种情况下,不免让很多人更加费解前面的问题。事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一个程
深入分析 Java I/O 的工作机制 I/O 问题可以说是当今互联网 Web 应用中所面临的主要问题之一,
会导致精度丢失的三种拓宽原始类型转换:从int 到float、从long 到float、从long 到double。 丢失
public class Type3 implements Type1, Type2 { public void f() { System.out.println("domain(String[] args) { Type3 tp = new Type3()...
一、序列化和反序列化的概念
jar cvf xx.jar ./* 子找到(发现)-Dj...
//字符串常量池 String str1 = "str"; String str2 = "ing"; String str3 = "str" + "ing"; String str4 = str1 + str2; System.out.println(str3 == str4); //false String str5 = "string"; System.out.pr
自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。如果你在Java1.5下进行过编程的话,你一定不会陌生这一点,你不能直接地向集合(Collections)中放入原始类型值,因为集合只接收对象。通常这种情况下你的做法是,将这些原始类型的值转换成对象,然后
不可变的String对象在Java中,String对象是不可变的(Immutable)。在代码中,可以创建多个某一个String对象的别名。但是这些别名都是的引用是相同的。比如s1和s2都是”droidyue.com”对象的别名,别名保存着到真实对象的引用。所以s1 = s2fileos:false 1 2 3String s1 = "droidyue.com"; String s2 = s1;
一.相关概念什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。Class文件中的常量池在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着是用于存放常量的常量池
复合赋值操作符包括*=、/=、%=、+=、-=、<<=、>>=、>>>=、 &=、^=和|= 在运算时提 while (i != 0) { i >>>= 1; } 死循环解析:(sh...
移位操作符:<<、>>和>>>。移位长度总是介于0 到31 之间,如果左操作数是long 类型的,则介于 0 到63 之间。 移
如果在安装过程中修改了目录,有可能将jdk和jre选在同一个目录,这样在安装后,jr
数组: 无论使用的数组属于什么类型,数组标识符实际都是指向真实对象的一个句柄。那些
public class ThreadLocalExample { public static void main(String[] args) { dLocal<Inte...
public class TypeCast {
import java.lang.annotation.*;import java.lang.reflect.*;public class Annotation { public static v
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号