上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: Java比起C++一个很大的进步就在于Java不用再手动控制指针的delete与free,统一交由JVM管理,但也正因为如此,一旦出现内存溢出异常,不了解JVM,那么排查问题将会变成一项艰难的工作。 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区。这些区域都有各自 阅读全文
posted @ 2018-03-07 14:20 十月十四 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 引言 什么都先不说,先看下面这个引入的例子: 再将上面的例子加上一行代码: 是不是感觉莫名其妙,新定义的str2好像和str1没有半毛钱的关系,怎么会影响到有关str1的输出结果呢?其实这都是intern()方法搞的鬼!看完这篇文章,你就会明白。 这中间的原因和Hotspot是有很大关系的,在JVM 阅读全文
posted @ 2018-03-06 18:51 十月十四 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 不知道有没有前辈注意过,当你编写一段“废话式的代码时”会给出一个Dead Code警告,点击警告,那么你所写的废物代码会被编译器消除,那么如果你不理睬这个警告呢?编译后会是什么样的呢?下面我们写点代码,来查看一下编译后的结果,这里使用反编译工具jd-gui.exe。代码如下: 反编译 上面我们知道了 阅读全文
posted @ 2018-03-06 03:56 十月十四 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 在讲解流程控制语句之前,我们先来说一下语句的问题。Java中的语句分为声明和赋值语句,条件和循环语句,调用和返回语句;我们之所以每两个放在一起是有深意的,我们大致将语句分为这三块,并以此为纲来说一下,重点在流程控制语句(条件和循环语句)。 程序就是由一系列的声明、赋值、条件、循环、调用和返回语句组成 阅读全文
posted @ 2018-03-06 03:50 十月十四 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 剖析加强for 很长一段时间对于foreach都有一种误解,那就是foreach只是普通for的包装,底层还是普通for循环,直到深入了解迭代器的时候,才发现自己错了,本节就来探讨一下foreach,深入底层去了解它。下面我们通过一段代码来看一下: 想要了解它的底层实现,自然需要它编译后的代码,下面 阅读全文
posted @ 2018-03-06 02:09 十月十四 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 我们前边曾说过程序=数据结构+算法,数据结构讲的是数据在内存中的存储形式,这个我会作为2018的一个重点来研究,不过在这里不做赘述,前半年的工作以JavaSE为主。算法则是我们在数据结构的基础上对其的一些运算,这些运算可以是逻辑运算也可以是数学运算,这也是本节我想讨论的问题,下面开始本节学习。 1 阅读全文
posted @ 2018-03-05 01:32 十月十四 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 1.1 变量与常量 我们在开发中会经常听到常量和变量,那么常量和变量指的又是什么呢?顾名思义,在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。变量与常量的命名都必须使用合法的标识符。 1.1.1 常量 在程序运行过程中一直不会改变的量称为常量(constant),通常也被称为 阅读全文
posted @ 2018-03-04 21:58 十月十四 阅读(292) 评论(0) 推荐(0) 编辑
摘要: Unicode Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求(Unicode的作用)。 阅读全文
posted @ 2018-03-04 20:22 十月十四 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 如何将十进制的浮点数 转换二进制的浮点数,分为两部分: 1. 先将整数部分转换为二进制, 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加。 以 20.5 转换为例,20转换后变为10100;0.5 要转换二进制,需要乘2, 乘完之后 取整数部分,然后用乘的结果减去整数部分, 然后接着乘 阅读全文
posted @ 2018-03-04 20:20 十月十四 阅读(1488) 评论(1) 推荐(0) 编辑
摘要: 我们都知道Java的基本数据类型内存中都有一个固定的位数(内存分配空间),如byte占8位,int占32位等。正因如此,当把一个低精度的数据类型转成一个高精度的数据类型时,必然会涉及到如何扩展位数的问题。这里有两种解决方案: (1)补零扩展:填充一定位数的0。 (2)补符号位扩展:填充一定位数的符号 阅读全文
posted @ 2018-03-04 20:18 十月十四 阅读(446) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页