06 2019 档案

摘要:HashMap源码阅读笔记 本文在此博客的内容上进行了部分修改,旨在加深笔者对HashMap的理解,暂不讨论红黑树相关逻辑 概述 HashMap作为经常使用到的类,大多时候都是只知道大概原理,比如底层是由数组+链表+红黑树实现,使用HashMap存储自定义类时需要重写其hashCode和equals 阅读全文
posted @ 2019-06-30 21:02 code-blog 阅读(166) 评论(0) 推荐(0) 编辑
摘要:Java设计模式之享元模式 在说享元模式之前来先看一道题: public static void main(String[] args) { Integer i1 = new Integer(50); Integer i2 = new Integer(50); System.out.println( 阅读全文
posted @ 2019-06-28 20:36 code-blog 阅读(3451) 评论(1) 推荐(2) 编辑
摘要:CURD、约束、事务 相关 增查删改(CURD) 数据库连接: MySQL本地数据库:mysql -u userName -ppassWord MySQL远程数据库:mysql -h IP_Address -p 3306(port,默认3306) -u userName -ppassWord -p后 阅读全文
posted @ 2019-06-27 20:25 code-blog 阅读(308) 评论(0) 推荐(0) 编辑
摘要:Java查漏补缺(3) 继承·抽象类·接口·静态·权限 相关 this与super关键字 this的作用: 调用成员变量(可以用来区分局部变量和成员变量) 调用本类其他成员方法 调用构造方法(需要在方法第一行) 举个栗子: public class Father { String name; pub 阅读全文
posted @ 2019-06-26 21:35 code-blog 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Java中String类为什么被设计为final 首先,String是引用类型,也就是每个字符串都是一个String实例。通过源码可以看到String底层维护了一个byte数组:private final byte[] value;(JDK9中为byte数组,并非网上所说的char数组)。虽然该数组 阅读全文
posted @ 2019-06-25 20:03 code-blog 阅读(3843) 评论(0) 推荐(0) 编辑
摘要:单例模式 单例模式是23中设计模式中比较简单的一种,其核心思想是一个类只有一个实例,该类自己创建这一唯一实例并提供该实例的全局访问方法。 单例模式的应用场景 在说单例模式之前,来想象几个场景: 在我们的windows桌面上,我们打开了一个回收站,当我们试图再次打开一个新的回收站时,Windows系统 阅读全文
posted @ 2019-06-24 15:50 code-blog 阅读(217) 评论(0) 推荐(0) 编辑
摘要:当我们new一个GirlFriend时,我们都做了什么? 一个例子搞懂Java程序运行顺序 public class Girl { Person person = new Person("Girl"); /*构造代码块忘记加了,不过构造代码块和成员变量一样,每次构造方法时都会执行一次 { Syste 阅读全文
posted @ 2019-06-22 17:31 code-blog 阅读(714) 评论(0) 推荐(0) 编辑
摘要:LeetCode之动态规划 时间有限只做了下面这几道:70、338、877、96、120、95、647,后续会继续更新 70:爬楼梯 先来道简单的练练手,一道经典的动态规划题目 可以采用动态规划的备忘录法,第n节楼梯的数目等于第n-1节和n-2节的和,因为第n节一定由n-1或n-2上去的。可以不使用 阅读全文
posted @ 2019-06-21 21:33 code-blog 阅读(1578) 评论(2) 推荐(1) 编辑
摘要:Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽象基类 字节流:InputStream,OutputStream. 输出流方法:close(), f 阅读全文
posted @ 2019-06-17 10:53 code-blog 阅读(266) 评论(0) 推荐(0) 编辑
摘要:常用函数式接口与Stream API简单讲解 Stream简直不要太好使啊!!! 常用函数式接口 Supplier<T>,主要方法:T get(),这是一个生产者,可以提供一个T对象。 Consumer<T>,主要方法:void accept(T),这是一个消费者,默认方法:andthen(),稍后 阅读全文
posted @ 2019-06-14 11:59 code-blog 阅读(2322) 评论(0) 推荐(0) 编辑
摘要:记一次主线程等待子线程结束的多种方法的学习 在学习多线程时,最开始遇到的问题其实是“计算子线程运行时间”,写到最后发现本文和标题更为符合,但是仍然基于问题:“在主线程中获取子线程的运行时间”。 while循环 对于“主线程如何获取子线程总运行时间”的问题,最开始想到的是使用while循环进行轮询: 阅读全文
posted @ 2019-06-10 19:12 code-blog 阅读(73533) 评论(13) 推荐(12) 编辑
摘要:Java基础之多线程 记一次失败的学习方式 线程的三中创建方式,先上代码: /* 创建新线程的三种方式: 1、继承Thread类; 2、实现Runable接口; 3、实现Callable接口; 需求:创建多线程对象,开启多线程。在子线程中输出1-100之间的偶数,主线程输出1-100之间的奇数。 * 阅读全文
posted @ 2019-06-08 21:10 code-blog 阅读(279) 评论(0) 推荐(0) 编辑
摘要:Java基础查漏补缺(2) apache和spring都提供了BeanUtils的深度拷贝工具包 +=具有隐形的强制转换 object类的equals()方法容易抛出空指针异常 String a=null; /*使用a.equals(b)抛出异常 优化方法1,若b为常量,即a.equals("tes 阅读全文
posted @ 2019-06-08 21:10 code-blog 阅读(327) 评论(0) 推荐(0) 编辑
摘要:LeetCode1-9 本文更多是作为一个习题笔记,没有太多讲解 1、两数之和 题目请点击链接 ↑ 最先想到暴力解法,直接双循环,但是这样复杂度为n平方 public int[] twoSum(int[] nums, int target) { for (int i = nums.length - 阅读全文
posted @ 2019-06-04 10:53 code-blog 阅读(309) 评论(0) 推荐(0) 编辑
摘要:Java基础查漏补缺 String str2 = "hello"; String str3 = "hello"; System.out.println(str3==str2);//true Java运行时会维护一个String Pool(String池)。String池用来存放运行时中产生的各种字符 阅读全文
posted @ 2019-06-04 10:53 code-blog 阅读(177) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起