5 王正强

浙江大华技术股份公司 - 开发主管

我要认证

暂无相关简介

等级
TA的排名 1w+

必知必会JVM四-垃圾收集器介绍

四、垃圾回收器介绍不同的垃圾收集器有不同的垃圾回收算法,通过jps -v命令可以显示当前使用的垃圾回收器当前比较多的JVM收集器有Serial/Serial Old,ParNew,Parallel Scavenge(ParallerGC)/Parallel Old,Concurrent Mark Sweep (CMS),G1垃圾回收器。4.1 垃圾收集器的性能指标垃圾收集器也分为单线程和多线程的,同时也分为并行和并发。垃圾收集器的主要性能指标就是垃圾回收的吞吐量和垃圾收集时间。并行:

2020-07-20 17:16:17

必知必会JVM三-面试必备,JVM堆内存详解

目录一、堆的内存区域1.1堆内存区域介绍1.2 为什么分代?1.3 内存分配策略1.3.1、 优先在Eden区分配1.3.2、大对象直接进入老年代1.3.3、长期存活对象进入老年区1.3.4、对象年龄动态判定1.3.5、空间分配担保二、GC执行的机制2.1 Minor GC(young GC)2.2 Full GC2.3对象生死判定方法三、GC原理-垃圾回收算法3.1 标记-清除算法3.2 复制算法3.3 标记-整理算法3.4.分...

2020-06-27 11:28:32

你不知道的Redis一-Redis入门

一、Redis是什么Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API其中value 可以为string、hash、list、set、zset 等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线,等附加功能流水线Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器,并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端,使用这个功能可以有效地减少客户端在执行多个命令

2020-06-23 17:04:38

Java算法-LeetCode14最长公共前缀

题目地址:https://leetcode-cn.com/problems/longest-common-prefix/编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。来源:力扣(LeetCode)链接...

2020-06-08 16:35:11

Java算法-LeetCode1两数之和

题目地址:https://leetcode-cn.com/problems/two-sum/ 给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]解题思路:ha...

2020-06-04 20:51:12

必知必会JVM二-运行时数据区

1、什么是运行时数据区恩......如果我说什么是Java的内存模型,估计大家都会脱口而出,程序计数器、方法栈、本地方法栈、元空间、堆。而且很自信的觉得自己说的一点都没错。areyoureally?其实对于java的内存模型和运行时数据区都搞不清楚。java的内存模型是JMM(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解Java并发编程,就要先理解好Java内存模型..

2020-06-01 17:45:12

Java 编译指令集大全

栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将int类型常量5压入栈lconst_0 将long类型常量0压入栈lconst_1 将long类型常量1压入栈

2020-05-28 20:09:25

必知必会JVM一-什么是JVM?

目录1.前言2.跨平台的方式3.什么是虚拟机?4.JAVA开发包1.前言大家都知道,Java程序设计语言最早的口号就是,Write Once,Run Anywhere,一次编写,到处运行。只实现一次编码。可以再任何平台运行。那就吸引了大批的开发者进行尝试,不需要在为不同的操作系统上做适配。那么JAVA是怎么实现这种方式的呢?C语言我只编写了一次,也可以在windows和linux下运行呢?那什么叫跨平台呢?我们来以次解答。2.跨平台的方式跨平台主要有两种方式,一种是运行跨..

2020-05-24 17:47:28

Netty相关面试题汇总

目录1、Netty的特点2、Netty的线程模型3、TCP 粘包/拆包的原因及解决方法?4、请概要介绍下序列化5、Netty的零拷贝实现6、Netty是如何解决JDK中的Selector BUG的?7、Netty 的优势有哪些?8、Netty 高性能表现在哪些方面?9、Netty 中有哪些重要组件?10、Netty 发送消息有几种方式?11、Net...

2020-05-10 18:20:46

Jar包问题查找脚本

平时开发代码或者排查问题的时候,经常会遇到一些java.lang.NoClassDefFoundError或者jar包冲突等问题,一般这种都属于很低级但很耗费时间的问题,那如果有个脚本可以快速帮我们查询到哪里有问题,岂不是能提高我们很高的效率?美哉~一、查找jar包类名关键字脚本功能此脚本在Jar包中的包名和类名中查找某一关键字,并高亮显示匹配的Jar包名称和路径,解决问...

2020-02-22 15:51:28

JAVA CPU过载问题排查思路以及一键查询脚本

此命令通过结合Linux操作系统的ps命令和jvm自带的jstack命令,查找Java进程内CPU利用率最高的线程,一般适用于服务器负载较高的场景,并需要快速定位导致负载高的原因。本脚本来自一个叫候鸟树(笔者在互联网行业入行前的引路人)的网友,原作者不详,这里保留原作者名为了表示对技术人的尊重。命令格式:./show-busiest-java-threads -p 进程号 -c 显示条...

2020-02-15 14:11:41

Netty组件EventLoopGroup和EventLoop源码分析

一、UnSafe相关介绍1、JAVA中Unsafe简介为什么先介绍Unsafe这个东西呢?我们知道JDK中也有UnSafe,Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。封装这一系列的native方法。并且是禁止我们开发者自己使用的。当然你可以通过反射进行获取。JAVA中的UnSafe提供以下的功能可以看到,java中的unsafe提供的都是至关重要的一些...

2020-02-13 11:56:24

网络编程六-网络编程相关面试题汇总

目录1、说一下TCP的三次握手过程2、为什么TCP握手需要三次?3、解释一下TCP的四次挥手4、为什么要有TIME_WAIT状态?5、为什么TCP的挥手需要四次?6、DDOS攻击7、SYN洪水攻击8、哪些应用比较适合用udp实现9、如果要你来设计一个QQ,在网络协议上你会考虑如何设计?1、说一下TCP的三次握手过程参加下图2、为什么TCP握手需要...

2020-02-02 17:35:11

Netty实战三-如何让单机下Netty支持百万长连接?

目录一、操作系统优化二、Netty调优1、设置合理的线程数2、心跳优化3、接收和发送缓冲区调优4、合理使用内存池5、IO线程和业务线程分离三、JVM层面相关性能优化1、确定GC优化目标2、确定服务端内存占用3、GC优化过程单机下能不能让我们的网络应用支持百万连接?可以,但是有很多的工作要做。而且要考虑到单机的系统资源消耗能否支撑百万并发一、操作系...

2020-01-23 15:20:30

网络编程五-服务器推送技术

目录一、服务器推送技术1、服务器推送技术的兴起2、应用场景二、Ajax短轮询1、定义2、特点三、Comet3.1 AJAX 的长轮询1、定义2、特点3.2 SSE1、定义2、特点四、WebSocket通信1、什么是webSocket2、特点3、WebSocket通信握手4、WebSocket通信-STOMP协议5、WebS...

2020-01-19 16:56:44

Netty实战二-实现UDP的单播和广播

当时犹豫和很久这些网络相关的实现放在网络编程里还是Netty里,但因为都是通过Netty实现的,顾还是放在Netty实战系列里比较合适,毕竟网络编程里实现方式很多种嘛?一、UDP单播和广播在网络编程一 - 计算机网络体系基础知识中,我们已经讲过UDP协议。在UDP 这样的无连接协议中,并没有持久化连接这样的概念,并且每个消息(一个UDP 数据报)都是一个单独的传输单元。此外,UDP 也...

2020-01-12 11:13:04

Netty实战一 Netty实现文件的上传和下载

目录一、Netty应用场景二、Netty实现文件的上传和下载三、程序演示1、下载演示2、上传演示一、Netty应用场景讲了一些Netty的组件,来聊一聊大家最关心的事情吧,他能够做什么?毕竟,我们学习就是拿来用的嘛。我可以简单的概括一下,凡是牵扯到网络相关的,都可以使用Neety去实现!构建高性能、低时延的各种 Java 中间件,例如 MQ、分布式服务框架、E...

2019-12-28 10:39:56

高性能IO框架Netty五 - Netty内置的编解码器

目录一、什么是编解码器二、解码器2.1ByteToMessageDecoder2.2MessageToMessageDecoder2.3 TooLongFrameException三、编码器3.1 MessageToByteEncoder3.2 MessageToMessageEncoder四、编解码器类五、Netty内置的编解码器和ChannelH...

2019-12-09 08:15:56

博客文章路线图

对当前博客知识图谱进行汇总。不断更新ing~~请大家多多支持哈~一、Java基础1、并发编程并发编程专题一-线程相关基础概念并发编程专题二-线程间的共享和协作并发编程专题三-JAVA线程的并发工具类并发编程专题四-原子操作和显示锁并发编程专题五-AbstractQueuedSynchronizer源码分析并发编程专题六-线程池的使用与原理并发编程专题七-什么...

2019-12-08 17:19:28

Spring Cloud Zuul网关修改为短连接方法

一、问题分析之前在用zuul网关的时候,请求几次然后连接就断开了。原因是因为http1.1之后,默认走的都是connection=keep-alive 长连接。但没有心跳维持,顾1分钟断开一次。但RestFul一般都是走短连接就行了。因此想着只要修改头部connection属性就行了.就是在过滤器中修改Zuul的RequestContext ctx对象 //设置请求为短...

2019-11-28 16:54:42

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 精彩红人
    精彩红人
    发布高质量Blink获得高赞和评论,进入精彩栏目即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。