自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

scugxl的专栏

java coder

  • 博客(128)
  • 资源 (18)
  • 收藏
  • 关注

原创 记录Pcap4j使用的一次异常调查和分析

TCP/IP协议看似复杂,但是实际上设计的是很简单高效的,RFC设计的也很精巧,而且我们只需要从大到小一点点解析就可以很方便的通过pcap4j得到并解析你想要的任何数据.

2022-09-06 14:40:35 946

原创 真实还原定位java内存OOM步骤

文章目录abstract问题现象头大的分析步骤如何获取内存dump?尝试1尝试2尝试3如何分析内存dump?根本原因学到的参考abstract自己做了很久的java开发了, 很久没有写关于内存泄漏/溢出相关的问题定位了. 本文会描述一个十分曲折的定位过程. 从本文里面可以学到:jdk11的内存dump如何分析大对象如何结合OQL还原真实的问题现场问题现象产品某一台服务器发现...

2019-12-26 16:57:09 1519 1

原创 Java cpu 监控 分析

Abstract在这篇文章中我们会综合性的介绍如何监控JVM cpu,  thread 级别cpu, 以及如何通过JFR技术来分析JVM的CPU 问题. 如何获取CPU这里我们会先介绍如何在进程内部获取JVM的CPU. 这里我们主要采用JVM 自带的JMX来实现对自己的监控.获取整个系统的JVM cpu可以通过调用mbean中的getProcessCpuTime方法来得到中...

2018-12-27 19:15:33 5640

原创 【闲聊】一个关注健康的小程序--科技镜头

一个可以快速扫描食品配料表的镜头,您只需拍摄食品配料表的照片,即可获得对您所摄取的食品配料的智能分析和健康建议。无需复杂的搜索和研究,让您轻松了解每种食品中的成分和潜在的健康影响。

2023-05-28 15:54:16 126

原创 写给Java程序员的GRPC入门系列(3)

网上有很多GRPC的例子,但是却没有能够写给普通Java开发人员手把手入门少走弯路的教程。本教程保证按照步骤一步步来你就可以完成GRPC从0到1的构建。

2022-12-28 21:04:52 726

原创 写给Java程序员的GRPC入门系列(2)

网上有很多GRPC的例子,但是却没有能够写给普通Java开发人员手把手入门少走弯路的教程。本教程保证按照步骤一步步来你就可以完成GRPC从0到1的构建。

2022-12-28 20:36:42 471

原创 写给Java程序员的GRPC入门系列(1)

网上有很多GRPC的例子,但是却没有能够写给普通Java开发人员手把手入门少走弯路的教程。本教程保证按照步骤一步步来你就可以完成GRPC从0到1的构建。

2022-12-28 20:16:36 463

原创 Spring AOP aspect切面指北

spring aspect切面基础写法和示例

2022-12-02 17:03:55 464

原创 XMLPath的基本使用

XPath是一种用于在xml格式的内容中提取信息的方式. 它与从JSON中提取信息的JSONPath类似. 本文将介绍xpath的基本格式以及在Java中如何使用Xpath提取信息.

2022-11-13 17:36:33 1735

原创 根据IP查询地理位置信息

根据IP查询地理位置信息。

2022-10-26 16:36:41 269

原创 记录一次线上被病毒攻击的事件

本文记录了在产品中遇到的关于被黑客攻击的事件始末. 这里面会讲述到如何通过监控工具来帮助普通程序员与黑客进行"斗智斗勇"的故事.

2022-10-09 11:08:53 421

原创 BitSet的python实现

bitset算是设计很精巧实现巧妙地那一类集合。本文讲述了如何在python中实现java版本的bitset

2022-09-23 16:27:47 1237 3

翻译 Kafka应用处理消息失败时怎么办

错误处理和重试对于所有应用都非常重要. 对kafka也不例外. 本文提供的这些方法无法覆盖所有的场景, 但是希望可以对你的需求提供指导.

2022-09-18 17:12:57 4152

转载 网站服务如何保证证书的有效性?

本文讲述了对于证书管理中的问题和如何使用工具来及时监控和自动解决证书安全问题

2022-08-26 14:50:51 922 1

原创 记录一次线上的文件描述符泄露问题

在遇到不同寻常的数据时,往往会关联其他数据也出现异常,而且很有可能有相似的模式,而AI非常适合来找到这些隐藏的关联来辅助我们定位和发现问题从而节约开发定位问题的时间.择维士预测: 预测未来一段时间的数据. 比如磁盘占用.相关性: 发现与选定数据模式高度匹配的数据. 用来问题关联分析.异常数据: 自动发现当前系统中的可能异常的数据. 并推送通知....

2022-08-11 14:20:40 258 1

原创 监控MySQL (一) 如何打开MySQL慢查询日志

慢查询会严重影响数据库性能和服务器整体性能. 慢查询日志的功能可以让MySQL记录下那些超过一定执行时间的语句,从而有助于我们查看和优化耗时的查询.本文最初发表于择维士社区

2022-07-29 08:32:51 305

原创 如何使用JSONPath

介绍JSONPath的语法和使用

2022-07-21 19:54:49 863

原创 记录Postgresql 查询慢问题

问题线上aws rds 偶尔出现sql查询很慢 异常慢。 比如如下的一个表:最终发现是一个很普通的sql:select * from int_twilio_twilionumber where merchant_id = 1234 and active = true and "default"=trueorder by date_created limit 1这个查询竟然发了2-3分钟无法回复。调查1. 查看表大小 800MB:, 表记录大概4000条。SELEC...

2021-11-12 14:56:43 9650

原创 Redshift disk full 问题

select *from stl_query where query=170281811最近线上redshift disk时不时会有一个spike的问题, 需要调查下。第一步 先监控问题通过如下的java代码可以获取redshift的disk当前使用率:/** * Note this method will return the prod redshift disk usage. * * https://console.aws.amazon.com/ia.

2021-09-17 11:27:16 226

原创 我是如何使用quarkus优化jvm性能的

背景公司在重度使用aws的ECS 功能。 ECS 简单来说就是亚马逊版本的docker服务。最近aws默认的cloudwatch free-tier已经超过限制了。 所以就想自己搭建日志平台。大致平台如下:因为公司的使用了各种语言python nodejs java和各种开源软件服务比如airflow而我们需要解决的就是:对各种服务的日志如何快速统一的收集到我们的平台之中。调查发现后, aws实际上提供了一个服务:aws firelens 可以用于快速的将日志转发到其他地方, 比如splunk。

2021-08-24 21:09:25 484

原创 小而美的java webserver框架--Javalin

javalin 是一个非常简单易用的web框架, 官网https://javalin.io/ 对于想快速搭建一个简单地web请求通讯服务器非常方便, 这篇文章就来介绍下:build gradle在build.gradle中引入: compile 'io.javalin:javalin:3.13.5'上手起来非常简单如下:import io.javalin.Javalin;public class HelloWorld { public static void .

2021-08-11 14:08:43 735

原创 Docker kafka

工作中经常用到kafka,为了方便需要一个docker版的kafka,有人问为啥不是原生的? 原生的每次要自己手动启动zk和kafka(新版只需要kafka)。那为啥不用k8s的呢?k8s本身比较zhan'y

2021-06-16 14:23:21 135

原创 Postgresql JDBC的 OOM问题

Abstract最近在用亚马逊的postgre rds做数据处理的过程中 发现同步某些数据时竟然会OOM.代码出问题的代码:(使用的是springboot的jdbctemplate) @Override public <T> List<T> getList(String sql, RowMapper<T> rowMapper, Object... args) { return this.jdbcTemplate.query(sql,

2021-05-19 21:57:03 534 2

原创 用百度云当存储的音乐播放器

闲来无事, 用java+vue实现的一个用百度云来当存储的音乐播放器。 所有数据存在本地。做这个的原因:越来越多的歌听不了了酷狗的云盘太小 2G. 网易的云盘MAC上不支持上传。代码在这里:codereadme...

2021-04-16 16:19:28 856

原创 [Spring]用100行代码来模拟解决Spring的循环依赖问题

Abstract好久没写文章了, 最近喜欢上了springboot, 也发现这个开发起来确实很方便和快捷。 包括spring kafka, jdbc, & actuator. 一天, 比较惊讶于spring如何优雅的解决循环依赖的问题的, 因为自己代码有时候也没注意, @Autowired 到处都是, 但是发现spring竟然可以正常工作,于是好奇的想了解下其实现。 所以就有了这个文章。Spring如何解决循环依赖的?官方文档:hereCircular dependenciesIf

2021-02-02 22:12:52 228

原创 如何用you-get 下载bilibili 视频以及字幕

文章目录版本概述使用下载所以继续研究了下 如何下载结论版本2020-08-11: init 本文的工具都是这个时候的 可能后面有些支持.概述最近看到这个视频课程: 【吴恩达团队Tensorflow2.0实践系列课程第一课】TensorFlow2.0中基于TensorFlow2.0的人工智能、机器学习和深度学习简 就想下载到本地 防止被和谐… 所以就使用you-get 下载. you-get 这个 repo clone下来就可以了: 官方repo. 想着以前也提交过代码 再看看也没啥大问题.

2020-08-11 10:36:20 9299

原创 Nginx做文件服务器 支持上传和下载

文章目录Abstract可选步骤 移除已安装的nginx module从源码安装nginx 并加载上传模块配置支持下载支持可选的配置用户名密码访问下载配置运行截图配置上传支持上传测试如何上传后的文件是正确的名字呢?参考Abstract把nginx作为一个简单的http服务器. 因为可能涉及到加载额外的module 所以我们会从源码开始编译.可选步骤 移除已安装的nginx module这个步骤是可选的 如果在后面按照源码安装nginx后 加载其他module有冲突时:类似于下面的错误:nginx

2020-07-07 14:58:08 16704 3

原创 [Springboot编程思想]ch7-spring的组合注解

文章目录Abstractspring的注解编程模型元注解模式注解体验注解的派生性spring的多继承注解模型那么如果是多层继承呢?总结Abstractspring自身经历了快速的发展, 我印象中还是古板的xml配置, 而现在已经完全不需要xml了… 直接注解搞定确实给开发者省了很多工作. 本文是在阅读<springboot编程思想>过程中的记录spring的注解编程模型spring的官方关于注解模型:https://github.com/spring-projects/spri

2020-06-04 11:50:05 304

原创 [Springboot编程思想]ch2-springboot是如何启动的?

Abstract弄清楚springboot的jar模式是如何启动的? 代码在: github我们如何生成单个可执行的jar?maven 引入:spring-boot-maven-plugin 中的repackage 任务: <build> <plugins> <!-- 保持与 spring-boot-dependencies 版本一致 --> <plugin> <groupId>org.apache.maven.p

2020-06-01 15:39:49 264

原创 Springboot shutdown 耗时太长的分析使用btrace

背景没怎么用过springboot, 但是还是咬牙上了. 在这篇使用springboottest和h2来构建数据库测试的采坑记录中就发现我们的应用在测试用例跑完了无法自动关闭. 而且还总是等了2分钟就自动关闭了. 然后最开始以为是test case才有问题 结果发现是应用本身运行的时候正常关闭也有问题.如下图:(测试已经完了,springboot开始shutdown 但是进程本身没有退出)先google发现都是说的如何gracefully shutdown的… 并没有立即shutdown的…

2020-05-28 11:05:47 721

原创 使用springboottest和h2来构建数据库测试的采坑记录

现状因为项目关系和人力关系, 代码写的比较快而且质量不是很好. bug比较多 基本功能总是有问题(某些场景下) 所以现在想快速补齐测试短板.为啥要做想看看如何将spring boot test + db这套结合起来做测试… 因为我们是saas项目 所以更多的想法就是能不能采用内存数据库来方便UAT测试. 所以就有了下面的数据库对比和h2采坑记录不同数据库对比:H2DerbyHSQLDBMySQLPostgreSQLPure JavaYesYesYesNoNo

2020-05-26 21:19:34 2812

原创 JMC在macos无法运行以及hprof无法运行

问题现在线上有个方法很慢, 做的是导出文件的操作…现在想知道到底是代码中的哪个部分太慢了?hprof在jdk7的时候有这个工具: https://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html可以采用如下方式进行spring boot类应用的调试:-agentlib:hprof=cpu=times但是在jdk8运行失败了:Exception in thread "main" java.lang.NoClassDefFound

2020-05-18 18:13:23 734

原创 Lombok入坑指南

常见的一些注解@Builder -- 生成链式方法@Cleanup -- 自动close closeable对象... 带有继承的entity如果lombok要支持继承的话, 要注意:(1)使用@SuperBuilder时, 整个链路上都要有该注解.(2)@SuperBuilder 配合lombok.accessors.prefix += _ 会有bug. 需要更新版本(我用的最新版1.18.12 fix了该问题)报错:error: cannot find symbol@Super

2020-05-18 12:50:57 1704 2

原创 Springboot error handler是如何工作的?

背景以前没有怎么接触过springboot, 一直做得偏底层相关的开发, 接触到springboot后发现这个框架实现的非常巧妙, 确实也非常方便. 这篇文章就记录下spring boot中的ErrorHandler是如何实现的.Example示例代码在: github里面的schedulingtask module.大体来说就是://ctrl层会抛出一个异常 public ...

2020-04-21 21:06:14 1407

原创 k8s 构建dashboard

ref:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/1. deploy uikubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/r...

2020-04-16 18:04:32 473

原创 nginx中的sub_filter

需求/问题最近在做一个需求, 大概的部署模型是这样的:由于有严格的端口限制(对外暴露80端口) 所以我们在右边的服务器才有一个nginx来根据api path做反向代理.因为想把我们的代码跟CI jenkins集成, 所以想找个办法来看看怎么将jenkins也通过代理服务器的80端口访问?步骤step1:我们将/j/的路径访问到jenkins服务器地址. 比如服务器为...

2020-04-11 21:50:56 19040 1

原创 kafka的复制实现和调试

kafka在0.8.0版本增加了基于主从复制的实现. 最近一直在看这块, 所以一时兴起想着能不能看看他的实现呢?完整的过程在这里: (使用gitee比github快不少)https://gitee.com/gaoxingliang/kafka/tree/0.8.0_local/readings使用的是基于0.8.0. 所有的依赖和步骤在这个md中描述.kafka实现复制的tic...

2020-02-22 11:42:38 202

原创 Java拾遗03- 各个时期的HashMap和ConcurrentHashMap

引子最近在看小灰灰算法.里面有一节讲到散列表相关的比较有意思. 本文记录散列表相关, 以及JDK中的hashmap concurrenthashmap 是如何优化的.书中所说解决散列表冲突时候的2种办法:开放寻址法如下图, 我们想放入Entry6 (hash后需要放的位置是3)但是位置3上面已经有Entry5, 那么我们会**向数组后面接着找下一个有空的位置**. 这就是开放寻址...

2019-12-27 22:16:12 166

原创 Java拾遗系列目录

Abstract关于java相关的一些小细节的文章记录列表文章列表hashmap如何导致死循环volitale和cpu指令

2019-12-27 18:26:45 129

原创 Java拾遗2 - volatile和内存屏障和cpu指令

某一天看书, 发现AtomicInteger里面有个lazySet方法. 很奇怪 不知道是干啥. 所以就有了这篇文章.lazySet方法源代码: /** * Eventually sets to the given value. * * @param newValue the new value * @since 1.6 */ ...

2019-11-28 14:57:52 363

ngrok-v3-stable-linux-amd64.tgz

ngrok linux 客户端。可以将本地服务代理成公网

2023-03-02

graalvm-ee-java11-linux-amd64-21.2.0.1.tar.gz

graalvm-ee-java11-linux-amd64-21.2.0.1. graalvm 企业版 带native image. jdk11 版本

2021-09-07

jre_windows_x86.zip

jdk11的jre

2021-07-26

jre_windows_x64.zip

jdk11的jre

2021-07-26

jre_linux_x86.tar.gz

jdk11 的jre

2021-07-26

jre_linux_x64.tar.gz

基于jdk11的jre.

2021-07-26

jdk-8u251-macosx-x64.dmg.zip

jdk-8u251-macosx-x64.dmg.zip

2020-05-18

jdk-8u251-windows-x64.exe.zip

jdk-8u251-windows-x64.exe.zip

2020-05-18

minikube-darwin-amd64

minikube macos 安装包 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \ && chmod +x minikube

2020-04-12

jdk-8u221-linux-x64.tar.gz.zip

jdk8的下载包 linux版本 8u221

2020-04-03

NewInJDK11_12.pptx

关于jdk11和jdk12的一些新特性分享.

2020-02-19

refman-8.0-en.a4.pdf

mysql 8.0 完全操作手册. 最新版更新 字

2019-11-06

Leetcode book刷题必备

这个是leetcode发布的ebook 包含有常见题目的解答以及讲解

2019-02-02

snmpget.exe snmpwalk.exe windows文件

https://syslogwatcher.com/cmd-tools/snmp-get/ 可以从这里下载, 不知道为啥不能免积分

2018-01-29

jol-cli-0.4-full.jar

jol-cli-0.4-full.jar JOL

2016-02-25

openssl-0.9.8g.tar.gz

openssl-0.9.8g.tar.gz

2015-10-17

openjdk 源码下载链接

openjdk7 的源码 百度云下载链接 方便国内用户使用

2015-07-09

算法导论 公开课视频 下载链接

百度网盘里面的下载链接 方便网易公开课不能下载的朋友收藏。

2015-05-01

jdbc mariadb 驱动

jdbc mariadb 驱动 java驱动 欢迎下载

2014-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除