能饮一杯无

言前定则不跲,事前定则不困,行前定则不疚,道前定则不穷。


  • 首页

  • 关于

  • 标签

  • 分类

  • 文章

  • 搜索

Java进阶—Java中的四种引用类型:强引用、软引用、弱引用和虚引用

发表于 2018-06-10 | 分类于 Java |
| 字数统计: 3,205
在Java中是由JVM负责内存的分配和回收,这是它的优点(简化编程者的工作,不需要像C语言那样去手动操作内存),但同时也是它的缺点(不够灵活,垃圾回收对于编程者来说是不可控的)。 在JDK1.2以前,如果一个对象不被任何变量引用,则程序无法再次使用这个对象,这个对象最终会被GC(GabageColl ...
阅读全文 »

并发编程—Volatile关键字

发表于 2018-06-09 | 分类于 并发编程 , Volatile |
| 字数统计: 1,970
在并发编程中的基础概念一文中,提到了并发变编程中的可见性问题,在Java中则是使用volatile关键字解决可见性问题的。除了这点,volatile也还能对CPU的指令重排序起一定的限制作用。 volatile关键字当一个变量被volatile关键字修饰之后,则具有了两层语义: 保证了该变量在多个 ...
阅读全文 »

并发编程—AQS(AbstractQueuedSynchronizer)

发表于 2018-06-03 | 分类于 并发编程 , AQS |
| 字数统计: 8,337
AbstractQueuedSynchronizer(简称AQS)类是整个JUC包的核心类。它是实现JCU包里ReentrantLock、CountDownLatch、Semaphore、FutureTask等类的基础,阅读这些类的源码,会发现这些类都有一个内部类Sync,它们的功能也是通过Sync ...
阅读全文 »

并发编程—CAS(Compare And Swap)

发表于 2018-05-31 | 分类于 并发编程 , CAS |
| 字数统计: 2,438
案例在讨论CAS前,先看并发编程—Volatile关键字文章中写过的例子:123456789101112131415161718192021222324252627282930public class Counter { private volatile static int cou ...
阅读全文 »

Spring—@Async注解执行异步任务

发表于 2018-05-30 | 分类于 Spring |
| 字数统计: 2,594
引言在业务处理中,有些业务使用异步的方式更为合理。比如在某个业务逻辑中,把一些数据存入到redis缓存中,缓存只是一个辅助的功能,成功或者失败对主业务并不会产生根本影响,这个过程可以通过异步的方法去进行。 Spring中通过在方法上设置@Async注解,可使得方法被异步调用。也就是说该方法会在调用时 ...
阅读全文 »

并发编程—计算机并发编程的基础知识

发表于 2018-05-26 | 分类于 并发编程 |
| 字数统计: 3,069
从计算机的存储系统说起计算机的存储系统以一种分层次的结构构造,如下图所示 寄存器。存储器的顶层是CPU的寄存器。它们用与CPU相同的材料和工艺制成,其存取速度和CPU的运行速度一样快。寄存器是什么?CPU工作时需要从内存中取出指令并执行,但是通过访问内存得到指令和数据的时间要比执行花费的时间长得多 ...
阅读全文 »

Executor框架(三)ScheduledExecutorService-和-BlockingQueue

发表于 2018-05-25 | 分类于 并发编程 , 线程池 |
| 字数统计: 2,098
ScheduledExecutorServiceScheduledExecutorService是一个线程池,用来在指定延时之后执行或者以固定的频率周期性的执行提交的任务。它包含了4个方法。1234567891011121314151617181920212223242526272829303132 ...
阅读全文 »

Executor框架(二)Executors、ThreadPoolExecutor以及线程池执行任务的行为方式

发表于 2018-05-20 | 分类于 并发编程 , 线程池 |
| 字数统计: 1,773
ThreadPoolExecutorThreadPoolExecutor是Executor框架最重要的一个类,它即是真正意义上的线程池。该类的源码有两千多行,但大部分是注释说明,而且还有一些private/protected的方法,真正会用到的方法也并不太多。先了解一下它的构造器。 ThreadPo ...
阅读全文 »

Executor框架(一)Callable、Future、Executor和ExecutorService

发表于 2018-05-18 | 分类于 并发编程 , 线程池 |
| 字数统计: 3,704
引言Executor框架是指JDK 1.5中引入的一系列并发库中与Executor相关的功能类,包括Executor、Executors、ExecutorService、Future、Callable等。 为什么要引入Executor框架?如果使用new Thread(...).start()的方法 ...
阅读全文 »

iBatis和MyBatis在使用ResultMap对应关系时的区别

发表于 2018-05-17 | 分类于 MyBatis/iBatis , iBatis |
| 字数统计: 380
在使用iBatis和MyBatis的查询时,查询出来的数据通常会由一个ResultMap来接收。如果在sql语句中 SELECT 出来的字段和ResultMap中的column没有一一对应,是否会有影响呢?而且ResultMap通常会用到多个查询的sql中,这就是必须要考虑的一个问题。 iBatis ...
阅读全文 »
上一页1…222324…26下一页
liaosi

liaosi

256 日志
89 分类
95 标签
RSS
GitHub SegmentFault
链接
  • 阮一峰的个人网站
  • JavaDoop
  • 廖雪峰Python3教程
  • 纯洁的微笑
© 2018-2025 liaosi | 本站总字数: 462.8k
粤ICP备 19130181号-1