Java Base
BoomLei
这个作者很懒,什么都没留下…
展开
-
Java 父类子类的对象初始化过程
转载自 Java 父类子类的对象初始化过程摘要: Java基本的对象初始化过程,子类的初始化,以及涉及到父类和子类的转化时可能引起混乱的情况。1. 基本初始化过程:对于一个简单类的初始化过程是: static 修饰的模...转载 2018-08-08 16:08:26 · 893 阅读 · 0 评论 -
IntegerCache的妙用和陷阱
转载自 IntegerCache的妙用和陷阱考虑下面的小程序,你认为会输出为什么结果?public class Test { public static void main(String[] args) { &n...转载 2018-07-31 15:09:49 · 198 阅读 · 0 评论 -
void和Void的区别
转载自 你知道void和Void的区别吗区别void用于无返回值的方法定义。VoidVoid是void的包装方法,和其他基础类型的包装方法不同是Void不能被实例化,Void还可用于一直返回null的方法或者返回null的泛型。...转载 2018-07-31 15:08:21 · 1242 阅读 · 0 评论 -
为什么byte取值-128~127??
转载自 为什么byte取值-128~127??java设计byte类型为1个字节,1个字节占8位,即8bit,这是常识。另外,计算机系统中是用补码来存储的,首位为0表示正数,首位为1表示负数,所以有以下结论:最大的补码用二进制表示为:01111111 =...转载 2018-07-31 15:05:45 · 1553 阅读 · 0 评论 -
金融系统中正确的金额计算及存储方式
转载自 金融系统中正确的金额计算及存储方式经典的精度丢失问题Java中的类型float、double用来做计算会有精度丢失问题,下面来看下面的示例。public static void main(String[] args) { tes...转载 2018-07-31 15:03:07 · 790 阅读 · 0 评论 -
java之包装类与BigInteger、BigDecimal(二)
一、BigDecimal介绍 java.math.BigDecimal 不可变的immutable、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。 标度(scale)如果为零或正数,则标度是小数点后的位数...转载 2018-07-31 15:01:09 · 192 阅读 · 0 评论 -
java之包装类与BigInteger、BigDecimal(一)
一、包装类(1)包装类与原类型Integer int 的包装类 Boolean  转载 2018-07-31 15:00:00 · 661 阅读 · 0 评论 -
Java架构师必须知道的 6 大设计原则
转载自 Java架构师必须知道的 6 大设计原则在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则,和具体阐述意义。开发原则...转载 2018-07-31 14:54:36 · 212 阅读 · 0 评论 -
一文告诉你 Java RMI 和 RPC 的区别
转载自 一文告诉你 Java RMI 和 RPC 的区别RPC 远程过程调用RPC(Remote Procedure Call Protocol)远程过程调用协议,通过网络从远程计算机上请求调用某种服务。一次RPC调用的过程大概有10步:1...转载 2018-07-31 14:52:13 · 284 阅读 · 0 评论 -
数组JAVA
一、声明数组数组是引用类型,声明数组并没有分配空间,则该数组变量的值为null。类型[] 数组名;如:double[] data;二、创建数组类型[] 数组名=new 类型[长度];数组创建,数组里面的元素会被赋值,数值型基本数据类型的...转载 2018-08-01 14:34:16 · 152 阅读 · 0 评论 -
深入分析Java中的length和length()
转载自 深入分析Java中的length和length()在开始正文之前,请你快速回答如下问题:在不使用任何带有自动补全功能IDE的情况下,如何获取一个数组的长度?以及,如何获取一个字符串的长度?这个问题我问过不同水平的程序员,包括初级和中级水平的。他们都不能准确...转载 2018-08-01 14:36:09 · 2807 阅读 · 0 评论 -
在Java中如何高效的判断数组中是否包含某个元素
转载自 在Java中如何高效的判断数组中是否包含某个元素如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作。同时,这个问题在Stack Overflow中也是一个非常热门的问题。在投票比较高的几个答案中给出了几种不同的方...转载 2018-08-01 14:38:28 · 236 阅读 · 0 评论 -
Java 8新特性探究(二)深入解析默认方法
转载自 避免代码冗余,使用接口和泛型重构Java代码在使用动态语言和.NET工作了若干年后,我又回到老本行–Java开发。在Ruby中,清除代码冗余是非常方便的,而在Java中则需要结合接口和泛型实现类似的功能。原始代码以下是这个类中的一些方法用于后续的阐述。为了...转载 2018-08-08 16:01:22 · 200 阅读 · 0 评论 -
java提高篇之详解内部类
转载自 java提高篇之详解内部类内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二)。第一次见面内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。123456789101112131...转载 2018-08-08 15:59:36 · 163 阅读 · 0 评论 -
Java 8新特性——default方法(defender方法)介绍
转载自 Java 8新特性——default方法(defender方法)介绍我们都知道在Java语言的接口中只能定义方法名,而不能包含方法的具体实现代码。接口中定义的方法必须在接口的非抽象子类中实现。下面就是关于接口的一个例子:123456789101112131...转载 2018-08-08 15:57:13 · 895 阅读 · 0 评论 -
Java抽象类与接口的区别
转载自 Java抽象类与接口的区别抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例:public abstract class GenericServlet imple...转载 2018-08-08 15:54:58 · 247 阅读 · 0 评论 -
深入理解Java的接口和抽象类
转载自 深入理解Java的接口和抽象类对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中...转载 2018-08-08 15:53:42 · 212 阅读 · 0 评论 -
java提高篇之抽象类与接口
转载自 java提高篇之抽象类与接口接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。...转载 2018-08-08 15:52:06 · 278 阅读 · 0 评论 -
JAVA嵌套类以及内部类
一、嵌套类(Nested Classes)使用嵌套类减少了命名冲突,一个内部类可以定义在一个类中,一个方法中甚至一个表达式中。(1)定义A nested(嵌套) class is any class whose declaration occurs within the b...转载 2018-08-01 15:26:29 · 1575 阅读 · 0 评论 -
JAVA 构造方法和几种变量,修饰符等
一、构造方法 1)构造方法具有与类的相同名字 2)构造方法没有返回值,甚至连void都没有 3)创建新对象使用new,构造方法的作用就是初始化对象。 ...转载 2018-08-01 15:24:19 · 1263 阅读 · 0 评论 -
equals 和 hashCode 到底有什么联系?一文告诉你
转载自 equals 和 hashCode 到底有什么联系?一文告诉你写在前面Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hash...转载 2018-07-31 14:50:26 · 173 阅读 · 0 评论 -
为什么说Java中只有值传递
转载自 为什么说Java中只有值传递对于初学者来说,要想把这个问题回答正确,是比较难的。在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容易理解,遗憾的是,我也没有在网上找到哪篇文章可以把这个事情讲解的通俗易懂。所以,就有了我写这篇文章...转载 2018-07-31 14:48:55 · 253 阅读 · 0 评论 -
作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO
转载自 作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VOPOJO、PO、DTO、DAO、BO、VO这些概念作为Java开发来说应该全部或者部分遇到过,作为架构师的你想必更是清楚这些概念在不同场景的应用。下面我逐一介绍一下,想必你会更深刻...转载 2018-07-23 15:49:30 · 597 阅读 · 0 评论 -
hashCode到底有什么用?
转载自 hashCode到底有什么用?hashCode概念hashCode是jdk根据对象的地址算出来的一个int数字,即对象的哈希码值,代表了该对象在内存中的存储位置。我们都知道hashCode()方法是顶级类Object类的提供的一个方法,所有的类都可以进行...转载 2018-07-23 15:47:44 · 766 阅读 · 0 评论 -
神奇,教你用随机数打印hello world
转载自 神奇,教你用随机数打印hello world下面是一段随机数程序。public static void main(String[] args) { System.out.println(randomString(-229985452) + ...转载 2018-07-23 15:45:51 · 383 阅读 · 0 评论 -
Java对象引用四个级别(强、软、弱、虚)
转载自 Java对象引用四个级别(强、软、弱、虚)最近,高级Java技术栈微信群中,有一些猿友在讨论JVM中对象的周期问题,有谈到引用的级别,现在为大家做个总结吧,虽然大多数公司并没有意识或者用到这些引用,但了解这些基本概念对熟悉整个垃圾回收机制和面试是非常有帮助...转载 2018-07-23 15:43:02 · 228 阅读 · 0 评论 -
Java Jar包的压缩、解压使用指南
转载自 Java Jar包的压缩、解压使用指南什么是jar包JAR(Java Archive)是Java的归档文件,它是一种与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。如何打/解包使用jdk/bin/jar.exe工具,配置完环境变量后直接使得jar...转载 2018-07-23 15:41:02 · 1564 阅读 · 0 评论 -
Java父类强制转换子类原则
转载自 Java父类强制转换子类原则最近,微信群友在讨论子类父类的转换问题,其实不难,给大家用实例来说明一下就很明了了。我们知道Java中子类转换成父类是没有任何问题的,那父类可以转换成子类吗?来看下面这段程序:public class TestObjectCon...转载 2018-07-23 15:39:13 · 2329 阅读 · 1 评论 -
Java中的6颗语法糖
转载自 Java中的6颗语法糖语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。Java作为一种与平台无关...转载 2018-07-23 15:25:42 · 201 阅读 · 0 评论 -
8张图带你轻松温习Java知识
转载自 8张图带你轻松温习Java知识1字符串不变性下面这张图展示了这段代码做了什么 [code ]String s = “abcd”; s = s.concat(“ef”);[/code] 转载 2018-07-23 15:14:08 · 160 阅读 · 0 评论 -
Java开发必会的反编译知识
转载自 Java开发必会的反编译知识编程语言 在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language)。编程语言(Programming Language)分为低级语言(Low-l...转载 2018-07-23 15:52:10 · 664 阅读 · 0 评论 -
[初级]Java中的switch对整型、字符型、字符串的具体实现细节
转载自 [初级]Java中的switch对整型、字符型、字符串的具体实现细节Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止switch支持这样几种数据类型:byteshort int ch...转载 2018-07-30 11:47:29 · 257 阅读 · 0 评论 -
你真的了解Java中的三目运算符吗
转载自 你真的了解Java中的三目运算符吗三目运算符是我们经常在代码中使用的,a= (b==null?0:1);这样一行代码可以代替一个if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范的。在运用不恰当的时候会导致意想不到的问题。本文就介...转载 2018-07-30 11:51:44 · 647 阅读 · 0 评论 -
Java中的增强for循环的实现原理与坑
转载自 Java中的增强for循环的实现原理与坑 在JAVA中,遍历集合和数组一般有以下三种形式: for (int i = 0; i < list.size(); i++) { ...转载 2018-07-30 18:03:29 · 289 阅读 · 0 评论 -
Java 中的伪共享详解及解决方案
转载自 Java 中的伪共享详解及解决方案1. 什么是伪共享CPU 缓存系统中是以缓存行(cache line)为单位存储的。目前主流的 CPU Cache 的 Cache Line 大小都是 64 Bytes。在多线程情况下,如果需要修改“共享同一个...转载 2018-07-30 18:02:05 · 270 阅读 · 0 评论 -
Java 中的伪共享详解及解决方案
转载自 Java 中的伪共享详解及解决方案1. 什么是伪共享CPU 缓存系统中是以缓存行(cache line)为单位存储的。目前主流的 CPU Cache 的 Cache Line 大小都是 64 Bytes。在多线程情况下,如果需要修改“共享同一个...转载 2018-07-30 18:02:05 · 950 阅读 · 0 评论 -
深入浅出 JIT 编译器
转载自 深入浅出 JIT 编译器JIT 简介JIT 是 just in time 的缩写, 也就是即时编译编译器。使用即时编译器技术,能够加速 Java 程序的执行速度。下面,就对该编译器技术做个简单的讲解。首先,我们大家都知道,通常通过 javac...转载 2018-07-30 18:00:41 · 6262 阅读 · 0 评论 -
Java程序员最常犯的 10 个错误
转载自 Java程序员最常犯的 10 个错误这个列表总结了Java开发人员经常犯的10个错误。一 、把数组转成ArrayList为了将数组转换为ArrayList,开发者经常会这样做:List list = Arrays.asList(arr); &n...转载 2018-07-30 15:43:02 · 191 阅读 · 0 评论 -
switch case 支持的 6 种数据类型
转载自 switch case 支持的 6 种数据类型那么今天就讲一下 Java 中的 switch case 语句吧,有忘记的同学正好可以温习一下。Java 中 switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分...转载 2018-07-30 13:31:42 · 420 阅读 · 0 评论 -
Java中的基本数据类型转换(自动、强制、提升)
转载自 Java中的基本数据类型转换(自动、强制、提升)说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示。重新温故了下原始数据类型,现在来解释下它们之间的转换关系。自动类型转换自动类型转换是指...转载 2018-07-30 13:29:01 · 260 阅读 · 0 评论