logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

应用部署技术发展简史

互联网企业生产环境的应用部署,大致分三个阶段。单物理机部署多个应用,虚拟机部署,容器化部署。一、物理机部署时代这是所有早期物联网公司必然经历的一个阶段。一台服务器,至少32核CPU、64G内存,如果只部署一个应用,那就太浪费了。于是,多个应用进程,DB,缓存进程等等都部署在同一个机器上。这种部署方式有一个最大的痛点:进程间资源抢占。如果一个进程耗用了100%的CPU资源,其他的进程无法...

文章图片
#虚拟机#docker#容器
《深入理解java虚拟机》读书笔记:Java对象的内存布局

一个int类型4占4个字节的内存,一个byte一个字节。但是他们的封装类型Integer,Byte对象内存损耗还是一样的吗?并不是,而且差距十分大。HotSpot虚拟机中,一个普通的Java对象由3部分构成对象头类内定义的实例数据内存对齐2不必多说,Java对象不存定义好的实例字段存啥。对象头又分两部分,Mark Word和类型指针。Mark W

#java#开发语言#后端 +1
JDK1.8 JVM运行时数据区域划分

一、JDK1.8 JVM内存模型概览这里介绍的是JDK1.8 JVM内存模型。1.8同1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。二、各区域介绍1. 程序计数器每个线程一块,指向当前线程正在执行的字节码代码的行号。如果当前线程执...

文章图片
#jvm
Linux下XAMPP装完之后,Navicat无法连上数据库的问题的解决

Linux下装完XAMPP之后,mysql是自带装好了的,这个时候,mysql的root用户没有密码。首先进入mysql,输入命令:mysql -uroot -p。输入密码时直接回车。设置密码:set password =password('123456');设置完密码之后,用本地的Navicat连接这个mysql,发现连不上,而且出现一个很奇怪的现象,弹出框显示,另一个ip下的roo

spring bean初始化耗时统计

spring bean 的生命周期实例化(instantiate), 用构造器创建一个对象字段赋值(populate)初始化(initialize), 执行bean配置里的init方法或者InitializingBean#afterPropertiesSet方法销毁(destruct)实例化和字段赋值一般都很快,但是一些重型的bean被IOC容器创建时,需要调用远程服务或者执行耗时的...

#spring#性能优化
K8S容器OOM killed排查

docker耗用完内存前,堆内存并没有达到上限,于是没有触发老年代GC,内存没有降下去。如果容器OOM killed,容器里的jvm进程没有Full GC,那么肯定是MaxRAMPercentage参数太高,导致堆内存没有用到上限,无法触发堆内存(老年代)GC。当实例内存超过95%时,对比top显示的的jvm进程内存和ps stats输出的docker实例内存信息,其余进程耗用的内存忽略不计。遂将

文章图片
#java#容器#云原生
Nacos中map类型的配置

需要用nacos往bean里面注入一个map对象。如果直接用nacos的话,需要新开一个****.json的配置文件,个人觉得太麻烦。结合Spring EL表达式的功能,简单的实现了这个功能。java代码nacos配置。

文章图片
#java#spring#开发语言
JVM CPU高负载的排查办法

今天线上一个tomcat进程cpu负载100%。按以下步骤查出原因。    1.执行top -c命令,找到cpu最高的进程的id    2.执行top -H -p pid,这个命令就能显示刚刚找到的进程的所有线程的资源消耗情况。找到CPU负载高的线程tid 8627, 把这个数字转换成16进制,21B3。    3.执行jstack -l pid,拿到进程的线程dump文件。这个命令会

MAC版Idea下ignore文件的办法

习惯了Windows下右键ignore不提交文件的方式,换了Mac后,没有找到合适的git 带UI的客户端。idea自带的git右键菜单也不能提供ignore功能能。一脸懵逼。  在Idea的官方帮助文档里找到了解决办法,https://www.jetbrains.com/help/idea/2016.2/configuring-ignored-files.html.  IntelliJ I

#idea#git
对mysql time_to_sec()函数的误解

time_to_sec()函数仅仅计算了时间部分的秒数,没有把年月日的秒数计算进去。因为这个特点,导致了我程序的一个bug。    这段代码本来想统计客服的响应时间。但是碰到这种极品数据的时候,例如, responseTime:2013-1-8 00:00:01 ,firstMsgTime: 2013-1-7 23:59:50,程序就返回负数了。SELECT service as pi

    共 13 条
  • 1
  • 2
  • 请选择