技术分享 -- 153




200x200


概述maven 是一个常用的 java 跨平台项目管理工具,主要工作是项目构建、依赖管理和项目信息管理除了编写源代码,我们每天有相当一部分时间花在了编译、运行单元测试、生

#技术帖    #龙潭书斋    #技术分享    #java   

200x200


概述上一篇日志中,我们简要介绍了 java 类的加载、初始化流程和三种类加载器java 类加载过程及类加载器本篇日志中,我们就来介绍一下 java 类加载器的工

#技术帖    #技术分享    #java    #classloader   

200x200


概述在上一篇日志中,我们通过一个实际的例子分析了 java 程序的初始化过程和类加载顺序java 程序初始化过程 本篇日志中,我们来详细的了解一下 java&n

#技术帖    #龙潭书斋    #技术分享    #class   

200x200


概述上一篇日志中,我们介绍了哪些场景会引起 java 的内存泄露Java 常见内存泄露的原因及解决然而,很多情况下,内存泄露、内存不足、CPU占用过高等问题都很容易被重启服务器、增

#技术帖    #技术分享    #java    #内存泄露   

200x200


概述此前的日志中,我们讲解了 java 的内存划分和垃圾回收机制java 内存划分HotSpot 提供的垃圾收集器 java 语言的一个重要的特性就是垃圾收集器

#龙潭书斋    #技术分享    #内存    #memory   
概述上一篇日志中,我们介绍了 Retryer 类,及可以用来方便的创建 Retryer 的强大工具类 RetryerBuilderguava 重试工具库 -- RetryerRetryer 创建工具 -- RetryerBuilder 本篇日志中,我们通过面向切面结合 guava 的这个强大的工具类,来实现只需要添加一行注解即可的自动重试机制 注解我们的注解旨在通过简单的参数配置常用的重试策略:@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface TechlogRetryer { long waitMsec() default 0; Class[] retryThrowable() default {}; long maxDelayMsec() default 0; int maxAttempt() default 0; }  切面我们以上面的注解为切点构造一个切面,实现对方法的自动处理@Aspect @Service public class TechlogRetryerAspect { private static final Logger LO
#技术帖    #技术分享    #spring    #aop   

200x200


概述刚刚接触 java 的同学通常会被 java 百花齐放的日志体系搞晕,错综复杂的日志框架包之间总是发生冲突,令人抓狂本篇日志就从历史上各个版本的 

#技术帖    #技术分享    #log    #java   

200x200


概述在此前的博客中,我们介绍了代理模式代理模式 -- Proxyjava 提供了动态代理机制以巧妙的方式实现了代理模式的设计理念,最为常用的 AOP 就是基于动态代理实现

#技术帖    #技术分享    #java    #jdk   
概述作为 java 开发者,创建对象是一件最常见的事,那么,除了使用 new 来创建对象,你知道还有哪些创建对象的方式吗?怎样通过一个 Class 对象获得他的实例呢?本节我们就来介绍一下 java 对象创建的五种方式 使用 new 关键字MyObject myObj = new MyObject();  这是最简单也是最常见的对象创建方式,他是通过调用调用指定构造方法进行对象的创建的,可以调用任何构造方法 使用 Class 类的 newInstance 方法很多情况下,我们需要通过已有的 Class 对象创建对应的实例,这在代理、反射等情况下非常常见Class 对象拥有 newInstance 方法,他等同于调用对应类的无参构造方法创建对象,因此这种方式最大的局限也在于被实例化的类必须具有无参构造方法,当然这样做的一个好处是,我们可以调用类的无参 private 构造方法创建对象,这是用 new 关键字无法做到的 使用 java.lang.reflect.Constructor 类的&
#技术帖    #技术分享    #class    #java   
概述上一篇日志中,我们介绍了单例模式的概念和基础的应用单例模式 -- Singleton本节中,我们就来介绍一下 java 语言中如何编写单例模式类 只适合单线程环境的单例模式public class Singleton { private static Singleton instance = null; private Singleton() { } public static Singleton getInstance(){ if (instance == null) { instance = new Singleton(); } return instance; } }  这是单例模式的最简单实现,private 的构造方法保证了类不会被通过 new 的方式创建,同时,判断 instance 是否为 null 保证了单线程环境下单例模式运行的正确性但是,正如我们反复强调的,这种方式是非线程安全的,原因在于,当多个线程并发执行,同时进行判断 instance 为 null 的操作,而此时 instance&
#技术帖    #技术分享    #java    #singleton   



京ICP备15018585号