java基础
Randson-
多做分享,把知识变成自己的
展开
-
Spring常用的三种注入方式
https://blog.csdn.net/a909301740/article/details/78379720转载 2020-06-10 22:24:11 · 451 阅读 · 1 评论 -
多线程实例底层分析等
1.程序,进程,线程理解程序可调用多个进程,比如一个视频播放器程序,里面就存在两个进程:一个是播放视频的进程,一个是缓存视频的进程。一个进程又同时调用多个线程线程可以看作是cpu运行的基本的基本单位,进程可以看作是运行资源的基本单位。程序的一次执行就可以看作是一个进程。进程中又包含了许多的线程,进程之间的内存不可以共享,线程之间共享进程的内存。线程也被称为轻量级进程。线程的生命周期当我们new Thread的时候,就会首先分配内存,然后检查资源,之后创建一个线程,并且将该线程的状态改为runnab原创 2020-06-04 23:17:31 · 311 阅读 · 0 评论 -
关于电商秒杀系统中防超卖、以及高性能下单的处理方案简述
秒杀抢购系统的成功平稳运行,有一些需要注意的知识点。1 高并发,以及刷接口等黑客请求对服务端的负载冲击2 高并发时带来的超卖,即商品数量的控制3 高负载下,下单的速度和成功率的保证4 其他以秒杀单品为例,如抢小米手机。解决方案探讨:第一步 限制前端发来的请求量譬如定在了周二10点开启抢购,那么在之前的一周时间内,都会有预约通知,或者普通的用户浏览。通过预约量、浏览量等数据分析,大概能预估到在周二会参与“点击抢购按钮”的人数。譬如有500万。此时,我们是知道实际商品数量的,譬如20万。那.转载 2020-06-03 23:19:56 · 774 阅读 · 1 评论 -
rabbitmq消息队列原理
一、rabbitmq架构RabbitMQ是一个流行的开源消息队列系统,是AMQP(高级消息队列协议)标准的实现,由以高性能、健壮、可伸缩性出名的Erlang语言开发,并继承了这些优点。rabbitmq简单架构如下: 上图简单展示了rabbitmq的架构,从图中看到几个关键字:vhost、exchange、route key、queue等,后面会介绍这些概念。下面看下rabbitmq的进程模型: 看到这个图,相信大家应该很熟悉,没错就是事件驱动模型(或者说反应堆模型),这是一种高性能的非阻..转载 2020-06-03 23:15:41 · 257 阅读 · 0 评论 -
看完这篇还不会Elasticsearch,我跪搓衣板!
之前已经分享过Elasticsearch的使用和原理的知识,由于近期在公司内部做了一次分享,所以本篇主要是基于之前的博文的一个总结,希望通过这篇文章能让读者大致了解Elasticsearch是做什么的以及它的使用和基本原理。1|0生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和 非结构化数据。结构化数据: 也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和...转载 2020-05-27 10:09:56 · 314 阅读 · 0 评论 -
jvm介绍
1. 什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上...转载 2020-05-19 21:07:17 · 211 阅读 · 0 评论 -
解决:layer.open的右上角样式,为什么改变不了不管closeBtn是1还是2
中的title设置成了为空如:title:’ ’ 就会导致如此发生,加上标题就好了,困扰了很久一直以为是样式冲突的问题,记录一下layer.open({ type: 2, title: '博客列表', closeBtn: 1, anim: 0, shadeClose: true, shade: [0.5, '#000'], area:原创 2020-05-18 18:49:53 · 3917 阅读 · 0 评论 -
深入【Java】底层细节知识点
文章目录一、究竟何为面向对象?二、jvm三、java泛型四、String类的深入理解五、equals()和==的区别六、int和Integer的区别七、null和“”的区别八、final、finally和finalize的区别九、异常和错误十、Java中23种设计模式十一、java多线程十二、GC(垃圾收集)十三、Java编译一个.java文件生成的.class文件有多少?十四、list ,set,map集合十五、java中的不定参数十六、length、length()、size()的区别十七、java中的转载 2020-05-14 22:36:06 · 680 阅读 · 2 评论 -
实例springboot使用shiro-整合redis缓存
说在前面本来的整合过程是顺着博客的顺序来的,越往下,集成的越多,由于之前是使用ehcache缓存,现在改为redis,限制登录人数 以及 限制登录次数等 都需要改动,本篇为了简单,目前先将这两个功能下线,配置暂时是注销的,原类保存,在下篇博客中改。 还有之前是使用SessionListener监听session创建来统计在线人数,在本篇中也将改为统计redis中的key数目。 如果是单机,使用ehcache是最快的,项目一般都不是单节点,为了方便之后使用sso单点登录,以及多节点部署,所以使用shir转载 2020-05-14 22:25:25 · 535 阅读 · 1 评论 -
springboot记录thymeleaf常用th标签笔记
常用th标签都有那些?关键字 功能介绍 案例th:block 判断标签符合条件显示里面内容 <th:block th:if="${user.delFlag != 0}"> <button>新增</button&g原创 2020-05-14 22:19:26 · 254 阅读 · 0 评论 -
idea 断点模式DeBug模式改Bug方法,java程序员基本操作写一下,鉴于很多初学者不会
首先必须Debug模式启动,然后点击快捷键F7前进能看后灰色的数值,当把鼠标放到你要看到的形参那些地方能够看到有传进来的数值,返回的值,如果出错,则显示跳到其他的类加载中,正确则一直显示到最后返回结果...原创 2020-05-12 23:23:49 · 338 阅读 · 0 评论 -
java知识点回顾复习面试
1.String、 StringBuffer、 StringBuilder 的区别?(1)可变不可变String:字符串常量,在修改时不会改变自身;若修改,等于重新生成新的字符串对象。StringBuffer:在修改时会改变对象自身,每次操作都是对 StringBuffer 对象本身进行修改,不是生成新的对象;使用场景:对字符串经常改变情况下,主要方法: append(), insert(...原创 2019-11-23 12:06:11 · 132 阅读 · 0 评论