正在加载中,请稍后
摘要: Java集合Collection java中的容器有哪些? Collection和Collections的区别: Collection是集合类的一个顶级接口,里面提供了一些集合操作统一的基本方法。 Collections是集合的工具类,提供了集合的一系列的静态方法,例如排序、集合之间的转化,线程安全 阅读全文
posted @ 2021-05-13 10:52 wode虎纹猫 阅读(42) 评论(0) 推荐(0)
摘要: 冒泡排序和快速排序算法 冒泡排序 原理: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对 阅读全文
posted @ 2021-05-11 16:37 wode虎纹猫 阅读(207) 评论(0) 推荐(0)
摘要: Redis缓存异常小结 缓存雪崩 缓存雪崩是指缓存同一时间大面积失效,所以后面的请求会直接落在数据库上,造成数据库短时间内承受大量请求而崩溃。 解决方案: 缓存数据的过期时间设置成随机,防止同一时间大量数据过期。 热点key设置为不过期。 并发量并不多时,使用加锁排队方案 缓存穿透 缓存穿透是指当一 阅读全文
posted @ 2021-05-11 14:34 wode虎纹猫 阅读(143) 评论(0) 推荐(0)
摘要: Redis (Remote Dictionary Server ),即远程字典服务 Rredis是什么? 高性能的非关系型的键值对数据库,Redis支持五种键值对数据类型,键的类型只能是字符串类型,值有五种基本类型,分别是String、List、Hash、Set、Zset。它的数据存在内存中,所以读 阅读全文
posted @ 2021-05-11 14:32 wode虎纹猫 阅读(112) 评论(0) 推荐(0)
摘要: Redis.conf常用配置详解 redis.conf 配置项说明如下: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过p 阅读全文
posted @ 2021-05-11 14:29 wode虎纹猫 阅读(76) 评论(0) 推荐(0)
摘要: redis 基本命令 info replication 查看当前库的信息 set get shutdown 关闭服务 exit 退出 select [index] 切换数据库 flushdb 清空数据 flushall 清空所有数据库数据 exists 判断key是否存在 keys * 列出所有ke 阅读全文
posted @ 2021-05-11 14:24 wode虎纹猫 阅读(88) 评论(0) 推荐(0)
摘要: 关于文件操作中,在Windows上正常,在linux上“No such file or directory”异常 最近在项目中负责文件系统的功能编写。包括文件的上传、下载和部分文件的预览功能实现。 在开发过程中程序能够正常运行,但是项目部署到了测试环境linux系统时,出现文件上传后无法下载的情况, 阅读全文
posted @ 2021-05-10 17:55 wode虎纹猫 阅读(650) 评论(0) 推荐(0)
摘要: JVM垃圾回收器选择 先弄懂串行、并行、并发的区别。 1. 串行回收 SerialGC 一般使用在单CPU的平台上。串行收集器是最古老,最稳定以及效率高的收集器,可能会产生较长的停顿,只使用一个线程去回收。新生代、老年代使用串行回收;新生代复制算法、老年代标记-压缩;垃圾收集的过程中会Stop Th 阅读全文
posted @ 2021-05-10 16:40 wode虎纹猫 阅读(232) 评论(0) 推荐(0)
摘要: 分布式定时任务锁SchedulerLock ShedLock的实现原理是采用公共存储实现的锁机制,确保任务在同一时刻最多执行一次。如果一个任务正在一个节点上执行,则它将获得一个锁,该锁将阻止从另一个节点(或线程)执行同一任务。如果一个任务已经在一个节点上执行,则在其他节点上的执行不会等待,只需跳过它 阅读全文
posted @ 2021-05-10 15:18 wode虎纹猫 阅读(3944) 评论(0) 推荐(0)
摘要: 锁的可重入性 如果当前线程已经获得了某个监视器对象所持有的锁,那么该线程在该方法中调用另外一个同步方法也同样持有该锁。 比如: public synchrnozied void test() { xxxxxx; test2(); } public synchronized void test2() 阅读全文
posted @ 2021-05-10 15:11 wode虎纹猫 阅读(659) 评论(0) 推荐(1)
摘要: synchronized 关键字 其实“锁”本身就是个对象,synchronized这个关键字不是锁,而是在加上synchronized时,仅仅是相当于“加锁”这个操作。 jdk1.6之前 synchronized可以用在修饰方法和代码块,保证线程安全,修饰静态方法时,作用于Class的所有实例对象 阅读全文
posted @ 2021-05-08 11:19 wode虎纹猫 阅读(99) 评论(0) 推荐(0)
摘要: 线程和线程池 进程和线程: 进程:程序调度和内存资源分配的基本单位。 线程:cup调度和资源分派的基本单位。 一个程序至少有一个进程,一个进程至少有一个线程。一个进程中可有多个线程,多个线程能够并发执行任务。 并发和并行: Erlang 之父 Joe Armstrong 用一张图解释了并发与并行的区 阅读全文
posted @ 2021-05-08 11:16 wode虎纹猫 阅读(112) 评论(0) 推荐(0)
摘要: 浏览器输入url后发生了什么及TCP的一些细节 1、解析URL 得到里面的参数,将域名和请求的资源分离,从而了解请求的是哪个服务器,请求服务器的什么资源等等。 2、浏览器封装HTTP请求报文 对URL进行解析后,浏览器确定了服务器和资源位置后,准备将这些信息封装成HTTP报文发送出去。 3、域名解析 阅读全文
posted @ 2021-05-07 17:43 wode虎纹猫 阅读(246) 评论(0) 推荐(0)
摘要: Java I/O Java中有哪几种流? 按流向区分:输入流InputStream和输出流OutputStream 按处理数据单位区分:字符流和字节流,字节流继承自InputStream和OutputStream,字符流继承自InputStreamReader和OutputStreamWriter 阅读全文
posted @ 2021-05-07 09:56 wode虎纹猫 阅读(108) 评论(0) 推荐(0)
摘要: JVM调优及常见的OOM解决 JVM调优 JVM具体调优参数这篇文章讲得很详细 GC日志分析 获取日志,命令获取和配置jvm的GC日志输出两种方式。 常用命令:jstat-gc 统计垃圾回收堆的行为 JVM调优命令 jps:显示虚拟机进程 jstat:监视虚拟机运行时状态信息,类装载、内存、垃圾收集 阅读全文
posted @ 2021-05-06 10:27 wode虎纹猫 阅读(604) 评论(0) 推荐(0)
摘要: JVM内存结构 堆:线程共享。是Jvm中内存中最大的一块,在虚拟机启动时创建,所有的对象实例以及数组都要在堆上分配。GC主要管理的对象。 方法区:线程共享。储存类信息、常量、静态变量、即时编译器编译后的代码。 栈(虚拟机栈和本地方法栈):线程私有。生命周期也与线程相同。栈由一系列的帧组成,帧保存每一 阅读全文
posted @ 2021-05-06 10:25 wode虎纹猫 阅读(118) 评论(0) 推荐(0)
摘要: jvm类加载机制、双亲委派模型 什么是类加载: 虚拟机把描述类的数据从.Class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的java类型。 谁来加载: 加载描述类的Class文件的二进制流是由类加载器完成的,已有的三种类加载和自定义类加载器组成了类加载器的子系 阅读全文
posted @ 2021-05-06 10:18 wode虎纹猫 阅读(89) 评论(0) 推荐(0)
摘要: linux基本命令 su root 切换到root用户 sudo chmod -R 750 某一目录 tar -zxvf 文件名 ps-ef|grep redis 查看redis的进程 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏 阅读全文
posted @ 2021-05-03 17:45 wode虎纹猫 阅读(101) 评论(0) 推荐(0)
摘要: Docker Compose Compose是Docker官方的开源项目,需要单独安装,是一个轻松高效管理容器,定义运行多个容器,使用yaml 配置文件,实现批量容器编排。 Compose重要概念 服务services:容器、应用(redis、mysql、web....) 项目project:一组关 阅读全文
posted @ 2021-05-03 11:14 wode虎纹猫 阅读(75) 评论(0) 推荐(0)
摘要: Docker总结及常见问题 Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker的核心思想是 阅读全文
posted @ 2021-04-30 14:35 wode虎纹猫 阅读(257) 评论(0) 推荐(0)
Live2D