大纲
一.什么是Hash?什么是HashMap?
二.HashMap的内部实现机制
1.HashMap基本元素
①DEFAULT_INITIAL_CAPACITY&MAXIMUM_CAPACITY
②DEFAULT_LOAD_FACTOR&loadFactor
③size&
非常抱歉,今天早上 6:37~8:15 期间,由于获取网站首页博文列表的 SQL 语句出现突发的查询超时问题,造成访问网站首页时出现 500 错误,由此给您带来麻烦,请您谅解。
故障的情况是这样的。
故障期间日志中记录了大量下面的错误。
2020-02-03 06:37:24.635 [
本篇分析ArrayList的源码,在分析之前先跟大家谈一谈数组。数组可能是我们最早接触到的数据结构之一,它是在内存中划分出一块连续的地址空间用来进行元素的存储,由于它直接操作内存,所以数组的性能要比集合类更好一些,这是使用数组的一大优势。但是我们知道数组存在致命的缺陷,就是在初始化时必须指
最近在比赛一个项目 , 是给Dubbo写一个负载均衡接口 , 其实dubbo已经实现了下面四种, 所以他做的不是这个单面负载均衡, 需要做双向负载均衡 , 负载均衡的权重取决于服务端,所以有些时候我们不知道如何计算权重, 权重受到很多因素影响 ,所以就需要动态考虑了.
Dub
RESTful是web应用的一种设计风格、开发方式。
以根据product_id查询产品信息为例。
原来的写法
@org.springframework.stereotype.Controller
public class ProductController{
@R
本系列笔记主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,是这本书的读书笔记。
jstack命令可以打印Java进程的各个线程堆栈跟踪信息,可以用来查看Java中各个线程的执行情况,可以用来定位和解决死循环和死锁导致的CPU飙高的问题。
所有的JDK工具都可以在O
本篇分析ArrayList的源码,在分析之前先跟大家谈一谈数组。数组可能是我们最早接触到的数据结构之一,它是在内存中划分出一块连续的地址空间用来进行元素的存储,由于它直接操作内存,所以数组的性能要比集合类更好一些,这是使用数组的一大优势。但是我们知道数组存在致命的缺陷,就是在初始化时必须指
这一节我们通过一个简单的实例,学习Sentinel的基本应用。
一、Sentinel 限流核心概念
在学习Sentinel的具体应用之前,我们先来了解一下Sentinel中两个核心的概念,资源和规则。
资源
资源 是 Sentinel 中的核心概念之一。既然是限流,或者系统保护,那么是针
拦截器主要用于拦截用户请求,并做相应的处理,十分常用。
拦截器的常见用法:
判断用户是否登录。比如购物网站用户将商品添加到购物车时,用拦截器判断用户是否登录,如未登录,则不能将商品添加到购物车(转到登录页面)。
进行权限验证。验证已登录的用户是否有相应的操作权限。
记录请求信息的日
java流程控制要点
一、java7增强后的switch
switch语句后面的控制表达式的数据类型只能是byte、short、char、int四种整数类型,不能是boolean类型,java7以后允许枚举类型和java.lang.String类型。
环境准备:
见java环境搭建
IDEA 2017 、JDK1.8、maven 3.5.2
新建maven项目,同时搭好项目结构,新建相应的包
1、导入jar包,Spring版本为5.1.10,同时导入junit包
<dependency> <groupI
目录
1、搭建编码分析
2、编写异常类
3、编写自定义异常处理器
4、在springmvc.xml中配置异常处理器
5、编写Error.jsp、index.jsp页面
6、编
结构:
Spring和Hibernate整合借助于HibernateTemplate
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.
1. Tomcat介绍
Tomcat简单的说就是一个运行Java Web项目的网络服务器,底层是Socket的一个程序,它也是JSP和Servlet的一个容器。
2. Tomcat的安装
Tomcat是使用Java语言编写的一个服务器,它的安装需要依赖系统有Java JDK,且
面试题6:重建二叉树
题目描述:
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出图2.6所示的二叉树并输出它的头
问题
学习完maven后,用maven创建了一个web项目,然后在这个web项目中创建了一个java文件夹并标记这个目录为源码根目录,当我准备创建一个Servlet的时候发现没有,如下图
解决办法
1.菜单栏File中找到File-Project Structure打开
打开后
Java 虚拟机中定义的 Class 文件格式。每一个 Class 文件都对应着唯一一个类 或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过 类加载器直接生成)。本章中,我们只是通俗地将任意一个有效的类或接口所应当满足的格式称为 “Class 文件格
MyBatis-Plus是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,使用MyBatis-Plus时,不会影响原来Mybatis方式的使用。
SpringBoot+MyBatis-Plus环境搭建
SQL脚本:
CREATE TABLE `tb_user`
学完maven后,可以创建maven的javaweb工程,在创建完成后还需要一些配置,下面来说下具体步骤,在这里我创建的是一个模块,创建web项目的方式和创建模块一样
1.创建一个模块,点new-Module
2.选择maven,然后把对勾打上,选骨架,一定要选择第二个w
问题:
第一次用maven创建项目的时候,因为本地仓库中没有jar包,需要从中央仓库下载,所以会比较慢
解决方法:
因为从中央仓库下载默认使用的国外的镜像下载,速度比较慢,我们可以把镜像修改为从阿里云下载,这样比较快
方法,打开maven在本地的位置,找到conf文件夹下的settin