![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 64
lei_1000
这个作者很懒,什么都没留下…
展开
-
What does volatile do?
This is probably best explained by comparing the effects that volatile and synchronized have on a method. volatile is a field modifier, while synchronized modifies code blocks and methods. So we can s转载 2009-12-17 20:49:00 · 567 阅读 · 0 评论 -
JVM内存配置参数说明
最近在工作过程中总是出现OutOfMemoryException的问题,很是气愤,决定搞清楚这些参数的意义。 首先先说一下JVM内存结构问题,JVM为两块:PermanentSapce和HeapSpace,其中 HeapSpace= {Old + NEW {= Eden , from, to } }。PermantSpace主要负责存放加载的Class类级对象如class本身,method,fie转载 2009-12-18 20:19:00 · 4988 阅读 · 0 评论 -
Java 线程状态 (English)
23.2 Thread States: Life Cycle of a Thread At any time, a thread is said to be in one of several thread states that are illustrated in the UML state diagram in Fig. 23.1. A few of the terms in the d原创 2009-12-16 21:48:00 · 883 阅读 · 0 评论 -
Java 线程状态
Java线程的状态 上图来源于网络资源,本人加了一些文字注释有关状态的转换针对上图进行说明:线程通过start()启动后进入到可运行状态,在此状态下,一旦锁释放,由JVM调度程序自动调度。如果有多个可运行程序,并且优先级相同,由JVM进行选择; 线程运行的唯一前置状态是可运行,因此在等待或者睡眠状态的线程,在运行之前必须先为可运行状态。这就是如果一个线程在锁上调用了原创 2009-12-15 20:38:00 · 955 阅读 · 0 评论 -
Java线程同步很像火车上的厕所
线程同步的概念:线程同步的根本目的就是为了保证线程对同步代码或者同步函数one by one的运行,最终目的是为了保证数据的一致性。每一个对象都可以充当这样的锁,因为任意一个对象都有一个标志位,有1和0两种状态 *当程序执行到synchronized代码块的时候线程会检查对象的标志位是1还是0 *如果是1则执行程序,同时将对象的标志位设置为0,其他线程执行到sy原创 2009-12-17 13:39:00 · 743 阅读 · 0 评论 -
Servlet生命周期
Servlet生命周期Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。Servlet的生命周期包含了下面4个阶段:(1)加载和实例化Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测转载 2009-12-13 20:19:00 · 365 阅读 · 0 评论 -
Java中的排序算法源码分析
Java API中的排序算法为归并排序(Arrays.sort()),但不是标准的归并,而是进行了一些修改。修改之处是:对于较小规模的数据会进行交换排序,判断的依据是元素的个数小于阈值(INSERTIONSORT_THRESHOLD:7)。标准的归并是将序列通过递归的方式分割为两个有序子序列,递归终止的条件是直到序列中只有一个元素而自然有序;而修改后的归并排序是在分割的过程中,当子序列较小时(原创 2009-12-07 19:43:00 · 600 阅读 · 0 评论 -
StringBuffer 和 StringBuilder
StringBuffer是线程安全的,线程的安全也带来的速度的减慢,由于在有些时候我们是单线程使用,因此线程的安全并没有必要。因此StringBuilder去掉了方法的同步,成为在单线程下对StringBuffer的替代,从而使得速度更快,效率更高。原创 2009-12-04 14:50:00 · 356 阅读 · 0 评论 -
hashCode() and equals()
他们的功能和目的是不同的:equals()是为了比较对象是否相等;HashCode()是用来决定元素在集合中的散列位置;使用HashCode的集合有:HashTable, HashSet, HashMap。hashcode的使用使得equals()调用的次数大大减少。以HashTable为例:put操作时,首先调用对象的HashCode()得到其hash值,根据这个值以及hash表原创 2009-12-04 14:36:00 · 522 阅读 · 0 评论 -
你真的会写冒泡排序吗
你真的会写冒泡排序吗原创 2016-07-18 17:47:29 · 397 阅读 · 0 评论