摘要: 传统的面向对象编程弊端: 同样的add()方法中,可能含有相同的代码,可以抽取出来。变成x()方法 但是一旦x()方法改名,或者逻辑变了需要定义在add之前。。。。后果不堪设想 AOP面向切面编程很好的解决了这一弊端 前置通知:在特定的方法之前通知。 异常通知:在方法发生异常通知 环绕通知:前后都可 阅读全文
posted @ 2020-12-31 17:11 James_Harden 阅读(63) 评论(0) 推荐(0) 编辑
摘要: ArrayList: public class UnSafeList { public static void main(String[] args) { List<String> list = new ArrayList<>(); for (int i = 1; i <= 10; i++) { n 阅读全文
posted @ 2020-12-25 17:22 James_Harden 阅读(114) 评论(0) 推荐(0) 编辑
摘要: null是没有地址 ""是有地址但是里面的内容是空的 就类似于0和不写的区别,是数字,虽然是0。但是不写就代表没有数字 String str = null 定义了一个变量,但是没有指向任何空间 String str = "" 定义了一个变量,指向了一片内存空间,但是这篇内存空间是空串 String 阅读全文
posted @ 2020-12-24 17:14 James_Harden 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 面试必问点,Linux常用命令 下面我将做一下总结,其实不是运维的话,我们能用到的命令就那么几个,还是挺简单的。 常用的命令: 文件相关 cd 文件夹 进入到某个文件夹 cd / 进入到根目录 cd .. 上退一步 ls 列出所有的文件 -l 查看详细信息 -a 查看所有文件(包含隐藏文件) -al 阅读全文
posted @ 2020-12-23 17:21 James_Harden 阅读(65) 评论(0) 推荐(0) 编辑
摘要: //自动装箱 Integer a = 100; //自动拆箱 int b = a; 简而言之: 自动装箱:基本数据类型转换成引用数据类型 自定拆箱:引用数据类型转换成基本数据类型 需要装箱拆箱的数据类型 当执行 Integer a = 100;根据反编译查看,执行这段代码,系统帮我们执行了 Inte 阅读全文
posted @ 2020-12-22 17:29 James_Harden 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 线程池需要学 三大方法 七大参数 四大拒绝策略 三大方法: Executors.newSingleThreadExecutor(); 创建单个线程的线程池 Executors.newFixedThreadPool(int count); 创建指定数量的线程的线程池 Executors.newCach 阅读全文
posted @ 2020-12-18 17:22 James_Harden 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 什么是redis持久化 RDB(redis database) AOF(append only file) redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦断电退出,服务器中的数据也会消失,所以redis提供了持久化功能 RDB 触发的rdb操作都会保存在dump.rdb文件中 阅读全文
posted @ 2020-12-17 17:23 James_Harden 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 编译:把我们写好的java文件,通过javac命令编译成字节码,也就是.class文件 运行:把编译生成的.class文件交给jvm执行 类加载过程:举个通俗点的例子来说,JVM在执行某段代码时,遇到了class A, 然而此时内存中并没有class A的相关信息,于是JVM就会到相应的class文 阅读全文
posted @ 2020-12-15 17:25 James_Harden 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该 阅读全文
posted @ 2020-12-14 17:41 James_Harden 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 当我们写了一段String拼接的代码后 String s = "abc"; String ss = "bcd"+s+"def"+5; System.out.println(ss); 我们通过jad反编译查看 系统帮我们做了优化,创建了一个StringBuilder对象然后进行了append的拼接,但 阅读全文
posted @ 2020-12-11 17:21 James_Harden 阅读(1132) 评论(0) 推荐(0) 编辑