
java
文章平均质量分 92
cyjrun
这个作者很懒,什么都没留下…
展开
-
Java基础探索之String
String是Java开发中使用非常频繁的类,本文将对String的源码和设计进行探索。 文章来源:陈同学 Java基础探索之Stringpublic final class String implements java.io.Serializable, Comparable<String>, CharSequence { private final ch...原创 2018-04-09 23:28:15 · 154 阅读 · 0 评论 -
CFCA SSL证书踩坑记
欢迎访问陈同学博客原文本文分享CFCA SSL证书的小坑,简介CFCA SSL后将以一个小例子介绍httpclient使用过程中的证书问题,最后介绍证书问题的处理方式。CFCA SSL简介CFCA 指中国金融认证中心,也是国家级的权威安全认证机构,服务于国内银行、保险、证券等金融企业。官方资料显示:CFCA 是国际CA浏览器联盟组织成员,是国际证书标准的参与者根证书已存在于微软系统...原创 2019-05-19 13:51:36 · 9771 阅读 · 1 评论 -
CS两端TLS版本不适配导致Connection reset问题
欢迎访问陈同学博客原文问题背景近期平台在公司的一个出口IP流量偶尔抖动,在与运营商扯皮无结果后,IT帮忙开了一条新的专线。我们需要把域名在公网的DNS指向新的出口IP。下面是简图:旧:流量经公网IP 126,采用端口映射直接到平台的代理机,然后再转发给后端具体的业务代理。新:流量经公网IP 189,然后经公司统一代理(Proxy A),由代理把流量转发到我们自己的代理上。切换D...原创 2018-10-01 08:36:53 · 4253 阅读 · 0 评论 -
jstack是如何获取threaddump的?
欢迎访问陈同学博客原文JDK提供了许多命令行工具用于监视JVM,让我们可以了解其异常堆栈、GC日志、threaddump、heapdump等信息。一时好奇,想看看jstack是如何实现的?jstack使用小例子先以一个小场景简单示范下 jstack 的使用。场景:Java应用持续占用很高CPU,需要排查一下。模拟:造个场景简单模拟下,没什么实际意义,仅作演示。我启动了1...原创 2018-08-07 00:00:12 · 3430 阅读 · 1 评论 -
使用jasypt加密Spring Boot应用中的敏感配置
欢迎访问 陈同学博客原文 jasypt-spring-boot on github本文讲述了在Spring Boot/Spring Cloud应用中使用jasypt来加密properties。jasypt 简介详细信息直接看github文档即可,这里仅简单罗列一丢丢信息。Jasypt为Spring Boot应用提供property sources的加密支持,可以加...原创 2018-07-15 13:52:00 · 4362 阅读 · 1 评论 -
Java基础之你会在foreach遍历集合时进行remove操作吗?
欢迎访问陈同学博客原文当通过for循环遍历集合时,一般禁止操作(add or remove)集合元素。虽然开发规范里写的非常清楚,但最近还是有人掉坑里导致出了一个小BUG,那我们就一起看看这么做到底会发生什么?小例子代码示例List<String> list = new ArrayList<>();list.add("e1");list....原创 2018-07-20 00:31:16 · 18193 阅读 · 0 评论 -
异常处理的反模式
欢迎访问 陈同学博客原文 Exception-Handling Antipatterns Blog from Oracle Community Exception management antipatterns from Java Peanuts 《反模式-危机中软件、架构和项目的重构》by 宋锐 等译异常设计实践 中有位读者评论:又记录日志又抛异常反模式设计。其实我...原创 2018-07-07 11:36:16 · 491 阅读 · 0 评论 -
Java内存模型
原文:Java Memory Model by Jakob Jenkov on 2014-12-18 翻译:陈同学, 注:原文撰写于14年,部分小知识点描述已不准确。Java内存模型(简称JMM)指定了JVM如何利用计算机内存(RAM)进行工作。JMM与整个计算机的模型类似,这个模型自然也包含内存模型,即Java内存模型(AKA)。如果你想设计出良好的并发程序,理解JMM十分...翻译 2018-07-25 00:03:11 · 165 阅读 · 0 评论 -
Java应用性能优化之道
原文:The Principles of Java Application Performance Tuning BY Se Hoon Park ON 06/30/2017 翻译:陈同学本文是 成为Java GC专家 系列的第五篇。第一篇 理解 Java GC 中我们学习了不同GC算法的处理过程,GC是如何工作的,什么是年轻代和老年代,JDK7中的5种GC类型,以及每种GC类...翻译 2018-07-17 23:54:57 · 774 阅读 · 0 评论 -
如何优化Java GC
欢迎访问 陈同学博客原文 原文:How to Tune Java Garbage Collection by Sangmin Lee ON 06/02/2017 翻译:陈同学 参考:JVM 调优 — GC 长时间停顿问题及解决方法本文是 成为Java GC专家 系列的第三篇。在第一篇 理解 Java GC 中我们学习了不同GC算法的处理过程,GC是如何工作的,什么是...翻译 2018-07-08 11:19:06 · 4305 阅读 · 0 评论 -
JVM 栈和栈帧
tag: jvm,stack,stack frame,栈,栈帧 原文:JVM Stacks and Stack Frames 翻译:陈同学 欢迎访问陈同学博客原文,文章可读性更佳前情提要对于没有深度递归的函数来说,无需担心上篇文章中的算法。当知道正在处理数据集有限时,我会使用这种简单的基本递归形式。由于你并不知道在应用程序中会处理多少数据,因此确保你的递归...原创 2018-05-19 23:37:05 · 5239 阅读 · 3 评论 -
异常设计实践
文章来源:陈同学 | 异常设计实践前段时间结合SpringCloud网关处理异常写了篇 异常处理实践,侧重于异常的处理。作为强迫症患者,本次撰写下如何进行异常设计并提供具体的代码。如何设计异常结构?异常结构取决于其应用场景,与其关联的角色有:用户、运营人员、技术人员.用户:需对用户操作进行直接反馈,异常消息需要非常友好运营人员:需立即知晓哪位客户、什么时候、在做什么操作...原创 2018-05-05 17:49:33 · 629 阅读 · 0 评论 -
Procedure Call and Stack
文章来源:陈同学 | Procedure Call and Stack文章简介最近查资料时,偶然在youtobe看到了华盛顿大学自然科学与工程一位老师 关于 Procedure & Stacks 的课程,深入讲解了基于Stack的过程调用,展示了应用级别和寄存器级别的处理过程,演示非常形象,受益良多。以下是课程重点及视频链接,可以自行翻墙观看。1-Stacks2-P...原创 2018-05-18 12:14:29 · 393 阅读 · 0 评论 -
Arthas 可视化被 CGLIB 动态代理后的新类
欢迎访问陈同学博客原文有小伙伴问:“Spring 中被 CGLIB 动态代理后的新类究竟是什么样子?能不能反编译出来看看?”。确实,亲眼看看被动态代理后的新类有助于理解知识。本篇就借助于阿里 Arthas 反编译内存中 class 来做个简单演示。Demo下面是写在 Spring Boot 应用中的一个 Controller,beans 接口返回所有bean,hello() 方法被 ...原创 2019-08-04 09:20:57 · 2331 阅读 · 0 评论