标签: java

38 篇文章

thumbnail
启动文件夹下 的所有 jar 项目
在启动微服务项目的时候,由于 jar 文件过多,所以需要一套快速启动的命令进行启动。 以下是命令: 放到执行文件夹内 start.sh #!/usr/bin/env bash # 启动一个目录下的所有jar包 function read_dir(){ for file in `ls` do # 当前文件不是一个文件夹 if [[ -f $file …
thumbnail
JVM 性能调优
JVM 调优目标 使用较小的内存占用来获得较高的吞吐量或者较低的延迟。 程序在上线前的测试或运行中有时会出现一些大大小小的JVM问题,比如cpu load过高、请求延迟、tps降低等,甚至出现内存泄漏(每次垃圾收集使用的时间越来越长,垃圾收集频率越来越高,每次垃圾收集清理掉的垃圾数据越来越少)、内存溢出导致系统崩溃,因此需要对JVM进行调优,使得程…
thumbnail
自己设计缓存,主要注意的点
数据结构 首要考虑的就是数据该如何存储,用什么数据结构存储,最简单的就直接用Map来存储数据;或者复杂的如redis一样提供了多种数据类型哈希,列表,集合,有序集合等,底层使用了双端链表,压缩列表,集合,跳跃表等数据结构; 对象上限 因为是本地缓存,内存有上限,所以一般都会指定缓存对象的数量比如1024,当达到某个上限后需要有某种策略去删除多余的数…
thumbnail
Spring中都用到了哪些设计模式
工厂设计模式 : Spring使用工厂模式通过 BeanFactory、ApplicationContext 创建 bean 对象。 代理设计模式 : Spring AOP 功能的实现。 单例设计模式 : Spring 中的 Bean 默认都是单例的。 模板方法模式 : Spring 中 jdbcTemplate、hibernateTemplate…
thumbnail
Spring BeanFactory 和 FactoryBean 的区别
BeanFactory 是一个接口,public interface BeanFactory,提供如下方法: Object getBean(String name) <T> T getBean(String name, Class<T> requiredType) <T> T getBean(Class<T…
thumbnail
lombok的@Accessors注解3个属性说明
Accessors翻译是存取器。通过该注解可以控制getter和setter方法的形式。 @Accessors(fluent = true) $\color{red}{使用fluent属性,getter和setter方法的方法名都是属性名,且setter方法返回当前对象}$ @Data @Accessors(fluent = true) class…
thumbnail
主线程等待子线程的几种实现方式
问题 多线程编程里面一个常见的问题:“如何让主线程在全部子线程执行完毕后再继续执行?” 方案 方法一:主线程sleep 主线程等待子线程执行完最简单的方式当然是在主线程中Sleep一段时间,这种方式最简单,我们先看下实现 private static class MyThread extends Thread { @Override public …