自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Guava学习笔记

Guava学习笔记一、集合类型Multiset特点Guava提供了Multiset,虽然名字带有Set,但它可以添加重复的元素;Multiset可以看成是ArrayList和Map的结合体Multiset是没有元素顺序限制的ArrayList提供了键为元素,值为计数的MapMap对应的multiset是否支持null元素HashMapHashMultiset是TreeMapTreeMultiset是LinkedHashMapLinkedHash

2021-10-08 18:34:11 363

原创 MySQL与SqlServer的区别

一、MySQL与SqlServer的区别目前最流行的两种后台数据库即为Mysql 和 SQL Server。这两者最基本的相似之处在于数据存储和属于查询系统,你可以使用SQL来访问这两种数据库的数据,因为它们都支持ANSI-SQL(数据库管理标准)。还有,这两种数据库系统都支持二进制关键字和关键索引,这就大大地加快了查询速度。同时,二者也都提供支持XML的各种格式。根本的区别:SQL服务器的狭隘的、保守的存储引擎而MySQL服务器的可扩展、开放的存储引擎;SQL服务器的引擎是Sybase,而MyS

2020-11-08 14:25:19 19738 3

原创 MQ学习笔记

一、MQ的概述1,MQ的基本知识消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ、Apache下的一个子项目Kafka,阿里巴巴自主开发RocketMQ等。优点:降低耦合、异步、削峰。缺点:系统可用性低(MQ宕机了会对业务造成很大的影响)、系统复杂性提高(加入了队列,使得系统设计起来更加的复杂)、一致性的问题(如何确保消息不会被

2020-10-17 11:52:47 239

原创 sql语句总结

SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)基础语句:创建数据库:CREATE DATABASE database-name删除数据库:drop database dbname备份sql server:创建 备份数据的 device:USE masterEXEC sp_addump

2020-09-19 18:42:41 195

原创 Redis 知识点总结

一、redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。二、redis的应用场景有哪些1,会话缓存(最常用)2,消息队列,比如支付3,活动排行榜或计数4,发布,订阅消息(消息通知)5,商品列表,评论列表等三、redis数据类型Redis一共支持五种数据类:string(字符串),hash(哈希),list(列

2020-09-13 18:12:28 1058

原创 spring框架总结

1、IOC和DIIOC: 控制反转即控制权的转移,将我们创建对象的方式反转了,以前对象的创建是由我们开发人员自己维护,包括依赖关系也是自己注入。使用了spring之后,对象的创建以及依赖关系可以由spring完成创建以及注入,反转控制就是反转了对象的创建方式,从我们自己创建反转给了程序创建(spring)DI: Dependency Injection 依赖注入spring这个容器中,替你管理着一系列的类,前提是你需要将这些类交给spring容器进行管理,然后在你需要的时候,不是自己去定义,而是

2020-09-05 19:05:20 111

原创 SpringCloud 面试题

1、什么是 spring cloud?spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。2、spring cloud 的核心组件有哪些?Eureka:服务注册于发现Feign:基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。Ribbon:实现负载均衡,从一个服务

2020-08-15 00:01:53 401

原创 SpringCloud的五大组件

SpringCloud的五大组件服务发现: Netflix Eureka客服端负载均衡: Netflix Ribbon断路器: Netflix Hystrix服务网关: Netflix Zuul分布式配置: Spring Cloud ConfigEureka普通的user-service对外提供服务的时候,需要对外暴露自己的地址。而consumer(调用者)需要记录服务 提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益复杂 的互联网环境,一

2020-08-14 17:50:59 576

原创 注解--学习笔记

1、SpringBoot/spring@SpringBootApplication申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。@Repository表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用RequestMapping后,返回值通常解析为跳转路径,

2020-08-08 11:27:29 139

原创 SpringBoot学习笔记

什么是SpringBoot要了解什么是Spring Boot,首先要了解sping,首先从Spring的优缺点开始了解,SpringBoot就是基于Spring的缺点加以改进的Spring优点Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(写大量的get、set方法来完成功能),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Jav

2020-08-02 17:19:26 117

原创 AOP学习笔记

一、Spring框架的基本介绍1.1Spring框架的优点我们在使用过程中可以将对象之间的依赖关系交由Spring进行控制,从而做到大幅度的降低代码的耦合度;通过AOP(面向切面编程)做到了对于OOP很难做到的事情,比如主要的构成:依赖注入容器IOC、AOP实现(面向切面编程)、DAO支持、Web集成轻量级J2EE应用开发框架Spring的AOP封装包提供了符合AOP(Aspect—oriented-programming)面向切面编程;Core封装包:框架的最基础部分,提供IoC依

2020-07-25 17:51:32 131

原创 ajax、js、jsp、servlet的联系和区别

简述正在做项目的我对于ajax、jsp、js和servlet有了一个更深的理解,相比于之前对它们模糊不清的概念,似乎更加明显了。关于AJAX:我起初学习ajax技术的时候,可能是因为我比较笨吧,觉得就是一个固定的模式,打固定的代码、执行固定的操作,但是就是不知道怎么用,所以在老师刚讲完,我并没有很清楚的知道它神奇的地方在哪。在做项目的过程中,我才慢慢的明白,AJAX其实用处有很多,它有一个固定的模式,可以把html/jsp中的参数传到servlet,再把servlet调取一系列方法锁获得的值作为A

2020-07-11 18:01:52 1186

原创 JavaWeb学习总结

刚刚学完了JaveWeb的课程,咋听起来让人觉得望而生畏,但是细来一想,无非几个标签而已,语法并没有多困难,核心还是在Java基础概念的掌握。一开始学习前端的时候,觉得就是html+css+javascript的时候,觉得页面样式感觉挺一般的,没有看到的那些网站那样炫酷,但代码算是简而易懂。到了前端课程的后面学习了jQuery,做出来的网页效果可以勉强能看了。后面到了JAVA阶段,这是一个真正意义上的进阶阶段了,前端正式转入后端,JAVA程序员序幕也就此拉开。在JAVA学习的这段时间内,我经历了java

2020-07-04 16:48:23 441

原创 JSON 解析过程

JSON的简介JSON的全称叫 JavaScript Object Notaion 是一种轻量级的数据交换格式,具有良好的可读性和快速编写的特性,在文本方面采用的是兼容性很高的文本。在日常过程使用率高达99%,JSON支持的数据类型整数或浮点数;布尔值(true、false);字符串;数组;函数;对象;null。JSON基础语法Object类用{ }包含着key : Value键值对表示,其中Key和Value之间用冒号分割,每个key-value之间用逗号分割。“Ke

2020-06-23 17:55:52 324

原创 MySQL的存储引擎简介

一. MySQL数据库引擎的介绍MySQL区别于其他数据库的最大地方就在于它是插件式体系结构,二. 各种引擎的优缺点1. InnoDB 存储引擎2. MyISAM存储引擎3. NDB存储引擎4. Memory存储引擎5. Archive6. Federated7. Maria...

2020-06-21 17:24:08 210

原创 MYSQL和DAO知识总结

12312312321313123

2020-06-14 17:40:27 707

原创 HashMap 的源码学习

一.HashMap的基本特性1. 功能简述hashMap是对Map接口的实现,使用键值对的方式存储的,可以存储键为null,值为null,因为会计算键的哈希值,所以键不能重复;hashMap的存储是无序的,和放入的顺序没有关系;hashMap的线程是不安全的;2.HashMap的继承关系public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable

2020-06-05 20:11:51 119

原创 算法: 查找元素的位置

问题描述在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1]...

2020-05-31 17:26:59 386

原创 算法: 删除重复项

问题描述删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长

2020-05-31 16:27:32 744

原创 算法: 替换空格

问题描述替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof

2020-05-31 12:52:13 187

原创 Java是解释型语言还是编译型语言

问题描述:在研究Python和Java之间的区别的时候,发现Java需要编译,而Python可以直接运行,我就在想Java它是编译型的语言吗。编译型和解释型语言的介绍编译型语言:编译型语言是源代码要经过编译器编译处理,生成目标机器码,这个机器码是一个二进制代码,是给看的机器看的,让它知道自己要干哪些活,而且这个机器码会保留,下次运行这段代码时无需重新编译。不过它是针对特定CPU体系的,这些目标代码只能在特定平台执行,如果这个程序需要在另外一种 CPU 上面运行,这个代码就必须重新编译。解释型语言:是

2020-05-25 20:13:25 188

原创 算法:摩尔投票法

public static void main(String[] args) { /** * 如果数组中多一半的数都是同一个,则称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。 * * 示例 1: * 输入:[1,2,5,9,5,9,5,5,5] * 输出:5 * * 示例 2: * 输入:[3,2] *

2020-05-17 21:25:45 228

原创 核心类库String的方法总结

对核心类库string中的所有方法进行了总结方法的总结一 . 有获取功能的方法 :charAt() 返回指定位置的字符、length() 返回字符串长度、concat() 拼接两个字符串、indexOf() 返回第一次出现该值的索引值、subString() 截取指定长度的字符串二 . 有转换功能的方法 : toChar() 把字符串转化为装有字符的数组、 getBytes() 将字符串转成软件默认的字符集、replace() 把目标字符转化为指定字符 、toUpper()

2020-05-17 21:23:22 249

原创 Java 多线程通信安全问题

Java 多线程通信安全问题问题描述:在日产生活中,我们都买过火车票,票只会显示有票和售完。在程序中,如果我们只开放一个窗口,肯定不会有什么问题,但在实际操作中,肯定是多个窗口进行售票,我们就不得不用多线程的方法来进行卖票。这时候就会出现问题了,我们不对线程做任何的限制,多个线程之间没有信息通信交流,就会出现票数为负数的问题。多线程代码如下public static void main(String[] args) { Ticket t1 = new Ticket(); //开设四个

2020-05-16 17:38:22 205

原创 Java-多线程

多线程介绍进程和线程进程和线程都是实现并发的基本单位。进程 :进程是指程序运行的一生,它包括了代码的加载、代码的执行、代码执行完毕,进程结束。对于电脑来说,几核的电脑就相当于有几个脑子,每一个进程都能获取CPU的时间片。每一个进程都有自己的独立的储存空间线程 :线程比进程的执行单位更小,多线程是指在一个进程下面进行着多个线程,这些线程共享一个进程空间并且同时运行。所有线程可以溜溜使用CPU的使用权,但也可以设置调度机制,把一些线程设置优先级更高,这样可以使这个线程更加容易的抢到CPU的使用权。同步

2020-05-16 12:54:23 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除