垃圾收集 程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;这几个区域的内存分配和回收都具备稳定性,不需要过多的考虑回收的问题。而Java堆和方法区则不一样。 Java堆中存储了几乎所有的对象实例,垃圾收集器进行对堆的回收之前,需要判断这些对象是否还存活 一。判断对象是否存活 判断对象 ...
分类:
编程语言 时间:
2019-03-16 16:53:16
阅读次数:
193
读深入理解Java中的String(包括JVM)一文总结和提升 摘要:String作为Java语言中的字符串模拟类,无论是实际的编程工作还是笔试面试过程,都需要我们都String类非常熟悉,对于String类的大部分字符串操作方法,都必须达到熟练运用的程度才行。但是,笔试和面试过程中,面试官往往喜欢 ...
分类:
编程语言 时间:
2019-03-16 09:31:05
阅读次数:
176
谈到阻塞,相信大家都不会陌生了。阻塞的应用场景真的多得不要不要的,比如生产-消费模式,限流统计等等。什么ArrayBlockingQueue、LinkedBlockingQueue、DelayQueue等等,都是阻塞队列的实现啊,多简单!阻塞,一般有两个特性很亮眼:1.不耗CPU等待;2.线程安全;额,要这么说也OK的。毕竟,我们遇到的问题,到这里就够解决了。但是有没有想过,这容器的阻塞又是如何实
分类:
编程语言 时间:
2019-03-02 12:21:04
阅读次数:
120
一、引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。 ...
分类:
编程语言 时间:
2019-03-01 22:17:52
阅读次数:
225
一、简单工厂模式 简单工厂的定义:提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类 实现汽车接口 奔驰类 宝马类 简单工厂,既能生产宝马又能生产奔驰 测试类 测试结果 根据简单工厂的定义,用户只要产品而不在乎产品如何生产,看起来好像很完美的样子。 ...
分类:
编程语言 时间:
2019-02-17 00:57:34
阅读次数:
191
综述 Java集合就是一个容器。面向对象语言对事物的体现都是以对象的形式存在,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。如果往集合里存放基本数据类型,在存取过程中会有个自动装箱和拆箱。 因为容器... ...
分类:
编程语言 时间:
2019-02-16 13:26:15
阅读次数:
198
Java基础1:深入理解Java面向对象三大特性 三大特性:继承 封装 多态 继承 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。 子类拥有父类非private的属性和方法。 子类可以拥有自己属性和方法,即子类可以 ...
分类:
编程语言 时间:
2019-02-08 20:06:30
阅读次数:
152
无关性 无关性的体现有两个方面: 1、平台无关性:可在不同的操作系统和机器指令集上执行,可在不同厂商的虚拟机平台上执行。 2、语言无关性:用不同编程语言写出的代码编译生成的文件都可以运行。 实现思想: 面向接口,定义虚拟机和编译器之间的接口规范。也就是编译后文件的存储格式——字节码(ByteCode ...
分类:
编程语言 时间:
2019-02-02 19:21:55
阅读次数:
194
高性能硬件上的程序部署策略 在高性能硬件上部署程序,目前主要有两种方式: 通过64位JDK来使用大内存。 -- 缺点:GC停顿时间长 使用若干个32位虚拟机建立逻辑集群来利用硬件资源。 -- 思想: 分治,汇总。 缺点:分布式/多实例的缺点,如数据共享,数据一致性,一致性hash等。 堆外内存导致的 ...
分类:
编程语言 时间:
2019-02-02 12:48:50
阅读次数:
211