展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

随笔分类 -  后端

上一页 1 2 3 4 5 6 7 8 9 10 ··· 25 下一页
摘要:官网 不同的convert解决方案 名字 描述 mapstruct 基于jsr269实现在编译期间生成代码,性能高,精细控制,解耦 orika 能够精细控制,解耦 org.springframework.beans.BeanUtils体系 简单易用,不能对属性进行定制处理 自己编写conver,需写 阅读全文
posted @ 2022-10-02 21:47 DogLeftover 阅读(119) 评论(0) 推荐(0)
摘要:Data @Data // 相当于 @getter @setter @ToString @EqualsAndHashCode,但需要所有属性的值相同才是同一个对象 @EqualsAndHashCode(of = {"id"}) public class UserInfoData { private 阅读全文
posted @ 2022-10-02 16:10 DogLeftover 阅读(31) 评论(0) 推荐(0)
摘要:作用 简化pojo类的书写(getter、setter、tostring、equals、hascode.....) pojo: plain old/ordinary java object 简单的java对象,不包含业务逻辑、能够控制自己内部n个属性访问的java对象 pojo与javabeans 阅读全文
posted @ 2022-10-02 10:21 DogLeftover 阅读(56) 评论(0) 推荐(0)
摘要:硬件基础 环境变量 二进制转换 阅读全文
posted @ 2022-09-30 13:36 DogLeftover 阅读(50) 评论(0) 推荐(0)
摘要:传统项目与互联网项目的区别 传统项目所遇到的jvm问题 # 当单个接口响应特别慢时 先考虑是否有sql慢查询,定位慢查询的⽅法⼀般是⽤explain查看sql的执⾏计划 FullGC与MinorGC的区别 Minor GC触发条件:当Eden区满时,触发Minor GC FullGC触发条件 1、调 阅读全文
posted @ 2022-09-16 16:56 DogLeftover 阅读(48) 评论(0) 推荐(0)
摘要:简介 VisualVM是⼀个集成命令⾏JDK⼯具和轻量级分析功能的可视化⼯具 idea安装插件 File-> Setting-> Plugins -> Browers Repositrories 搜索VisualVM Launcher -> 安装并重启IDEA 点击配置VisualVM execut 阅读全文
posted @ 2022-09-16 16:42 DogLeftover 阅读(41) 评论(0) 推荐(0)
摘要:简介 JConsole (Java Monitoring and Management Console)是⼀种基于 JMX 的可视化监视、管理⼯具, 它管理部分的功能是针对 JMXMBean 进⾏管理,由于 MBean 可以使⽤代码、中间件服务器的管理控制台或者所有符合 JMX 规范的软件进⾏访问 阅读全文
posted @ 2022-09-16 15:42 DogLeftover 阅读(79) 评论(0) 推荐(0)
摘要:简介 Jstack (Stack Trace for Java)命令⽤于⽣成虚拟机当前时刻的线程快照(-般称为threaddump 或者 javacore ⽂件) 线程快照就是当前虚拟机内每⼀条线程正在执⾏的⽅法堆栈的集合,⽣成线程快照的主要⽬的是定位线程出现⻓时间停顿的原因, 如线程间死锁、死循环 阅读全文
posted @ 2022-09-16 15:19 DogLeftover 阅读(77) 评论(0) 推荐(0)
摘要:简介 Sun JDK 提供 jhat (JVM Heap Analysis Tool)命令常与 jmap 搭配使⽤,来分析 jmap ⽣成的堆 转储快照。 jhat内置了⼀个微型的HTTP/HTML服务器,⽣成dump⽂件的分析结果后,可以在浏览器中查看 特点 jhat分析⼯作是⼀个耗时⽽且消耗硬件 阅读全文
posted @ 2022-09-16 14:14 DogLeftover 阅读(151) 评论(0) 推荐(0)
摘要:标记清除算法 ⾸先标记出所有需要回收的对象,在标记完成后统⼀回收所有被标记的对象 图解 黑色部分为待回收的垃圾 蓝色部分为不需要回收的内存 白色部分为未使用的内存 不足 ⼀个是效率问题,标记和清除两个过程的效率都不⾼; 另⼀个是空间问题,标记清除之后会产⽣⼤量不连续的内存碎⽚,空间碎⽚太多可能会导致 阅读全文
posted @ 2022-09-16 10:08 DogLeftover 阅读(225) 评论(0) 推荐(1)
摘要:jstat Jstat (JVM Statistics Monitoring Tool)是⽤于监视虚拟机各种运⾏状态信息的命令⾏⼯具。 它可以显示本地或者远程-虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运⾏数据, 在没有 GU 图形界⾯,只提供了纯⽂本控制台环境的服务器上,它将是运⾏期定位 阅读全文
posted @ 2022-09-16 10:05 DogLeftover 阅读(62) 评论(0) 推荐(0)
摘要:虚拟机工具 给⼀个系统定位问题的时候,知识、经验是关键基础,数据是依据,⼯具是运⽤知识处理数据的⼿段 数据包括:运⾏⽇志、异常堆栈、GC ⽇志、线程快照( threaddump/javacore⽂件)、堆转储快照( heapdump/hprof⽂件)等。 使⽤适当的虚拟机监控和分析的⼯具可以加快我们 阅读全文
posted @ 2022-09-16 09:46 DogLeftover 阅读(92) 评论(0) 推荐(0)
摘要:逃逸分析 逃逸分析的基本⾏为就是分析对象动态作⽤域:当⼀个对象在⽅法中被定义后,它可能被外部⽅法所引⽤,称为⽅法逃逸。 甚⾄还有可能被外部线程访问到,譬如赋值给类变量或可以在其他线程中访问的实例变量,称为线程逃逸 栈上分配 栈上分配就是把⽅法中的变量和对象分配到栈上,⽅法执⾏完后⾃动销毁,⽽不需要垃 阅读全文
posted @ 2022-09-15 17:15 DogLeftover 阅读(39) 评论(0) 推荐(0)
摘要:简介 所谓的⼤对象是指,需要⼤量连续内存空间的 Java 对象,最典型的⼤对象就是那种很⻓的字符串以及数组 虚拟机提供了⼀个-XX: PretenureSizeThreshold 参数,令⼤于这个设置值的对象直接在⽼年代分配。即操作指定内存时,直接分配到老年代 这样做的⽬的是避免在 Eden 区及两 阅读全文
posted @ 2022-09-15 17:09 DogLeftover 阅读(39) 评论(0) 推荐(0)
摘要:java堆分布图 分配规则 对象主要分配在新⽣代的 Eden 区上 如果启动了本地线程分配缓冲,将按线程优先在 TLAB 上分配 少数情况下也可能会直接分配在⽼年代中 测试代码 配置打印垃圾回收 控制台打印 自定义垃圾收集器 控制台打印 GC参数指定垃圾回收 -Xms20 M、-Xmx20 M、-X 阅读全文
posted @ 2022-09-15 16:58 DogLeftover 阅读(41) 评论(0) 推荐(0)
摘要:图解 简介 G1是⼀款⾯向服务端应⽤的垃圾收集器 特点 G1 中每个 Region 都有⼀个与之对应的 Remembered Set,当进⾏内存回收时,在 GC 根节点的枚举范围中加⼊ Remembered Set 即可保证不对全堆扫描也不会有遗漏 检查Reference引⽤的对象是否处于不同的Re 阅读全文
posted @ 2022-09-15 16:24 DogLeftover 阅读(81) 评论(0) 推荐(0)
摘要:图解 简介 CMS (Concurrent Mark Sweep)收集器是-种以获取最短回收停顿时间为⽬标的收集器。 ⽬前很⼤⼀部分的Java应⽤集中在互联⽹站或者B/S系统的服务端上,这类应⽤尤其重 视服务的响应速度,希望系统停顿时间最短,以给⽤户带来较好的体验。 CMS 收集器是基于“标记-清除 阅读全文
posted @ 2022-09-15 16:04 DogLeftover 阅读(29) 评论(0) 推荐(0)
摘要:Parallel Scavenge收集器 Parallel Scavenge 收集器是⼀个新⽣代收集器,它也是使⽤复制算法的收集器,⼜是并⾏的多线程收集器 由于与吞吐量关系密切,Parallel Scavenge 收集器也经常称为“吞吐量优先”收集器 吞吐量是什么?CPU⽤于运⾏⽤户代码的时间与CP 阅读全文
posted @ 2022-09-15 15:54 DogLeftover 阅读(73) 评论(0) 推荐(0)
摘要:serial垃圾收集器 Serial是⼀个单线程的垃圾收集器 特点 “Stop The World”,它进⾏垃圾收集时,必须暂停其他所有的⼯作线程,直到它收集结束。在⽤户不可⻅的情况下把⽤户正常⼯作的线程全部停掉 使⽤场景:多⽤于桌⾯应⽤,Client端的垃圾回收器 桌⾯应⽤内存⼩,进⾏垃圾回收的时 阅读全文
posted @ 2022-09-15 15:33 DogLeftover 阅读(88) 评论(0) 推荐(0)
摘要:标记整理算法 复制收集算法在对象存活率较⾼时就要进⾏较多的复制操作,效率将会变低。更关键的是,如果不想浪费 50%的空间,就需要有额外的空间进⾏分配担保, 以应对被使⽤的内存中所有对象都 100%存活的极端情况,所以在⽼年代⼀般不能直接选⽤这种算法 根据⽼年代的特点,有⼈提出了另外⼀种“标记-整理( 阅读全文
posted @ 2022-09-15 14:53 DogLeftover 阅读(72) 评论(0) 推荐(1)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 25 下一页