05 2020 档案
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! 线程池 线程池:三大方法、7大参数、4种拒绝策略 池化技术 程序的运行,本质:占用系统的资源!优化资源的使用!=》池化技术 线程池、连接池、内存池、对象池/
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! 阻塞队列 阻塞 队列 当阻塞队列为空时,从队列中获取元素的操作将会被阻塞。 当阻塞队列为满时,从队列里添加元素的操作将会被阻塞。 BlockingQueue
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! ReadWriteLock(读写锁 ) 独占锁(写锁) 一次只能被一个线程占有 共享锁(读锁) 多个线程可以同时占有 读写锁 读的时候可以被多线程同时读,写
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! CountDownLatch(减法计数器) 代码测试: package demo5; import java.util.concurrent.CountDo
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! Callable 可以有返回值可以抛出异常方法不同,run()/ call() Runnable FutureTask 测试 package demo5;
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! List 不安全 package demo4; import java.util.ArrayList; import java.util.UUID; //j
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! 关于锁的八个问题 深刻理解我们的锁 如何判断锁的是谁!永远的知道什么锁,锁到底锁的是谁! 1.标准情况下,两个线程先打印 发短信 还是打电话 package
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! Synchronized版生产者和消费者的问题 package demo2; /** * 线程之间的通信问题: 生产者和消费者问题! 等待唤醒,通知唤醒 *
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频教程。给狂神推荐,点赞吧! 传统的 synchronized 锁 package demo1; /** * 基本的卖票例子 * 线程就是一个单独的资源类,没有任何附属的操作 * 1.属
阅读全文
摘要:感谢秦疆老师的JUC并发编程视频,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的JUC并发编程视频内容。给狂神推荐,点赞吧! 1.什么是JUC java.util.concurrent 在并发编程中使用的工具类在 Java 5.0 提供了 java.util.concurrent
阅读全文
摘要:mysql Hash索引和BTree索引区别 Hash仅支持=、>、>=、<、<=、between。BTree可以支持like模糊查询 索引是帮助mysql获取数据的数据结构。最常见的索引是Btree索引和Hash索引。 不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btre
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! Redis缓存穿透和雪崩 服务的高可用问题! 在这里我们不会详细的区分析解决方案的底层! Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询
阅读全文
摘要:Redis主从复制 感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! 概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点 (master/leader),后者称为从节
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! Redis 发布订阅概念 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。微信、 微博、关注系统!
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中 的数据库状态也会消失。所以 Redis 提供了持久化功能! R
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! 启动的时候,就通过配置文件来启动! 单位 配置文件util 对大小写不敏感 包含 就好比我们学习Spring,Import ,include 网络 bind 1
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! SpringBoot整合 SpringBoot操作数据:spring-data jpa mongodb redids! SpringData也是和SpringB
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! Jedis 我们要使用Java来操作Redis! 什么是Jedis ?是Redis官方推荐的java连接开发工具!使用Java操作Redis操作reids,那么
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! Redis事务 Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行! 一次性,顺序性,排他性!执行一些列的命
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! 基础知识 redis默认有16个数据库。 默认使用的是第0个数据库。 可以使用select进行切换 [root@izbp1a6mu5e8nzvi0x15cwz
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! redis-benchmark 是一个压力测试工具! 官方自带的性能测试工具! redis-benchmark命令参数: (图片来源于菜鸟教程:Redis 性能
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! 概述 Redis是什么? Redis(REmote DIctionary Server(,即远程服务字典) 是一个由Salvatore Sanfilippo写的
阅读全文
摘要:Centos7.6安装redis6.0.1 redis最新版下载地址 安装redis 报错1:/bin/sh: cc: command not found报错2:server.c:xxxx:xx: error: ‘xxxxxxxx’ has no member named ‘xxxxx’ 其他命令
阅读全文
摘要:感谢秦疆老师的redis视频教程,更多了解哔哩哔哩搜索【狂神说Java】。 本文内容源于秦疆老师的redis视频教程。给狂神推荐,点赞吧! nosql讲解 阿里巴巴架构演进 nosql数据模型 CAP BASE Redis入门 Redis安装(Window & Linux服务器) 五大基本类型 St
阅读全文
摘要:1.Shiro简介 1.1 、什么是Shiro Apache Shiro是一个Java的安全(权限)框架Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等官网 :http://shi
阅读全文
摘要:实践中如何优化MySQL 实践中,MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配置的优化和硬件的优化四个方面,如下图所示: 1)、SQL语句及索引的优化 (1). SQL语句的优化 SQL语句的优化主要包括三个问题,即如何发现有问题的SQL、如何分析SQL的执行计划以及如何
阅读全文
摘要:什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功)互联网中的认证: 用户名密码登录邮箱发送登录链接手机号接收验证码只要你能收到邮箱/验证码,就默认你是账号的主人
阅读全文
摘要:JWT 全称 JSON Web Tokens ,是一个非常轻巧的规范。这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息。它的两大使用场景是:认证和数据交换。 1.什么是JSON Web令牌? JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含
阅读全文
摘要:进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。 线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。 程序,进程,线程: 在操作系统中运行的程序就是进程,比如你的QQ、播放器、游戏、IDE
阅读全文
摘要:线程池的概念: 线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。 线程池的
阅读全文
摘要:在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。 生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题
阅读全文
摘要:Lock(锁) 从JDK5.0开始,Java提供了更强大的线程同步机制——通过显示定义同步锁对象来实现同步,同步锁使用Lock对象充当java.util.concurrent.locks.Lock接口是控制多个线程对共享线程进行了访问的工具。锁提供了对共享资源的独占访问,每次只有一个线程对Lock对
阅读全文
摘要:死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。 化妆死锁案例: package test; //死锁:多个线程互相抱着对方需要的资源,然后形成僵持 public class DeadLock { public
阅读全文
摘要:线程同步 由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提供一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法 和 synchronized 块 同步方法: public synchronized v
阅读全文
摘要:案例:线程安全的集合 package test; import java.util.ArrayList; import java.util.List; //线程安全的集合 public class UnsafeList { public static void main(String[] args)
阅读全文
摘要:实现静态代理对比Thread (1)静态代理总结 真实对象和代理对象都要实现同一个接口代理对象要代理真实角色 (2)好处 代理对象可以做更多真实对象做不了的事情真实对象专注于做自己的事情 package test; //静态代理总结 //真实对象和代理对象都要实现同一个接口 //代理对象要代理真实角
阅读全文
摘要:并发 并发:同一个对象被多个线程同时操作 并发问题:买火车的票的案例 多个线程同时操作同一个对象 package test; import com.sun.org.apache.bcel.internal.generic.NEW; //多个线程同时操作同一个对象 //买火车的票的案例 //发现问题
阅读全文
摘要:线程状态 线程共包括以下5种状态。 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如
阅读全文
摘要:Lamda表达式 1. 为什么要使用lambda表达式 避免匿名内部类定义过多可以让你的代码看起来很简洁去掉一堆没用意义的代码,只留下核心的逻辑 2. Functional Interface(函数式接口) 定义:任何接口,如果只包含一个抽象方法,那么它就是一个函数式接口。 public inter
阅读全文
摘要:实现Callable接口 实现Callable接口,需要返回值类型:implements Callable 重写call方法,需要抛出异常 :public Boolean call() throws Exception {} 创建目标对象 :CallableTest callableTest = n
阅读全文
摘要:实现Runnable 定义MyRunnable实现Runnable接口实现run方法,编写线程执行体创建线程对象,调用start()方法启动线程 代码实现 package test; //创建线程方式2:实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,调用sta
阅读全文
摘要:Thread 自定义线程类继承Thread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程 线程不一定立即执行,由CPU调度! package test; //创建线程方式一:继承Thread类 ,重写run方法 ,调用start开启线程 public class T
阅读全文
摘要:403 Forbidden 是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。 引发的BUG: java.io.IOException: Server returned HTTP response code: 403 for URL: http://img4.
阅读全文
摘要:preDefineClass方法首先对类名进行了检查,发现以java作为一级包名,则抛出安全异常:禁止使用的包名! 控制台报错: Connected to the target VM, address: '127.0.0.1:63225', transport: 'socket' java.lang
阅读全文
摘要:服务端 官方文档:http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.html#spring-cloud-eureka-server 第一步:创建项目 <dependency> <groupId>org.sp
阅读全文
摘要:拦截器介绍 Java中的拦截器是动态拦截 action 调用的对象,然后提供了可以在 action 执行前后增加一些操作,也可以在 action执行前停止操作,功能与过滤器类似,但是标准和实现方式不同。 登录认证:在一些应用中,可能会通过拦截器来验证用户的登录状态,如果没有登录或者登录失败,就会给用
阅读全文
摘要:过滤器的英文名称为 Filter, 是 Servlet 技术中最实用的技术。如同它的名字一样,过滤器是处于客户端和服务器资源文件之间的一道过滤网,帮助我们过滤掉一些不符合要求的请求,通常用作 Session 校验,判断用户权限,如果不符合设定条件,则会被拦截到特殊的地址或者基于特殊的响应。 一 过滤
阅读全文