Java
文章平均质量分 52
acyb大麦
人生的意义在于人的创造,做一事便添一事的意义
展开
-
java应用程序多级缓存架构
java应用程序多级缓存架构原创 2023-01-11 11:20:53 · 473 阅读 · 0 评论 -
优化java枚举类在数据库持久化、前后端交互时的序列化使用方式
优化java枚举类在数据库持久化、前后端交互时的序列化使用方式原创 2022-12-19 18:51:05 · 1002 阅读 · 0 评论 -
SpringBoot简要梳理
Component体系原创 2022-02-21 14:05:09 · 303 阅读 · 0 评论 -
JVM简要梳理
整体流程class生命周期装载:全盘负责:当前类及其所依赖、引用的类一并加载父类委托:双亲委派。loadClass()–findClass()–loadClassData()–defineClass(),自定义的话就覆写findClass()缓存机制:优先从缓存取,缓存没有再加载解析验证:文件格式验证语法验证准备:static静态变量初始化零值final常量初始化赋值解析:符号引用转换为直接引用符号引用包括:类、接口的全限定名,字段名称及描述符,方法名称及描述符初始化:原创 2022-01-28 17:32:37 · 538 阅读 · 0 评论 -
ConcurrentHashMap简要梳理
原创 2022-01-12 20:20:44 · 119 阅读 · 0 评论 -
关于日志使用的思考
背景:近期工作主要以测试解析程序生成的前端代码,并排查修复相关问题为主,在解决问题的过程中时常需要输出日志来辅助判断,因此思考总结了日志如何正确使用等问题,延申学习了日志框架相关的设计模式——门面模式。内容:为什么需要输出日志?日志的主要目的是为了监测系统状态、方便测试、方便排查问题。当测试时遇到和预计不符的情况,看日志是解决问题的最常用手段。很多监控系统都是通过监控日志来预警,很多线上问题通过日志来排查,很多测试人员依靠日志来辅助测试。应该在哪些位置输出日志、输出哪些信息?1.用切面或Filt原创 2021-11-28 00:22:02 · 300 阅读 · 0 评论 -
如何解决代码中条件语句多层嵌套问题
背景:审视近期解析程序开发代码,发现有部分if条件语句的多层嵌套,嵌套层次达到三层及以上时,这样的代码在维护时不够方便,遂思考如何解决这个问题,下面给出学习思考的几种解决方案。内容:1.使用卫语句卫语句核心思想是将分支条件单独检查,并在检查结果为真时立即返回。从实际代码中感受卫语句(右侧图)的效果:总结两点卫语句使用要点:对于复杂的判断逻辑,选择使用卫语句时,建议加上注释。要特别注重卫语句的先后顺序,当条件非常复杂时,要特别注意卫语句的中断是否符合期望的逻辑。2.使用状态模式状态模式的原创 2021-11-16 18:01:16 · 1529 阅读 · 0 评论 -
Java异常处理中一些隐蔽问题的分析总结
背景:不论是在近期的程序开发工作中,还是在过往的开发经历中,java异常处理的代码总是能经常遇到,有些异常处理的不太合适,会引起业务上不好的体验、bug,下面将总结几个问题场景以及对应解决思路。内容:1.当捕获到一个异常时,要不要吃掉、吞掉异常?所谓吞掉异常,是指处理后不再将异常上抛,比如捕获异常后打印日志、发通知后不再上抛;捕获异常后返回null值给上层等。要不要吞掉异常?这需要看异常的类型、是否涉及事务、当前具体的需求场景等情况。1.1我们查看spring事务部分的源码:可以看到,如果设原创 2021-11-08 18:50:07 · 336 阅读 · 0 评论 -
关于java分层领域模型与属性映射的思考
背景:在近期的解析程序开发工作中,常常需要定义DTO对象,比如与服务端解析程序协作时定义了QueryDto、SubmitDto,再联系接口开发工作中常常使用的VO对象,比如DBizDictVO、DBizActivityVO,因此对相关的领域模型进行了学习总结。内容:参考业界的一些规约,梳理了以下几种领域模型:DO (Data Object): 数据对象,它与数据库表字段一一对应,通过DAO层向上传输数据源对象。DTO (Data Transfer Object): 数据传输对象,它是Service原创 2021-11-02 18:17:25 · 315 阅读 · 0 评论 -
使用Java实现基于SFTP协议的文件上传下载
分享一个基于第三方jar包(jsch)实现的基于SFTP协议进行文件上传下载的工具类需要注意的是:不同jsch版本默认使用的算法不一样。可以在服务器配置文件(/etc/ssh/sshd_config)根据openssh的版本决定是否需要配置支持此算法。import java.io.Closeable;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import ja原创 2021-06-17 17:49:18 · 357 阅读 · 0 评论 -
Java Bean与Xml转换
基于Jaxb实现Java Bean与Xml转换Jdk自带,不需要依赖第三方jar,工具类代码如下:package utils;import entity.Book;import entity.Role;import entity.Student;import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBException;import javax.xml.bind.Marshaller;import javax.xml.原创 2021-06-17 18:00:57 · 324 阅读 · 0 评论