编程语言 Java 面向对象知识点梳理 一个 .java 文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。 如果不确定是否需要public,就不声明为public,即尽可能少地暴露对外的字段和方法。 创建新对象时,优先选用静态工厂方法而不是new操作符。 定义为public的class、interface,可以被当前包,其他包的任何类访问。 yuziyue 27 Jul 2023 · 20 min read
编程语言 Java之HashMap原理与实战 一. HashMap的原理 HashMap 由 数组+链表的方式实现,一个 HashMap 对象主要维护了如下对象: 数组table:数组的元素是一个链表,相同索引的数据存在同一个链表里面 数据量size:已存入的 kv 对数量 数组 table 初始化容量:数组的元素个数 扩容因子:当数组达到一定的阈值后进行扩容 yuziyue 13 Jul 2023 · 4 min read
编程语言 Java单例模式完整示例 // 创建 SingletonObject 对象 private static final SingletonObject instance = new SingletonObject(); // 让构造函数为 private,这样该类就不会被实例化 private SingletonObject() { name = "beijing university"; location = "beijing"; } yuziyue 12 Jul 2023 · 1 min read
编程语言 Java发送邮件完整示例 或者在官网下载 jar 包 https://javaee.github.io/javamail/ Properties properties = System.getProperties(); properties.put("mail.smtp.host", host); properties.put("mail.smtp.port", "465"); properties.put("mail.smtp.ssl.enable", "true"); properties.put("mail.smtp.auth", "true"); yuziyue 11 Jul 2023 · 2 min read
编程语言 Java调用并执行外部Linux命令 一. pom依赖 commons-exec,// 接收正常结果流 ByteArrayOutputStream susStream = new ByteArrayOutputStream(); 四. 特殊情况 当执行的命令有参数时,构建 commandLine 要特殊处理,比如命令 impala-shell -q "REFRESH db.table",这种命令必须使用下面的方式创建。 yuziyue 11 Jul 2023 · 2 min read