关键词搜索

源码搜索 ×
×
JAVA

Java之ThreadPoolExcutor和四种常见的线程池

一、ThreadPoolExcutors的作用java提供了ThreadPoolExcutors来创建一个线程池,我们为什么要用线程池呢?1.降低资源的消耗:通过重复利用已经创建好的线程降低线程的创建和销毁带来的损耗2.提高响应速度:因为线程池中的线程处于等待分配任务的状态,当任务来时无需创建新的线程就能执行3.提高线程的可管理性     &nbs
JAVA

Java之解决散列表的冲突用开放定址法和链表法

1问题理想状态下,散列表就是一个包含关键字的固定大小的数组,通过使用散列函数,将关键字映射到数组的不同位置,哈希函数可以将关键字均匀的分散到数组的不同位置,不会出现两个关键字散列值相同(假设关键字数量小于数组的大小)的情况。但是在实际使用中,经常会出现多个关键字散列值相同的情况(被映射到数组的同一个位置),我们将这种情况称为散列冲突。为了解决散列冲突,主要采用下如下两种方式: &nbsp
JAVA

Java线程安全以及线程安全的实现方式和内存模型(JMM)

一、了解几个概念 1)临界区: 临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待,有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用  2)互斥量:互斥量是一个可以处于两态之一的变量:解锁和加锁。这样,只需
JAVA

Java之多线程里面的锁理解以及synchronized与Lock的区别

一、宏观的说下锁的分类1)锁分为乐观锁、悲观锁悲观锁认为对于同一个数据的并发操作,一定是会发生修改的,哪怕没有修改,也会认为修改。因此对于同一个数据的并发操作,悲观锁采取加锁的形式。悲观的认为,不加锁的并发操作一定会出问题。乐观锁则认为对于同一个数据的并发操作,是不会发生修改的。在更新数据的时候,会采用尝试更新,不断重新的方式更新数据。乐观的认为,不加锁的并发操作是没有事情的2)锁分为公平锁、非公
JAVA

Java之new一个对象简单过程

1问题new一个对象简单过程  2过程1)类加载过程(第一次使用该类)   先看这个类有没有加载到内存,没有的话下面操作   (1)、加载:类加载器(双亲委派模式)通过全限名读取类的二进制流到jvm内部,存储在运行时内存的方法中,java堆中生成一个代表该类的java.lang.Class对象,作为方法区数据的访问入口
点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载