自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猪猪

不积跬步无以至千里,不积小流无以成江海

  • 博客(14)
  • 收藏
  • 关注

转载 Java线程池大小的设置

一般说来,大家认为线程池的大小经验值应该这样设置:(其中N为CPU的个数)如果是CPU密集型应用,则线程池大小设置为N+1如果是IO密集型应用,则线程池大小设置为2N+1如果一台服务器上只部署这一个应用并且只有这一个线程池,那么这种估算或许合理,具体还需自行测试验证。但是,IO优化中,这样的估算公式可能更适合:最佳线程数目 = ((线程等待时间+线程CPU时间)/线程CPU时间 )* CPU数目因...

2018-05-31 16:31:48 4549 3

转载 浏览器中输入URL到返回页面的全过程

第一步,解析域名,找到主机IP(1)浏览器会缓存DNS一段时间,一般2-30分钟不等。如果有缓存,直接返回IP,否则下一步。(2)缓存中无法找到IP,浏览器会进行一个系统调用,查询hosts文件。如果找到,直接返回IP,否则下一步。(在计算机本地目录etc下有一个hosts文件,hosts文件中保存有域名与IP的对应解析,通常也可以修改hosts科学上网或破解软件。)(3)进行了(1)(2)本地查...

2018-05-25 11:45:43 463

转载 《Java.util.concurrent 包源码系列》:AbstractQueuedSynchronizer源码(3)

参考:https://javadoop.com/post/AbstractQueuedSynchronizer-2

2018-05-23 15:00:16 137

转载 索引的实现原理

这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的以及针对B+树索引的查询,插入,删除,更新等操作的处理方法。Oracle和DB2数据库索引的实现基本上也是大同小异的。文章写得很通俗易懂,就转在这了。关于B+树和索引内部结构可以参考:《B 树、B- 树、B+ 树和B* 树》和《深入理解DB2索引(Index)》。00 – 背景知识- B-Tree & B+T...

2018-05-23 10:40:32 207

转载 《Java.util.concurrent 包源码系列》:AbstractQueuedSynchronizer源码(2)

线程抢锁很多人肯定开始嫌弃上面废话太多了,下面跟着代码走,我就不废话了。static final class FairSync extends Sync { private static final long serialVersionUID = -3000897897090466540L; // 争锁 final void lock() { acqui...

2018-05-20 20:44:40 150

转载 《Java.util.concurrent 包源码系列》:AbstractQueuedSynchronizer源码(1)

AQS 结构// 头结点,你直接把它当做 当前持有锁的线程 可能是最好理解的private transient volatile Node head;// 阻塞的尾节点,每个新的节点进来,都插入到最后,也就形成了一个隐视的链表private transient volatile Node tail;// 这个是最重要的,不过也是最简单的,代表当前锁的状态,0代表没有被占用,大于0代表有线程...

2018-05-20 20:21:14 176

转载 《Java.util.concurrent 包源码系列》:源码包结构

java5之后的java.util.concurrent包是世界级并发大师Doug Lea的作品.java.util.concurrent主要分为四个部分:第一部分 Aomic数据类型这部分都被放在java.util.concurrent.atomic这个包里面,实现了原子化操作的数据类型,包括 Boolean, Integer, Long, 和Referrence这四种类型以及这四种类型的数组类...

2018-05-14 15:43:13 1092

转载 Java多线程之七:用Lock、synchronized、阻塞队列三种方法实现生产者消费者模式

一、阻塞队列实现生产者消费者模式package com.lock.producerandconsumer;import java.util.Random;import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;import java.util.logging.Lev...

2018-05-11 16:35:39 1099

转载 spring注解关键字

spring注解:(1)@Controller   控制器(2)@Autowired    按照类型匹配,可以完成对类成员变量,方法及构造函数进行标注,完成自动装配的工作   @Autowired(required=false) 在找不到匹配Bean时也不报错(3)@Qualifier    注释指定注入bean的名称,防止冲突,可以对成员变量、方法入参、构造函数入参进行标注(4)@Compone...

2018-05-10 10:51:04 1103

转载 Java-IO之管道(PipedInputStream和PipedOutputStream)

java中PipedInputStream和PipedOutputStream分别是管道输入流和管道输出流,它的作用是让多线程可以通过管道进行线程间的通讯,在使用管道通信时,必须将PipedInputStream和PipedOutputStream配套使用。大致的流程是:当在线程A中向PipedOutputStream中写入数据,会自动发送到与PipedOutputStream对应的PipedIn...

2018-05-09 17:59:54 344

转载 Java-IO之超类OutputStream

图中我们可以看出,以字节为单位的输出流的公共父类是OutputStream:从中我们可以看出,以字节为单位的输出流的公共父类是OutputStream:(1)OutputStream是以字节为单位的输出流的超类,提供了write()函数从输出流中读取字节数据。(2)ByteArrayOutputStream是字节数组输出流,写入ByteArrayOutputStream的数据被写入到一个byte数...

2018-05-09 16:24:31 238

转载 Java-IO之超类InputStream

InputStream是以字节为单位的输出流,通过以下框架图可以看到InputStream是所有以字节输入流类的公共父类:基于JDK8的InputStream类源码:package com.fengxiyuma.kuanjia;import java.io.Closeable;import java.io.IOException;public abstract class InputSt...

2018-05-09 14:49:38 218

转载 Java-IO之总框架

在Java IO中我们会经常提到输入流和输出流,流是一种抽象的数据总称,本质是能够进行数据的传输。按照流的方向分为:输入流和输出流。按照流中处理数据的单位,可以将其区分为:字节流和字符流。在Java中,字节就是1个Byte,8位,而字符是占2个Byte,16位,字节是有符号类型,字符是无符号类型的。接下来分别讨论输入流、输出流、字节流和字符流。一、以字节为单位的输入流的框架图:从上图我们可以看出以...

2018-05-09 14:35:56 260

转载 Java 集合系列(17):LinkedHashMap源码分析

转自:https://blog.csdn.net/caoxiaohong1005/article/details/799090831.特性分析说明:因为LinkedHashMap单词太长,所以以下都用LHM替代基本数据结构:数组+双向链表+红黑树因为继承HashMap,故常用属性和HashMap都一样。对于几个node指针的分析: HashMap中的Map.Entry:只有nextLinkedHa...

2018-05-08 10:18:03 160

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除