数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架。在平常的学习开发中,灵活熟练地使用这些集合框架,可以很明显地提高我们的开发效率,当然仅仅会用还是不够的,理解其中的设计思想与原理才能更好地提高我们的开发水平。下面是自己对Java集合 ......
220
0
0
2023-06-13
JDK8内存区域Java 虚拟机 在执行 java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。如下图所示: Java 对象分配内存主要与堆有关,所以此处只介绍一下堆内存。堆是 JVM 内存管理的最大的一块区域,此内存区域的唯一目的就是存放对象的实例,所有对象实例与数组都要在堆上分配内存。它也是垃圾收集器的主要管理区域。java 堆可以处于 ......
269
0
0
2023-06-13
目录1.关于AOP2.初步使用AOP环境配置3.使用原生Spring API接口实现AOP4.使用自定义类实现AOP5.使用注解实现AOP1.关于AOP面向切面编程(俗称AOP)提供了一种面向对象编程(俗称OOP)的补充,面向对象编程最核心的单元是类(class),然而面向切面编程最核心的单元是切面(Aspects)。与面向对象的顺序流程不同,AOP采用的是 ......
263
0
0
2023-06-13
目录1. MySQL的版本2. MySQL驱动3. 修改MySQL配置文件4. 重启数据库,检查变量5. 数据库连接的配置6. 将数据库和已经建好的表也转换成utf8mb4utf-8编码可能1个字节、2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持最多3字节的数据,也就是说mysql最开始的时候,对utf-8的支持是不完整的。而emoj ......
363
0
0
2023-06-13
目录背景典型回答考点分析知识拓展execute() VS submit()线程池的拒绝策略自定义拒绝策略ThreadPoolExecutor 扩展小结背景线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程,这样就可以有效提高程序的响应速度。但如果要说 ......
328
0
0
2023-06-13
前言在一个大数据量的系统中,这些数据的存储、处理、搜索是一个非常棘手的问题。比如存储问题:单台服务器的存储能力及数据处理能力都是有限的, 因此需要增加服务器, 搭建集群来存储海量数据。读写性能问题:单台数据库服务器的数据存储和数据处理能力都是有限的, 而大多数互联网业务,往往读多写少,而互联网特别是中大型的电商系统,业务都是非常繁忙的, 这个时候最容易出现的 ......
313
0
0
2023-06-13
本文开始我们来给大家介绍在Vue中非常重要的一个内容,就是路由 Router 什么是路由 后端路由 :对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; 前端路由 :对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关 ......
291
0
0
2023-06-13
本文摘录自 腾讯 高级工程师在「全球C++及系统软件技术大会」上的专题演讲。 01Lego简介 首先介绍一下 CDN 。非常早期的时候有一个大牛创建了一个公司叫阿卡曼,他把服务器部署到全球各地,然后把源站的内容缓存在就近的服务器。比如我们广东,可能在深圳有个机房,我们就缓存了一份跟源站一模一样的内容。这样用户在访问这个内容的时候不用“ 跋山涉水” 到北京 ......
283
0
0
2023-06-13
前言 平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。闲话不多说,开搞。Linux命令类 tail 最常用的tail -ftail -f shopbase.log #倒数300行并 ......
277
0
0
2023-06-13
前言笔者的工作经历中使用过Ant、Maven和Gradle,如果让笔者选择,笔者会首选Gradle。那为什么还要写Maven这篇内容呢?时下大部分公司都还在使用Maven,并且很多开源项目也在使用Maven,Maven有一些功能特性还是很不错的,很值得做总结记录。Maven是什么Maven是Apache旗下的一个纯Java开发的开源项目,是一个用于构建和管理 ......
385
0
0
2023-06-13
在实际开发过程中经常会做的一步操作,就是判断当前的key是否存在。 那这篇博客主要分为三部分: 、几种方式判断当前key是否存在的性能进行比较。 、Redis实现 布隆过滤器 并批量插入数据,并判断当前key值是否存在。 、针对以上做一个总结。 一、性能对比主要对以下方法进行性能测试比较: 1、List的 contains 方法 2、Map的 ......
373
0
0
2023-06-13
反射初识在网上看java反射讲的是很模糊,今天通过我的理解细细讲下,相信通过这篇文章让你重拾对学习的信心。一句话概括: 反射是可以绕过 jvm 编译阶段。可以动态加入代码。比如一个对象没有确定,可以在运行过程中动态去确定。一个对象的方法未完全实现,也可以调用该方法(部分)。 很抽象?等下面我们通过实例讲完之后,再看这个概念,觉得醍醐灌顶!!!有反射,那就有 ......
292
0
0
2023-06-13
目录前言前置知识分布式锁的思考Redis订阅/发布机制Redisson加锁订阅解锁看门狗前言Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。Redisson有一样功能是可重入的分布式锁。本文来讨论一下这个功能的特点以及源码分析。前置知识在讲Redisson,咱们先来聊聊分布式锁的特点以及Red ......
303
0
0
2023-06-13
目录前置知识1.Analyzer2.Elasticsearch 内置分词器3. Standard Analyzer3.1 Definition3.2 Configuration3.3 实验4. Simple Analyzer4.1 Definition4.2 Configuation4.3 实验5. Stop Analyzer5.1 Definition5. ......
362
0
0
2023-06-13
方法区(Method Area) 与 Java 堆一样,是各个 线程 共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《 java 虚拟机规范》中把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫作“非堆”(Non-Heap),目的是与Java堆区分开来。目录栈、堆、方法区的交互关系方法区的理解设置 ......
365
0
0
2023-06-13