随笔分类 -  编程语言

摘要:为什么IO模型如此重要? 在现代软件开发中,IO操作往往是性能瓶颈的根源。可以通过一个生活案例来理解这个问题:传统阻塞IO就像排队买奶茶:每个人必须等前面的人买完才能轮到自己,效率极低;而异步IO就像网上点餐:下单后可以做其他事情,餐好了会通知你取餐,效率极高。 BIO 核心原理 字节流 查看代码 阅读全文
posted @ 2022-08-01 15:51 lvlin241 阅读(53) 评论(0) 推荐(0)
摘要:<1> 单CPU或小内存,单机程序 -XX:+UseSerialGC <2> 多CPU,需要大吞吐量,如后台计算型应用 -XX:+UseParallelGC 或者 -XX:+UseParallelOldGC -Xms1m -Xms1m -XX:+PrintGCDetails -XX:+PrintCo 阅读全文
posted @ 2021-12-06 12:04 lvlin241
摘要:1. Java Platform, Standard Edition Documentation 2. 历史版本下载地址 3. open jdk 4. jdk 源码 阅读全文
posted @ 2021-12-06 10:18 lvlin241
摘要:jdk8 Troubleshooting Guide 1. Prepare Java for Troubleshooting 2. Diagnostic Tools 3. Troubleshoot Memory Leaks 4. Troubleshoot Performance Issues Usi 阅读全文
posted @ 2021-12-06 10:05 lvlin241 阅读(76) 评论(0) 推荐(0)
摘要:JMM(JAVA内存模型) 个人理解: <1> 假设现在有3个线程t1、t2、t3,需要对主内存中的shareVar进行加1操作,JMM规范要求:这3个线程分别从主内存中拷贝一份shareVar到自己的工作空间中(即m1、m2、m3各存在一份),然后三个线程可以进行加1操作,然后每当一个线程完成了加 阅读全文
posted @ 2021-03-17 11:39 lvlin241
摘要:前言 作为一名在生产环境摸爬滚打多年的Java开发者,经历过不少因为JVM配置不当导致的线上故障。本文将分享在实际项目中积累的JVM调优经验,帮你避开那些致命的坑。 前置知识:JVM 自带命令系统指南 一、生产环境常见问题及解决方案 1.1 内存溢出:最常见的线上杀手 场景重现:凌晨3点,监控告警疯 阅读全文
posted @ 2020-07-13 16:46 lvlin241 阅读(120) 评论(0) 推荐(0)
摘要:原文地址: https://mp.weixin.qq.com/s/xGFUTaeZTLyEvadRTojLjQ 前言 本文总结了一些Java应用线上常见问题的定位步骤,分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。毕竟作者自己也是从手忙脚乱时走过来的。 只不过 阅读全文
posted @ 2020-05-27 16:08 lvlin241 阅读(4777) 评论(0) 推荐(0)
摘要:开发语言排名 阅读全文
posted @ 2020-03-07 17:59 lvlin241 阅读(118) 评论(0) 推荐(0)
摘要:前言 作为一名在生产环境摸爬滚打多年的Java开发者,经历过不少因为JVM配置不当导致的线上故障。本文将分享在实际项目中积累的JVM调优经验,帮你避开那些致命的坑。 前置知识:JVM 自带命令系统指南 一、生产环境常见问题及解决方案 1.1 内存溢出:最常见的线上杀手 场景重现:凌晨3点,监控告警疯 阅读全文
posted @ 2019-08-20 11:59 lvlin241 阅读(102) 评论(0) 推荐(0)
摘要:http://java.sun.com/products/archive/ 参考:https://blog.csdn.net/shiluyong8068/article/details/78947476 阅读全文
posted @ 2019-07-15 10:24 lvlin241 阅读(327) 评论(0) 推荐(0)
摘要:alternatives --config java 参考:https://www.cnblogs.com/xu-dong/p/6429301.html 阅读全文
posted @ 2019-03-29 17:18 lvlin241 阅读(145) 评论(0) 推荐(0)
摘要:vim ~/.bashrc # 配置jdk export JAVA_HOME=/usr/soft/java/jdk1.8.0_201 export CLASSPATH=.:${JAVA_HOME}/lib export PATH=${JAVA_HOME}/bin:${JAVA_HOME}/jre/b 阅读全文
posted @ 2019-03-29 17:17 lvlin241 阅读(192) 评论(0) 推荐(0)
摘要:jdk自带的查看工具(jdk安装目录/bin) 1、Java VisualVM 2、jconsole 阅读全文
posted @ 2019-01-29 10:23 lvlin241 阅读(219) 评论(0) 推荐(0)
摘要:什么是 ThreadLocal? ThreadLocal 是 Java 中的一个类,用于为每个线程提供独立的变量副本,实现线程隔离。每个线程访问 ThreadLocal 变量时,操作的是自己的副本,互不干扰。 为什么使用 ThreadLocal? 线程安全:通过为每个线程提供独立的变量副本,避免多线 阅读全文
posted @ 2019-01-22 13:39 lvlin241 阅读(178) 评论(0) 推荐(0)
摘要:百万对象内存指定字段排序 package com; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.Objects; import java.util.stre 阅读全文
posted @ 2019-01-17 14:30 lvlin241 阅读(527) 评论(0) 推荐(0)
摘要:public class DateTest { // 支持时分秒 private static String LocalDateTimeTest(){ LocalDateTime date = LocalDateTime.now(); String res = date.format(DateTim 阅读全文
posted @ 2018-09-21 10:54 lvlin241 阅读(1199) 评论(0) 推荐(0)