首页
学习
活动
专区
工具
TVP
发布

Java阿呆

专栏成员
44
文章
45620
阅读量
12
订阅数
基于JDK8的HashMap实现(万字详解)
这篇文章我们来聊一聊JDK1.8中,HashMap的具体实现。并结合JDK1.7,来看看HashMap有哪些改进。
Java阿呆
2022-04-15
2340
学习Java必读的豆瓣高分书籍
今天给大家推荐几本系统学习Java语言必须要读的经典书籍,它们经过了无数人的口口相传,成为了Java领域顶流的经典名著。同时针对每一本书,给出一些个人的阅读建议。
Java阿呆
2022-03-18
8200
有人关心过线程池里死掉的线程吗?
到这可以看到,通过submit方式执行时会返回Future结果,调用结果的get()方法,才会把异常信息打印出来,所以总结一下:
Java阿呆
2021-04-30
1.6K0
使用Jedis远程连接Redis时的小插曲
从Maven依赖库库中下载两个jar包,分别是commons-pool2-2.4.2.jar和jedis-2.9.0.jar,版本不作要求。将这个两个jar包导入到工程中,然后开始编写程序。
Java阿呆
2020-11-04
1.2K0
ArrayList与LinkList对比
从继承体系可以看到,ArrayList与LinkedList都是Collection接口下List接口的实现类。可谓是一对双胞胎。
Java阿呆
2020-11-04
9850
线程池
1、任务优先向CorePool中提交,创建核心线程执行任务 2、在CorePool满了之后,任务被提交提交到任务队列,等待线程池空闲 3、在任务队列满了之后,但CorePool中还没有空闲线程,那么任务将被提交到maxPool中,创建非核心线程执行任务 4、msxPool满了之后执行task拒绝策略 具体流程图如下:
Java阿呆
2020-11-04
6490
谈谈volatile
volatile通常被比喻成“轻量级的synchronized”,也是Java并发编程中比较重要的一个关键字。和synchronized不同,volatile是一个变量修饰符,只能用来修饰变量,无法修饰方法或代码块等。 volatile的用法比较简单,只需要在声明一个可能被多线程同时访问的变量时,使用volatile修饰就可以了。
Java阿呆
2020-11-04
4440
单例模式(Singleton Pattern)
单例模式是最简单的设计模式之一,这种设计模式是一种创建型的模式,提供了创建对象的最佳方式。
Java阿呆
2020-11-04
3260
基于JDK8的HashMap详解
HashMap是程序员使用频率较高的一种用于映射(键值对)处理的数据类型,随着JDK(Java Development Kit)版本的更新,HashMap也在不断被优化。其中JDK1.8在HashMap底层引入了红黑树的数据结构并对其扩容进行了优化等。本文将结合JDK1.7与JDK1.8对HashMap进行分析,浅析HashMap在JDK1.8中的改进。
Java阿呆
2020-11-04
3960
BIO与反应器模式
  我们熟知的Socket编程就是一种BIO,一个socket连接一个处理线程(这个线程负责这个Socket连接的一系列数据传输操作)。阻塞的原因在于:操作系统允许的线程数量是有限的,多个socket申请与服务端建立连接时,服务端不能提供相应数量的处理线程,没有分配到处理线程的连接就会阻塞等待或被拒绝。   比如说,当我们最开始使用Java编写网络请求,都是建立一个ServerSocket,它负责绑定IP地址,启动监听端口;然后,Socket负责发起连接操作,连接成功建立后,双方通过输入输出流进行同步阻塞式通信;如果没有成功建立,要么等待,要么被拒绝。即:一个连接,要求Server对应一个处理线程。   简单描述一下BIO的服务端通信模型:采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理每次处理完成后,通过输出流返回应答给客户端,线程销毁。即典型的一请求一应答通信模型。
Java阿呆
2020-11-04
6370
浅谈ArrayList
contains(Object o):判断ArrayList中是否包含指定元素,返回Boolean类型
Java阿呆
2020-11-04
7440
ORM与反射
对象关系模型 关系模型(数据库表): 表、字段、字段类型 对象模型(java实体类):类、属性、属性类型 通过ORM框架解除模型之间的阻抗。
Java阿呆
2020-11-04
4520
java NIO浅析
NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区),Selector(选择器)。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个线程可以监听多个数据通道。
Java阿呆
2020-11-04
6790
java反射原理
  简单来说,反射可以帮助我们在动态运行的时候,对于任意一个类,可以获取其所有的方法(包括public、protected、private和默认状态的),所有的变量(包括public、protected、private和默认状态的)。
Java阿呆
2020-11-04
5590
线程基本概念
一般来说创建线程有三种方式: 方式一:继承java.lang.Thread类,覆写run()方法 方式二:实现java.lang.Runnable接口,实现run()方法 方式三:实现java.util.current.Callable接口,实现call()方法
Java阿呆
2020-11-04
7180
谈谈volatile
volatile通常被比喻成“轻量级的synchronized”,也是Java并发编程中比较重要的一个关键字。和synchronized不同,volatile是一个变量修饰符,只能用来修饰变量,无法修饰方法或代码块等。
Java阿呆
2020-10-26
4650
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档