随笔分类 - java菜鸟
摘要:volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v
阅读全文
摘要:在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有人会问,既然都可以通过synchronized来实现同步访
阅读全文
摘要:JVM内存结构 我们都知道,Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。 其中有些区域随着虚拟机进程的启动而存在,而有些区域则依赖用户线程的启动和结束而建立和销毁。在《Java虚拟机规范(Java SE 8)
阅读全文
摘要:我们第一次写的单例模式是下面这样的: 假设这样的场景:两个线程并发调用Singleton.getInstance(),假设线程一先判断instance是否为null,即代码中line A进入到line B的位置。刚刚判断完毕后,JVM将CPU资源切换给线程二,由于线程一还没执行line B,所以in
阅读全文
摘要:一、什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于每个线程执行的过程是不可控的,所以很可能
阅读全文
摘要:一、线程的状态 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于对Thread类中的方法的理解。 线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked
阅读全文
摘要:一、Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认是java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即在我们自己的程序中如果没有主动创建线程的话,只会
阅读全文
摘要:1、什么是序列化和反序列化 Serialization(序列化)是一种将对象以一连串的字节描述的过程;deserialization(反序列化)是一种将这些字节重建成一个对象的过程。 2、什么情况下需要序列化 a)当你想把内存中的对象保存到一个文件 中或者数据库中的时候; b)当你想用套接字sock
阅读全文
摘要:对于面向对象编程来说,抽象是它的一大特征。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有很多相似的地方,又有很多不同的地方。 一、抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。其声明格式为: 抽象方法必须用abstr
阅读全文
摘要:下载了一个最新版的MyEclipse,网上下载了破解工具,按照步骤完成后破解失败。很纳闷,于是网上查看,说是破解器的版本须与MyEclipse的版本对应,不对应的话,是没有效果的。如我的是CI-7版本,使用了一个CI-5的破解器版本,就没有成功。于是在上网找到了CI-7版本的破解器,下载链接为:ht
阅读全文
摘要:想必大家在安装javaSE或其它版本时会注意到,在配置环境变量path之后,还需要新建一个名为CLASSPATH,变量值设为 它有什么用呢? 原来CLASSPATH的目的是定义类的加载路径,通知JVM去哪里可以找到将要执行的Java程序对应的class文件以及程序中引用的其它class文件。 再看看
阅读全文
摘要:有些东西,你懂不懂其实并不太影响你干活,但有些人就是有疑惑就非得弄懂,不然浑身难受,我大概就是这种德性的。昨天安装javaSE的时候,看到jdk中有个jre文件夹,而根目录下又有个jre文件夹,非常困惑,难道不一样吗?带着问题,上网查了一会儿,果然,还是有点明灯的人~ 首先看看JDK和JRE分别在开
阅读全文
摘要:具体的参考这篇博文就好了~~!http://www.cnblogs.com/liu-en-ci/p/6743106.html
阅读全文

浙公网安备 33010602011771号