上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 在高性能硬件上部署程序,目前主要有两种方式: 通过 64 位 JDK 来使用大内存; 使用若干个 32 位虚拟机建立逻辑集群来利用硬件资源。 使用 64 位 JDK 管理大内存 堆内存变大后,虽然垃圾收集的频率减少了,但每次垃圾回收的时间变长。 如果堆内存为14 G,那么每次 Full GC 将长达 阅读全文
posted @ 2020-06-03 23:00 纵码万水千山 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 内存分配与回收策略 对象的内存分配,就是在堆上分配(也可能经过 JIT 编译后被拆散为标量类型并间接在栈上分配),对象主要分配在新生代的 Eden 区上,少数情况下可能直接分配在老年代,分配规则不固定,取决于当前使用的垃圾收集器组合以及相关的参数配置。 以下列举几条最普遍的内存分配规则,供大家学习。 阅读全文
posted @ 2020-06-03 22:52 纵码万水千山 阅读(146) 评论(0) 推荐(0) 编辑
摘要: HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,虽然我们要对各个收集器进行比较,但并非为了挑选出一个最好的收集器。我们选择的只是对具体应用最合适的收集器。 新生代垃圾收集器 Serial 垃圾收集器(单线程) 只开启一条 GC 线程进行垃圾回收,并且在垃圾收集过程中停止一切用户 阅读全文
posted @ 2020-06-01 23:49 纵码万水千山 阅读(136) 评论(0) 推荐(0) 编辑
摘要: Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象,如下图所示: 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old)。新生代 ( Young ) 又被划分为三个区域:Eden、S0、S1。 这样划分的目的是为了使 JVM 能 阅读全文
posted @ 2020-06-01 23:39 纵码万水千山 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 垃圾收集策略与算法 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。 而对于 Java 堆和方法区,我们只有在 阅读全文
posted @ 2020-06-01 23:24 纵码万水千山 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 出处:https://cloud.tencent.com/developer/article/1402997 基于redis实现tomcat的session会话保持 在实际生产中,我们经常部署应用服务,在部署的过程中,要让用户无感知你的应用升级,这种方式可以通过负载均衡方式来实现灰度部署,如前些文章 阅读全文
posted @ 2020-06-01 00:56 纵码万水千山 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 创建服务端 1.file–>new–>project 2.点击next后输入服务端名,点击finish,生成目录如下 3.在 HelloWorld.Java 文件中右击,选 WebServices ,再选 Generate Wsdl From Java Code ,确定, 点击ok会自动给我们生成H 阅读全文
posted @ 2020-06-01 00:52 纵码万水千山 阅读(1401) 评论(0) 推荐(0) 编辑
摘要: 一、EventBus的使用案例 EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。 Observer模式是比较常用的设计模式之一,虽然有 阅读全文
posted @ 2020-06-01 00:13 纵码万水千山 阅读(1566) 评论(0) 推荐(0) 编辑
摘要: 线上有一个非常繁忙的服务的 JVM 进程 CPU 经常跑到 100% 以上,下面写了一下排查的过程。通过阅读这篇文章你会了解到下面这些知识。 Java 程序 CPU 占用高的排查思路 可能造成线上服务大量异常的 log4j 假异步 Kafka 异步发送的优化 On-CPU 火焰图的原理和解读 使用 阅读全文
posted @ 2020-05-31 00:09 纵码万水千山 阅读(799) 评论(0) 推荐(0) 编辑
摘要: 本文搜集来自网络:http://www.hollischuang.com/archives/4856 第一次技术面(60min) 说一说你使用的是什么样的线程池,自定义线程池的几个参数是什么 说一说线程池的执行流程 你的项目中定义的核心线程数、最大线程数和队列大小是如何定义的?为什么这样定义?(这道 阅读全文
posted @ 2020-05-31 00:02 纵码万水千山 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 一、集中式系统 在学习分布式之前,先了解一下与之相对应的集中式系统是什么样的。 集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。现在的银行系统,大部分都是这种集中式的系统,此外,在大型企业、科研单位、军队、政府等也有分布。 阅读全文
posted @ 2020-05-30 23:35 纵码万水千山 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 一、应用场景: 订单超过 30 分钟未支付,则自动取消。 外卖商家超时未接单,则自动取消。 医生抢单电话点诊,超过 30 分钟未打电话,则自动退款。等等场景都可以用定时任务去轮询实现,但是当数据量过大的时候,高频轮询数据库会消耗大量的资源,此时用延迟队列来应对这类场景比较好。 二、需求 消息存储 过 阅读全文
posted @ 2020-05-29 23:15 纵码万水千山 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作 阅读全文
posted @ 2020-05-28 23:50 纵码万水千山 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 什么是延迟队列 延迟队列存储的对象肯定是对应的延迟消息,所谓”延迟消息”是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费。 场景一:在订单系统中,一个用户下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将进行一场处理。 阅读全文
posted @ 2020-05-28 23:42 纵码万水千山 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 转自:https://www.cnblogs.com/shenyixin/p/9084249.html RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储 RabbitMQ提供了四种Exchange:fanout,direc 阅读全文
posted @ 2020-05-28 23:37 纵码万水千山 阅读(1445) 评论(0) 推荐(0) 编辑
摘要: 生产者和消费者,具有相同的交换机名称(Exchange)、交换机类型和相同的密匙(routingKey),那么消费者即可成功获取到消息。(PS:相对比只要交换机名称即可接收到消息的广播模式(fanout),direct模式在其基础上,多加了一层密码限制(routingKey)。) 一、什么是dire 阅读全文
posted @ 2020-05-28 23:35 纵码万水千山 阅读(1590) 评论(0) 推荐(0) 编辑
摘要: export命令 功能说明:设置或显示环境变量。 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。 export可新增,修改或删除环境变量,供后续执行的程序使用。 export的效力仅及于该此登陆操作。 参 数: -f 阅读全文
posted @ 2020-05-28 00:15 纵码万水千山 阅读(5721) 评论(0) 推荐(0) 编辑
摘要: 1.在k8s mster节点执行 1.kubectl get nodes 发现node节点没起来 [root@guanbin-k8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION guanbin-k8s-master Ready 阅读全文
posted @ 2020-05-28 00:07 纵码万水千山 阅读(11424) 评论(0) 推荐(0) 编辑
摘要: 一、内存溢出(OOM)的原因 在JVM中,有哪些内存区间? 堆溢出 public static void main(String args[]){ ArrayList<byte[]> list=new ArrayList<byte[]>(); for(int i=0;i<1024;i++){ lis 阅读全文
posted @ 2020-05-23 23:25 纵码万水千山 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 一、系统性能监控 系统性能工具用于确定系统运行的整体状态,基本定位问题所在。 Linux – uptime • 系统时间 • 运行时间 n 例子中为7分钟 • 连接数 n 每一个终端算一个连接 • 1,5,15分钟内的系统平均负载 n 运行队列中的平均进程数 – Top • 第一行同uptime • 阅读全文
posted @ 2020-05-23 23:14 纵码万水千山 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个 阅读全文
posted @ 2020-05-23 22:54 纵码万水千山 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 一、堆的回顾 新生代中的98%对象都是“朝生夕死”的,所以并不需要按照1:1的比例来划分内存空间,而是将内存分为一块比较大的Eden空间和两块较小的Survivor空间,每次使用Eden和其中一块Survivor。当回收时,将Eden和Survivor中还存活着的对象一次性地复制到另外一块Survi 阅读全文
posted @ 2020-05-21 23:49 纵码万水千山 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 我们前面说到了JVM的常用的配置参数,其中就涉及了GC相关的知识,趁热打铁,我们今天就学习下GC的算法有哪些,种类又有哪些,让我们进一步的认识GC这个神奇的东西,帮助我们解决了C 一直挺头疼的内存回收问题。 一、GC的概念 首先在介绍GC概念之前,我们先知道下为什么GC,然后我们再讲解GC。众所周知 阅读全文
posted @ 2020-05-21 23:36 纵码万水千山 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 在做虚拟化时候,遇到划分CPU的问题,因此考虑到CPU不知道具体怎么划分,查询一些资料后就写成本文。 a. 物理CPU:物理CPU是相对于虚拟CPU而言的概念,指实际存在的处理器,就是我们可以看的见,摸得着的CPU,就是插在主板上面的。如下图: b. 物理核:CPU中包含的物理内核个数,比如我们通常 阅读全文
posted @ 2020-05-21 20:10 纵码万水千山 阅读(3427) 评论(0) 推荐(0) 编辑
摘要: 原文链接:https://www.cnblogs.com/pony1223/p/8661219.html 在IDE的后台打印GC日志: 既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。 既然如此,那么在IDE的控制台打印GC日志是必不可 阅读全文
posted @ 2020-05-20 23:49 纵码万水千山 阅读(227) 评论(0) 推荐(0) 编辑
摘要: Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 - Container Docker 架构如下图所示: Docker 采用的是 Client/Ser 阅读全文
posted @ 2020-05-17 23:40 纵码万水千山 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1.服务器型号 [root@guanbin-k8s-master ~]# dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product" Manufacturer: VMware, Inc. Product Name: VMw 阅读全文
posted @ 2020-05-17 23:00 纵码万水千山 阅读(1474) 评论(0) 推荐(0) 编辑
摘要: 先查询当前redis的服务是否已经启动 ps -ef|grep redis [root@guanbin-k8s-master ~]# ps -ef|grep redis redis 1557 1 0 5月07 ? 00:33:06 /usr/bin/redis-server 127.0.0.1:63 阅读全文
posted @ 2020-05-17 22:36 纵码万水千山 阅读(468) 评论(0) 推荐(0) 编辑
摘要: PoolingHttpClientConnectionManager是一个HttpClientConnection的连接池,可以为多线程提供并发请求服务。主要作用就是分配连接,回收连接等。同一个route的请求,会优先使用连接池提供的空闲长连接。 源码版本4.5.2,因为代码太多,很多不是自己关心的 阅读全文
posted @ 2020-05-15 23:43 纵码万水千山 阅读(2263) 评论(0) 推荐(0) 编辑
摘要: 1、使用Yum 来安装依赖包 yum -y install sendmail yum -y install mailx 2、获取授权码 下面以腾讯为例 https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28 3.修改 阅读全文
posted @ 2020-05-15 08:30 纵码万水千山 阅读(1374) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页