![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 78
寒灵冰
这个作者很懒,什么都没留下…
展开
-
Thread.sleep(0)的意义
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(转载 2016-06-11 19:03:48 · 378 阅读 · 0 评论 -
Java的char默认值,打印时是否为空格
众所周知,Java为char赋值默认值(只有成员变量才会赋值,对于局部变量,不会有默认值),默认值就是'\u0000'。但是,我在idea打印char默认值时,idea的console显示结果为空。这是为什么呢?我记得char的默认值是'\u0000'?验证这个结论,再接下去试试。结果为true,证明那个方框就是'\u0000'。但是,为什么idea显示原创 2017-05-03 00:08:27 · 3344 阅读 · 0 评论 -
JVM调优总结系列之一:一些概念
数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引用类型包括:转载 2017-01-07 17:05:07 · 232 阅读 · 0 评论 -
JVM调优总结系列之七:调优方法
对象优先在Eden上分配大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。大对象直接进入老年代所谓大对象是指需要大量连续空间的对象。虚拟机提供了一个XX:PretenureSizeThreshold参数,令大转载 2017-01-07 22:54:00 · 231 阅读 · 0 评论 -
JVM调优总结系列之八:反思
垃圾回收的悖论所谓“成也萧何败萧何”。Java的垃圾回收确实带来了很多好处,为开发带来了便利。但是在一些高性能、高并发的情况下,垃圾回收确成为了制约Java应用的瓶颈。目前JDK的垃圾回收算法,始终无法解决垃圾回收时的暂停问题,因为这个暂停严重影响了程序的相应时间,造成拥塞或堆积。这也是后续JDK增加G1算法的一个重要原因。当然,上面是从技术角度出发解决垃圾回收带来的问题,但是从系统设计方转载 2017-01-07 23:14:26 · 268 阅读 · 0 评论 -
JVM调优总结系列之六:新一代的垃圾回收算法
垃圾回收的瓶颈传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在几百甚至几十毫秒以内,如果分代垃圾回收方式要达到这个指标,只能把最大堆的设置限制在一个相对较小范围转载 2017-01-07 22:47:38 · 202 阅读 · 0 评论 -
JVM调优总结系列之五:典型配置
以下配置主要针对分代垃圾回收算法而言。堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典转载 2017-01-07 22:26:40 · 238 阅读 · 0 评论 -
JVM调优总结系列之四:分代垃圾回收
为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量,这些转载 2017-01-07 21:56:12 · 284 阅读 · 0 评论 -
JVM调优总结系列之三:垃圾回收面临的问题
如何区分垃圾上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈是真正进行程序执行地方转载 2017-01-07 21:18:33 · 244 阅读 · 0 评论 -
JVM调优总结系列之二:基本垃圾回收算法
可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep):此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二转载 2017-01-07 21:10:20 · 253 阅读 · 0 评论 -
java与xml之SAX解析XML文档
SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。 选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来原创 2016-07-17 00:49:58 · 571 阅读 · 0 评论 -
java与xml之DOM4J生成和解析XML文档
虽然DOM4J代表了完全独立的开发结果,但最初,它是JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过DOM4J API和标准DOM接口具有并行访问功能。从2000下半年开始,它就一直处于开发之中。 为支持所有这些功能,DOM4J原创 2016-07-17 01:07:04 · 382 阅读 · 0 评论 -
java与xml之JDOM生成和解析XML文档
JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。由于是第一个Java特定模型,JDOM一直得到大力推广和促进。正在考虑通过“Java规范请求JSR-102”将它最终用作“Java标准扩展”。从2000年初就已经开始了JDOM开发。 JDOM与DOM主要有两方面不同。首先,JDOM仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵原创 2016-07-17 00:58:25 · 456 阅读 · 0 评论 -
java与xml之DOM创建和解析XML文档
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据原创 2016-07-17 00:39:15 · 330 阅读 · 0 评论 -
java解析xml文件
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definit原创 2016-07-17 00:29:05 · 210 阅读 · 0 评论 -
Java如何保存网络上的图片
前几天,一个应届生同事问我如何实现保存网络中的图片。因为我们项目中有个需求是从远程服务器获取图片,然后供用户下载,而他知道的是在Java中用new File(String path)来读取本地的文件,网络中的图片不知道如何获取,后面给他详细讲了下文件流的相关知识,并写了一个demo给他看,这里记录下原创 2017-05-28 01:04:03 · 1683 阅读 · 0 评论