java
文章平均质量分 94
隔壁程序猿小王
这个作者很懒,什么都没留下…
展开
-
线程池
1. 线程池的组成一般的线程池主要分为以下 4 个组成部分:1.线程池管理器:用于创建并管理线程池2.工作线程:线程池中的线程3.任务接口:每个任务必须实现的接口,用于工作线程调度其运行4.任务队列:用于存放待处理的任务,提供一种缓冲机制Java 中的线程池是通过 Executor 框架实现的,该框架中用到了 Executor,Executors,ExecutorService,ThreadPoolExecutor ,Callable 和 Future、FutureTask 这几个类。Thr原创 2020-06-07 16:28:59 · 187 阅读 · 0 评论 -
java数据结构-稀疏数组
稀疏数组介绍一、什么叫稀疏数组呢?如果一个数组(包括多维数组)中的大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组,节约空间。一般来说,稀疏数组的处理方法是:1.记录数组一共有几行几列,有多少个不同的数值。2.把具有不同值的元素的行列及记录在一个小规模的数组中,从而缩小程序的规模。图例:从上图可以看出,原始二维数组转稀疏数组的思路:遍历原始二维数组,得到有效元素个数num根据元素个数num创建稀疏数组sparseArray[num+1][l列数]sparseArra原创 2020-06-01 14:12:26 · 192 阅读 · 0 评论 -
NIO基本知识详解
Java NIO浅析 - 美团技术团队的文章 - 知乎https://zhuanlan.zhihu.com/p/23488863原创 2020-05-23 16:17:27 · 233 阅读 · 0 评论 -
HashMap详细讲解
Java 8系列之重新认识HashMap - 美团技术团队的文章 - 知乎https://zhuanlan.zhihu.com/p/21673805原创 2020-05-23 14:35:47 · 219 阅读 · 0 评论 -
java对象内存布局
2.Java对象头HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。普通对象的对象头包括两部分:Mark Word 和 Class Metadata Address (类型指针),如果是数组对象还包括一个额外的Array length数组长度部分。Mark Word:用于存储对象自身的运...转载 2019-12-16 22:00:17 · 123 阅读 · 0 评论 -
解决springboot数据库字段与实体类属性名不一致
@Results(id = “userResult”, value = {@Result(property = “id”, column = “uid”, id = true),@Result(property = “firstName”, column = “first_name”),@Result(property = “lastName”, column = “last_name”)...转载 2019-12-07 08:28:22 · 6249 阅读 · 0 评论 -
RocketMQ保证信息有序性和防止重复
分布式开放消息系统(RocketMQ)的原理与实践分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:消息的顺序问题消息的重复问题RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的?关键特性以及其实现原理...转载 2019-12-01 21:30:25 · 1366 阅读 · 0 评论 -
Spring进阶——Spring使用和Bean创建原理
1. IOC`Inverse Of Controll`:控制反转反转了依赖关系的满足方式,由之前的自己创建依赖对象,变为由工厂推送。(变主动为被动,即反转)解决了具有依赖关系的组件之间的强耦合,使得项目形态更加稳健2. DI`Dependency Injection`:依赖注入全新的依赖满足方式,体现在编码中就是全新的赋值方式 ==> `在工厂中为属性推送值`如:`<proper...原创 2019-09-24 22:17:24 · 1401 阅读 · 0 评论 -
单例模式
单例模式1.1什么是单例在程序运行中,只允许一个实例,不允许创建多个实例,这就称为单例。1.2 单例设计模式的作用在实际开发中,在系统或平台中中允许一个实例对象,这时就需用到单例模式。(例如,一个朝代只允许一个皇帝)1.3单例模式原理通过私有化构造方法,向外提供一个公开的方法获取实例分析:某个类只能有一个对象,但是构造方法只要一调用就会产生新的对象,可以通过封装将构造方法进行私有...原创 2019-08-12 22:30:46 · 73 阅读 · 0 评论 -
NIO
1.NIO简介java.nio全称Java non-blocking IO或Java New IO,是从jdk1.4 开始引入的一套新的IO api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。IO操作模式常见的大致有以下几种方式:PIO(Programing IO): 所有的IO操作由CPU处理,CPU占用率比...原创 2019-08-15 22:12:37 · 88 阅读 · 0 评论 -
多线程同步
多线程多线程访问临界资源问题1.1数据安全问题有多个线程在同时访问一个资源,如果一个线程在取值的过程中,时间片又被其他线程抢走了,临界资源问题就产生了。解决办法:加“锁”。1.2 同步代码块同步:Synchronized:有等待异步:Asynchronized:没有等待,各执行各的语法:synchronized(锁) {//需要访问临界资源的代码段}说明:a...原创 2019-08-11 22:03:08 · 90 阅读 · 0 评论 -
线程通信和线程池
生产者与消费者设计模式设计模式原理它描述的是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者可以从仓库中取走产品,解决生产者/消费者问题,我们需要采用某种机制保护生产者和消费者之间的同步同步问题核心在于:如何保证同一资源被多个线程并发访问时的完整性,常用的方法就是加锁,保证资源在任意时刻只被一个线程访问案例一:你和你朋友公用一张银行卡,你向卡中存钱,你朋友取钱,保证你存一笔,然后取...原创 2019-08-14 21:49:38 · 240 阅读 · 0 评论 -
java反射
1.什么是反射反射就是把Java类中的各种成分映射成一个个的Java对象。例如,一个类有:成员变量,方法,构造方法,包等等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。较为准确的对反射的解释是:Reflection enables Java code to discover information about the fields, methods and con...原创 2019-08-19 22:45:37 · 113 阅读 · 0 评论 -
泛型的基本使用介绍
泛型Java从1.5之后支持泛型,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。若不支持泛型,则表现为支持Object,不是特定的泛型。泛型是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式...原创 2019-08-09 21:18:57 · 310 阅读 · 0 评论 -
SET集合、MAP集合总结
SET类型集合、MAP类型集合总结Set接口set接口常用方法存储特点HashSet集合特点HashSet集合实现排重代码实现:LinkedHashSet集合TreeSet集合TreeSet集合的元素排序Map接口Map接口的常用方法Map常用实现类HashMapLinkedHashMapHashtableHashMap和Hashtable的区别Map集合的遍历使用Map.Entry方法TreeM...原创 2019-08-07 22:31:07 · 139 阅读 · 0 评论