Fork me on GitHub
摘要: 环境是CentOS7。 采用NFS实现。 第一步:服务端安装nfs和rpcbind并启动 检查是否已经安装 表示nfs已经安装 表示rpcbind已经安装。 如果没检测到则安装 查看是否启动: 表示已经启动,如果没启动则 启动。 第二部:客户端安装nfs和rpcbind并启动 步骤如上: 第三部:配 阅读全文
posted @ 2019-09-26 00:28 xbwang520 阅读(4621) 评论(0) 推荐(0) 编辑
摘要: 原先我们学习了jvm的命令行工具,现在我们来学习命令行的可视化工具jconsole: 为了测试我们启动原先的springboot项目 jconsole工具 jconsole(Java Monitoring and Management Console)是一种基于 JMX 的可视化监视、管理工具,它管 阅读全文
posted @ 2019-09-25 00:04 xbwang520 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 一、6种状态 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行 阅读全文
posted @ 2019-09-24 22:26 xbwang520 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 概述 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。 数据包括:运行日志、异常堆栈、GC 日志、线程快照。 使用(threaddump/javacore文件)、堆转储快照( heapdump/hprof文件)等。使用适当的虚拟机监控和分析的工具可以加快我们 阅读全文
posted @ 2019-09-24 17:50 xbwang520 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 虽然我们对各个收集器进行比较,但并非要挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现,更加没有万能的垃圾收集器,我们能做的就是根据具体应用场景选择适合自己的垃圾收集器。试想一下:如果有一种四海之内、任何场景 阅读全文
posted @ 2019-09-24 00:46 xbwang520 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 经过上篇如何判断对象是否死亡,那么jvm要对死亡的对象进行垃圾回收,垃圾回收的算法主要有以下几种: 一、标记-清楚算法 该算法分为“标记”和“清除”阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。它是最基础的收集算法,后续的算法都是对其不足进行改进得到。这种垃圾收集算法会带 阅读全文
posted @ 2019-09-24 00:02 xbwang520 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 堆中几乎放着所有的对象实例,对堆垃圾回收前的第一步就是要判断那些对象已经死亡(即不能再被任何途径使用的对象)。 判断兑现死亡的方式主要有,引用记数法和可达性性分析算法 引用记数法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对 阅读全文
posted @ 2019-09-23 23:37 xbwang520 阅读(272) 评论(0) 推荐(0) 编辑
摘要: java堆内存概述 Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。 Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap).从垃圾回收的角度,由于现在收集 阅读全文
posted @ 2019-09-23 04:24 xbwang520 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 上一篇jvm博客中我们学习了jvm的内存模型,本篇中我们来探索对象是如何创建的,对象的内存布局,对象是如何访问到的。 对象的创建过程 第一步:类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中(JDK1.7 及之后版本的 JVM 已经将运行时常量池从方法区中移了出 阅读全文
posted @ 2019-09-23 00:34 xbwang520 阅读(171) 评论(0) 推荐(0) 编辑
摘要: mysql5.5版本以上默认的引擎是InnoDB,5.5以下,默认引擎是MYISAM,根本还是要根据引擎的不同去考虑。 InnoDB和MyISam区别: 区别项Innodbmyisam 事务 支持 不支持 锁粒度 行锁,适合高并发 表锁,不适合高并发 是否默认 默认 非默认 支持外键 支持外键 不支 阅读全文
posted @ 2019-09-18 00:55 xbwang520 阅读(8623) 评论(0) 推荐(1) 编辑
摘要: 在我们编写sql的过程中where的条件使用不当会使索引(index)失效 1. 在 where 子句中使用!=或<>操作符,会使引擎放弃使用索引而进行全表扫描 2. 在 where 子句中对字段进行 null 值判断,会使引擎放弃使用索引而进行全表扫描 3. 在 where 子句中使用 or 来连 阅读全文
posted @ 2019-09-17 23:46 xbwang520 阅读(5304) 评论(0) 推荐(0) 编辑
摘要: NIO简介 NIO是一种同步非阻塞的I/O模型,在Java 1.4 中引入了NIO框架,对应 java.nio 包,提供了 Channel , Selector,Buffer等抽象。 NIO中的N可以理解为Non-blocking,不单纯是New。它支持面向缓冲的,基于通道的I/O操作方法。 NIO 阅读全文
posted @ 2019-09-16 04:13 xbwang520 阅读(485) 评论(0) 推荐(0) 编辑
摘要: mysql查询的过程图 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向 阅读全文
posted @ 2019-09-16 02:33 xbwang520 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 什么是序列化和反序列化? 序列化是将 Java 对象转换成与平台无关的二进制流,而反序列化则是将二进制流恢复成原来的 Java 对象,二进制流便于保存到磁盘上或者在网络上传输。 如何实现序列化和反序列化 如果想要序列化某个类的对象,就需要让该类实现 Serializable 接口或者 Externa 阅读全文
posted @ 2019-09-15 22:48 xbwang520 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 一. IO的分类 从数据来源或者说是操作对象角度看,IO 类可以分为: 1. 文件(file):FileInputStream、FileOutputStream、FileReader、FileWriter 2. 管道操作:PipedInputStream、PipedOutputStream、Pipe 阅读全文
posted @ 2019-09-15 21:58 xbwang520 阅读(2726) 评论(0) 推荐(1) 编辑
摘要: 缓存的收益和成本 1、缓存带来的回报 高速读写:缓存加速读写速度:CPU L1/L2/L3 Cache、Linux page Cache加速硬盘读写、浏览器缓存、Ehcache缓存数据库结果 降低后端负载:后端服务器通过前端缓存降低负载: 业务端使用Redis降低后端MySQL负载等 2、缓存带来的 阅读全文
posted @ 2019-09-15 01:50 xbwang520 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: 下载 官网地址:http://download.redis.io/releases/redis-5.0.5.tar.gz 安装 首先安装编译环境 出现如下图表示安装成功 解压 解压完成如下 编译 测试编译是否有问题 解决编译问题 出现下图,表示测试成功 安装 安装完成! 启动方式 直接启动 表示启动 阅读全文
posted @ 2019-09-14 23:51 xbwang520 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 一、概述 Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出了三个子接口:List、Set、Queue(Java5新增的队列),因此Java集合大致也可分成List、Set、Queue、Map四种接口体系,(注意:Map不是Collection的子接口) 阅读全文
posted @ 2019-09-14 03:52 xbwang520 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 数据结构 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 数据存储结构 常用的数据存储方式有两种:顺序存储,非顺序存储。顺序存储就是把数据存储在一块联系的存储介质(硬盘或内存等)中。反之则是非顺序存储。 Java中的数组就是典型的顺 阅读全文
posted @ 2019-09-14 02:11 xbwang520 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 简介 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 有些类如交易所的核 阅读全文
posted @ 2019-09-11 12:52 xbwang520 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 一、准备服务账号 按照Google开发者文档,配置开发者账号,地址:开始使用 | Google Play Developer API | Google Developers 最终获取xxxx.json文件如下: 二、查阅Google文档 通过文档可以找出:APK 和轨道 | Google Play 阅读全文
posted @ 2023-01-09 17:10 xbwang520 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 最近总算是抽出一些时间来了解和学习什么是大数据,百度了一下得出的答案是: 大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。具体详情可见百度:https://baike.baid 阅读全文
posted @ 2022-05-23 02:36 xbwang520 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 设计模式简介 由来:是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的 好处:为了重用代码、让代码更容易被他人理解、保证代码可靠性 坏处:对不熟悉设计模式的同学,看起来更绕更难理解 什么是GOF(Gang of Four) 阅读全文
posted @ 2021-01-20 12:04 xbwang520 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 代理设计模式(Proxy pattern) 为其他对象提供一种代理以控制对这个对象的访问,属于结构型模式。 客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象. 应用场景 各大数码专营店,代理厂商进行销售对应的产品,代理商持有真正的授权代理书,客户端不想直接访问实际的对象,或者访 阅读全文
posted @ 2021-01-20 11:49 xbwang520 阅读(123) 评论(0) 推荐(0) 编辑