勤说

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2017年3月7日

摘要: 关于线程同步(7种方式) 转载地址"http://www.cnblogs.com/XHJT/p/3897440.html" 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程 阅读全文
posted @ 2017-03-07 21:31 勤说 阅读(137) 评论(0) 推荐(0) 编辑

摘要: Java是由C++发展来的。 它摈弃了C++中一些繁琐容易出错的东西。其中有一条就是这个GC。 写C/C++程序,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。内存再大也是有限的,所以当程序不再需要使用某个变量的时候,就需要释放这个内存空间资源,好让别的变量来用它。在C/C++中,释 阅读全文
posted @ 2017-03-07 21:20 勤说 阅读(1171) 评论(0) 推荐(0) 编辑

摘要: Runnable和Callable的区别是,(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得(3)call方法可以抛出异常,run方法不可以 (4)运行Callable任务可以拿 阅读全文
posted @ 2017-03-07 21:19 勤说 阅读(243) 评论(0) 推荐(0) 编辑

摘要: 重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念。但是对于新手来说也比较容易混淆。本文通过两个简单的例子说明了他们之间的区别。 定义 重载 简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函 阅读全文
posted @ 2017-03-07 21:03 勤说 阅读(289) 评论(0) 推荐(0) 编辑

摘要: 1、JVM将内存分为方法区、堆、程序计数器、虚拟机栈、本地方法栈,其中方法区和堆是线程共享的,而程序计数器、虚拟机栈、本地方法栈是非线程共享的。 在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。另外,运行时常量池也在方法区中。 在JVM初始 阅读全文
posted @ 2017-03-07 14:42 勤说 阅读(88) 评论(0) 推荐(0) 编辑