![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
小鸡变变变雄鹰
这个作者很懒,什么都没留下…
展开
-
Java中final的用法总结
1. 修饰基础数据成员的final这是final的主要用途,其含义相当于C/C++的const,即该成员被修饰为常量,意味着不可修改。如java.lang.Math类中的PI和E是final成员,其值为3.141592653589793和2.718281828459045。2. 修饰类或对象的引用的final在Java中,我们无法让对象被修饰为fin转载 2014-09-18 21:04:50 · 229 阅读 · 0 评论 -
ThreadLocal与synchronized
Java良好的支持多线程。使用java,我们可以很轻松的编程一个多线程程序。但是使用多线程可能会引起并发访问的问题。synchronized和ThreadLocal都是用来解决多线程并发访问的问题。大家可能对synchronized较为熟悉,而对ThreadLocal就要陌生得多了。 并发问题。当一个对象被两个线程同时访问时,可能有一个线程会得到不可预期的结果。 一个简单的java类S转载 2015-01-02 20:08:16 · 307 阅读 · 0 评论 -
throw 和 throws 的区别
系统自动抛出的异常所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。 语句抛出的异常 用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。throw是语句抛出一个异常。语法:throw (异常对象转载 2015-01-19 11:12:53 · 360 阅读 · 0 评论 -
Java 类加载
Java类加载原理解析 1 基本信息摘要:每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,转载 2014-12-12 19:21:24 · 248 阅读 · 0 评论 -
finally一定会执行吗?
在Sun Tutorial中有这样一句话:The finally block always executes when the try block exits. This ensures that the finally block is executed even if an unexpected exception occurs. 看来finally块中的语句应该是总会执行的。 先转载 2014-12-29 16:49:01 · 573 阅读 · 0 评论 -
String,StringBuffer,StringBuilder之间的区别和联系
tring是字符串常量。StringBuffer是字符串变量 ,线程安全。StringBuilder是字符串变量,线程不安全。速度:String为什么String速度最慢呢?因为每次对 String 类型进行改变的时候,等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,这样,在不断生成新对象的时候旧对象就会在内存中堆积,会造成内存浪费转载 2014-12-29 16:25:19 · 778 阅读 · 0 评论 -
HashMap的原理
HashMap目录(?)[-]HashMap的数据结构数组链表哈希表HashMap的存取实现putgetnull key的存取确定数组indexhashcode tablelength取模table初始大小解决hash冲突的办法再散列rehash过程1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但转载 2015-01-15 15:20:24 · 309 阅读 · 0 评论 -
深入理解java异常处理机制
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。转载 2015-01-13 17:32:48 · 228 阅读 · 0 评论 -
java 多线程学习
一、线程类 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 4、阻塞状态转载 2015-01-13 15:38:34 · 259 阅读 · 0 评论 -
new 和 Instance区别
在初始化一个类,生成实例的时候,大家可能用new比较多,用newInstance较少。 收集到的资料为: 最简单的描述来区分new关键字和newInstance()方法的区别: newInstance: 弱类型。低效率。只能调用无参构造。 new: 强类型。相对高效。能调用任何public构造。 newInstanc转载 2015-01-13 11:12:40 · 690 阅读 · 0 评论 -
Java中List Set Map 是否有序等总结
1.Collection List Set Map 区别记忆这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否允许元素重复否Collection否是List是转载 2014-12-17 17:38:40 · 385 阅读 · 0 评论 -
深入理解Java内存模型之系列篇
深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来转载 2014-12-16 10:52:22 · 301 阅读 · 0 评论 -
Java类加载原理解析
1 基本信息摘要:每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和jav转载 2014-12-16 10:24:33 · 269 阅读 · 0 评论 -
单例模式深度详解
在GoF的23种设计模式中,单例模式是比较简单的一种。然而,有时候越是简单的东西越容易出现问题。下面就单例设计模式详细的探讨一下。 所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在。就像是Java Web中的application,也就是提供了一个全局变量,用处相当广泛,比如保存全局数据,实现全局性的操作等。 1. 最简单的实现 首先转载 2014-11-24 16:59:57 · 223 阅读 · 0 评论 -
详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两转载 2014-09-20 11:27:14 · 255 阅读 · 0 评论 -
Java中super与this的区别
1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.class Base { Base() { System.out.println("Base"); }} public class Checket extends Base { Checket() { super();//调用父类的转载 2015-01-04 13:49:39 · 301 阅读 · 0 评论