JAVA基础
java基础
木生火18624
多练内功
展开
-
Tomcat为何出现Protocol handler initialization failed问题
通过Tomcat的log文件,查看启动不了的原因。15-Dec-2020 10:56:13.693 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[AJP/1.3-8099]]org.apache.catalina.LifecycleException: Failed to initialize component [Connect..原创 2020-12-15 14:27:00 · 15142 阅读 · 0 评论 -
Mysql8.0和5.6切换使用(迁移)
因为一开始装的是5.6版本,已经存了很多数据了现在因为项目需要,mysql升级为8.0.21。其实8.0的安装和5.6的差不多。现在电脑上有两个版本的数据库。如果需要5.6的数据,mysql也选择5.6的配置路径.然后就开启对应的服务。如果要8.0的数据,就开启下面mysql8然后去开启的mysql8数据太多。慢慢迁移吧。...原创 2020-08-15 13:30:09 · 1780 阅读 · 0 评论 -
Map集合中的entry是什么?
Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出Key和Value。扩展资料因为Map这个类没有继承Iterable接口,所以不能直接通过map.iterator来遍历,所以就只能先转化为set类型,用entrySet()方法,其中set中的每一个元...转载 2020-08-07 15:12:42 · 3294 阅读 · 1 评论 -
web.xml下配置解决EL表达式不能使用问题
之所以上面的那个获取不到request域中的值,是因为其el表达式没有引入或者映射过来需要如下配置:web.xml中要配置<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.x...原创 2020-08-06 22:11:15 · 793 阅读 · 1 评论 -
JDK(五)JDK1.8源码分析【集合】HashMap
传统 HashMap 的缺点JDK 1.8 以前 HashMap 的实现是 数组+链表,即使哈希函数取得再好,也很难达到元素百分百均匀分布。当 HashMap哈希冲突严重时,有大量的元素都存放到同一个桶中时,这个桶下有一条长长的链表,这个时候 HashMap 就相当于一个单链表,假如单链表有 n 个元素,遍历的时间复杂度就是 O(n),完全失去了它的优势。针对这种情况,JDK 1.8 中引入了 红黑树(查找时间复杂度为 O(logn))来优化这个问题。HashMap 在 JDK 1.8 中新转载 2020-08-05 09:33:09 · 199 阅读 · 0 评论 -
JDK(九)JDK1.7源码分析【集合】HashMap的死循环
JDK(九)JDK1.7源码分析【集合】HashMap的死循环前言在JDK1.7&1.8源码对比分析【集合】HashMap中我们遗留了一个问题:为什么HashMap在调用resize()方法时会出现死循环?这篇文章就通过JDK1.7的源码来分析并解释这个问题。如下,并发场景下使用HashMap造成Race Condition,从而导致死循环,现象是CPU 100%被占用。final HashMap<String, String> map = new HashMa..转载 2020-08-05 09:24:54 · 152 阅读 · 0 评论 -
阿里面试官没想到一个ArrayList,我都能跟他扯半小时
ArrayList有用过吗?它是一个什么东西?可以用来干嘛?有用过,ArrayList就是数组列表,主要用来装载数据,当我们装载的是基本类型的数据int,long,boolean,short,byte…的时候我们只能存储他们对应的包装类,它的主要底层实现是数组Object[] elementData。与它类似的是LinkedList,和LinkedList相比,它的查找和访问元素的速度较快,但新增,删除的速度较慢。小结:ArrayList底层是用数组实现的存储。特点:查询效率高,增删效率.转载 2020-08-05 09:11:04 · 225 阅读 · 0 评论 -
JDK(八)JDK1.7&1.8源码对比分析【集合】HashMap
https://www.cnblogs.com/warehouse/p/9418156.html转载 2020-08-05 09:22:33 · 508 阅读 · 0 评论 -
一个HashMap能跟面试官扯上半个小时
一个HashMap能跟面试官扯上半个小时《安琪拉与面试官二三事》系列文章一个HashMap能跟面试官扯上半个小时一个synchronized跟面试官扯了半个小时一个volatile跟面试官扯了半个小时《安琪拉教鲁班学算法》系列文章安琪拉教鲁班放技能之动态规划前言HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。开场面试官: 你先自我介绍一下吧!安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不转载 2020-07-30 11:46:54 · 306 阅读 · 0 评论 -
Java 8系列之重新认识HashMap
HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承转载 2020-07-28 18:06:09 · 149 阅读 · 0 评论 -
HashMap的工作原理及底层结构
了解HashMap之前,我们需要知道Object类的两个方法hashCode和equals,我们先来看一下这两个方法的默认实现:/** JNI,调用底层其它语言实现 */ public native int hashCode(); /** 默认同==,直接比较对象 */ public boolean equals(Object obj) { return (this == obj); } equals方法我们太熟悉了,经常用于字符串比较,String类中重写..转载 2020-07-28 17:22:40 · 328 阅读 · 0 评论 -
HashMap的负载因子为什么默认是0.75
负载因子是和扩容机制有关的,意思是如果当前容器的容量,达到了我们设定的最大值,就要开始执行扩容操作。举个例子来解释,避免小白听不懂:比如说当前的容器容量是16,负载因子是0.75,16*0.75=12,也就是说,当容量达到了12的时候就会进行扩容操作。他的作用很简单,相当于是一个扩容机制的阈值。当超过了这个阈值,就会触发扩容机制。HashMap源码已经为我们默认指定了负载因子是0.75。 我截取了部分源码,从这里可以看出,系统默认的负载因子值就是0.75,而且我们还可以在构造方...转载 2020-07-28 13:09:51 · 5007 阅读 · 3 评论 -
Java WebService 简单实例
Java WebService 简单实例http://www.cnblogs.com/yisheng163/p/4524808.html?utm_source=tuicooleclipse+webservice开发实例http://blog.csdn.net/xw13106209/article/details/7049614原创 2019-12-13 10:52:51 · 157 阅读 · 0 评论 -
JAVA中处理异常(try catch)的快捷键是什么?
选中需要加try catch的代码段,然后alt+shift+zctrl+shift+alt+S看你配置的artifacts的output directory指向哪里原创 2019-01-07 14:10:30 · 8802 阅读 · 0 评论