• 等级
  • 39503 访问
  • 99 原创
  • 0 转发
  • 48226 排名
  • 8 评论
  • 7 获赞

ConcurrentHashMap 原理

HashMap 在高并发下会出现链表环,从而导致程序出现死循环。高并发下避免HashMap 出问题的方法有两种。一是使用HashTable,二是使用Collections.syncronizedMap 但是这两种方法的性能都能差。因为这两个在执行读写操作时都是将整个集合加锁,导致多个线程无法同时读写集合。高并发下的HashMap出现的问题就需要ConcurrentHashMap 来解决了。   ...

2018-12-15 23:50:57

AI高端大气智能机器人

 人工智能就是这么简单: package com.example.yxl.controller; import java.util.Scanner; /** * * Copyright (c) 2018, * All rights reserved. * 文件名称: AiTest.java * 作 者: yxl 2018年12月14日 * 创建时间: 2018...

2018-12-14 15:13:03

Map、list 线程安全问题

什么叫做线程安全? 单线程和多线程执行的结果总是唯一的。 一、HashMap解析 HashMap是线程不安全的,多线程情况下不推荐使用HashMap。它的key,value运行为null 二、Hashtable解析 Hashtable在jdk1.1就有了,那么它是怎样实现线程安全的呢?主要看put、remove、get方法猜它肯定进行的同步控制的。于是看源码: //get它搞成了同步方法,保...

2018-12-13 14:31:09

jvm调优-3

一、什么是JVM     JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。     Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Ja...

2018-12-10 15:42:43

mysql存储引擎

前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。 存储引擎查看 MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.1,可...

2018-11-27 18:55:52

springboot 4 - shiro简介

 Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能 。     Shiro 能做什么 ???       认证:验证用户的身份       授权:对用户执行访问控制:判断用户是否被允许做某事       管理:在任何环境下使用 Session API,即使没有 Web 或EJB 容器。       加密:以更简洁易用的方式使用加密功能,保护或隐...

2018-11-27 15:48:07

springboot 3 - 加入分页功能、redis配置使用

前言:基于pagehelper的分页、reidis   1、分页实现 pom: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <vers...

2018-11-23 15:31:27

ACID

⑴ 原子性(Atomicity)   原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 ⑵ 一致性(Consistency)   一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。...

2018-11-22 20:07:35

SpringBoot 2-连接数据库、配置logback打印sql日志等

前言:上节说到新建项目。本节连接数据库  logback  通用mapper配置 实现操作数据库 需要注意的已添加备注  。以下是贴的代码。ps:代码手写一遍加强记忆吧~ pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xml...

2018-11-20 17:33:38

SpringBoot 1 -新建

前言: 来新公司六个月,第一次用SpringBoot,之前都是使用的传统的SSM框架,然后配置繁琐,新建一个项目需要配置超多东西,还要各种启动测试,对于初级的我很是烦恼,也多次常识搭建,时间一长还是会忘。而SpringBoot大大提高了工作效率,开始就是上去就是写代码,也没有研究过,今天想想还是抽时间整理下,以SpringBoot为基础,系统整理下。 什么是spring boot Sprin...

2018-11-20 14:34:46

schedulingconfigurer springboot 定时任务之一

java8: package com.hehe.config; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import org.springframework.beans.factory.annotation.Autowired; import org.sp...

2018-11-19 13:06:17

webfilter跨域

package com.daimler.architecture.deviceinfo.filter; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.an...

2018-11-15 11:45:55

springcloud-服务的注册与发现Eureka(Finchley版本)

一、spring cloud简介 鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。 Finchley版本的官方文档如下:http://cloud.spring.io/spring-cloud-static/Finchley...

2018-08-08 17:18:17

跨域问题

1.package com.jingtum.wallter.filter; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.slf4j.Log...

2018-07-09 15:17:37

java中获取各种上下文路径的方法小结

一、获得都是当前运行文件在服务器上的绝对路径在servlet里用:this.getServletContext().getRealPath();在struts用:this.getServlet().getServletContext().getRealPath();在Action里用:ServletActionContext.getRequest().getRealPath();以上三个获得都是当...

2018-07-05 17:25:44

web负载均衡

一、http重定向      [协议层] http重定向协议实现负载均衡原理:根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。   优点:比较简单缺点:(1) 浏览器需要每次请求服务器才能完成一次访问,性能较差。          http重定向服务器自身的处理能力可能成为瓶颈。          使用htt...

2018-07-04 15:47:20

hashMap1.8之后会有红黑树,树形结构

如果在创建HashMap实例时没有给定capacity、loadFactor则默认值分别是16和0.75。 当好多bin被映射到同一个桶时,如果这个桶中bin的数量小于TREEIFY_THRESHOLD当然不会转化成树形结构存储;如果这个桶中bin的数量大于了 TREEIFY_THRESHOLD ,但是capacity小于MIN_TREEIFY_CAPACITY 则依然使用链表结构进行存储,此时会...

2018-07-03 14:36:35

map 原理分析

HashMap的结构 约定 约定前面的数组结构的每一个格格称为桶 约定桶后面存放的每一个数据称为bin bin这个术语来自于JDK 1.8的HashMap注释。 size size表示HashMap中存放KV的数量(为链表和树中的KV的总和)。 capacity capacity译为容量。capacity就是指HashMap中桶的数量。默认值为16。一般第一次扩容时会扩容到64,之后...

2018-07-03 14:16:42

Java中Animal b = new Dog();Dog c = new Dog();的区别

Java中Animal b = new Dog();Dog c = new Dog();的区别 由于在编译阶段,只是检查参数的引用类型。然而在运行时,Java虚拟机(JVM)指定对象的类型并且运行该对象的方法。因此在下面的例子中,b.move()之所以能编译成功,是因为Animal类中存在move方法,所以编译成功,然而运行时,运行的是特定对象的方法,即运行的是Dog类的move方法。而对Do...

2018-06-20 09:46:30

springmvc原理

SpringMVC的工作原理图:SpringMVC流程1、  用户发送请求至前端控制器DispatcherServlet。2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、  Dispa...

2018-05-31 19:53:48

y_index

关注
  • 其他/java
  • 中国 安徽省 滁州市
奖章
  • 持之以恒