![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 92
十 月
人生如梦
展开
-
关于HashMap中的hash算法
一、关于Hash表和Hash函数Hash表也称散列表,直译为哈希表,hash表是一种根据关键字值(key-value)而直接进行访问的数据结构。在哈希表的键值对关系中,key到value中间还存在着一个映射值,这个映射值就是数组的下标index,key正是通过映射到数组对应的下标index而访问到value值的,但key又是如何映射到数组下标的呢?这就要通过一个映射函数f(key),这个函数我...原创 2019-12-21 03:49:57 · 6169 阅读 · 0 评论 -
深入理解Java多线程-线程池(ThreadPool)
在java多线程开发中,一般使用线程的时候都是创建一个Thread对象,然后调用start方法执行,这样做没有什么问题,但是如果有多任务并发执行的时候,你可能需要频繁地创建多个线程来执行任务,这样会造成性能方面的问题,体现如下:1.大量的线程的创建和销毁,本身就是一个很大的性能开销2.大量线程同时运作的时候,会造成资源紧张,我们知道线程的底层机制就是切分CPU的时间,在大量线程互相抢占资源...原创 2018-11-30 12:07:41 · 467 阅读 · 1 评论 -
深入理解Java多线程-synchronized的使用及其原理
线程安全是多线程编程中的一个重要的知识点,何为线程安全?在多线程并发中,有很多数据是线程共享的,当我们某个线程去操作共享数据的时候,需要先将共享数据复制到当前线程的工作内存中来,然后操作完后再将数据更新到主存空间中去。这就造成了一个问题,如果有多个线程去读取和操作某个共享数据的时候,会造成数据读取的不确定性,即我们不能确定读取的数据是其他线程操作之前还是之后的数据先来看看下面的一个例子:...原创 2018-11-28 21:52:20 · 455 阅读 · 0 评论 -
深入理解Java反射机制
反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象, 都能够调用它的所有属性和方法,这种动态获取类信息和动态调用对象方法的机制我们称之为Java语言的反射机制。我们知道, Class类是反射得以实现的重要部分,而对应的class对象是在JVM在的类加载过程的加载阶段自动为我们生成的,Class类与java.lang.reflect反射包类库一起支持着反射的...原创 2018-11-26 17:36:36 · 263 阅读 · 0 评论 -
深入理解Java注解类型
Java注解在实际应用中很广泛,目前很多主流的框架也采用了注解来提高效率,其实注解可以理解为Java代码中的一个标记,也可以理解为一个对象,它有自己的属性和值,只是没有相关方法的实现而已。下面先通过一个例子来看一下什么是注解public class Test { //添加自定义注解 @FunAnno(name="我是方法a") public void fun_a()...原创 2018-11-22 21:35:03 · 657 阅读 · 0 评论 -
JVM的内存管理
一:JVM内存模型图示 图1 图2上面两个图都展示了虚拟机内存管理模式,整个运行时数据区又分为不同的内存区域,不同区域承担不...原创 2018-11-19 16:02:03 · 3755 阅读 · 0 评论 -
EasySocket一款轻量级的Android端Socket框架
源码地址:https://github.com/jiusetian/EasySocketEasySocket的初衷是希望使Socket编程变得更加简单、快捷,因此项目在实现了Socket基本功能的基础上,还实现了TCP层面的请求回调功能。传统的Socket框架客户端发出一个请求信息,然后服务器返回一个应答信息,但是我们无法识别这个应答信息是对应哪个请求的,而EasySocket实现了将每个请求...原创 2019-06-12 19:46:26 · 28158 阅读 · 83 评论