上一页 1 ··· 4 5 6 7 8
摘要: Java中String类为什么被设计为final 首先,String是引用类型,也就是每个字符串都是一个String实例。通过源码可以看到String底层维护了一个byte数组:private final byte[] value;(JDK9中为byte数组,并非网上所说的char数组)。虽然该数组 阅读全文
posted @ 2019-06-25 20:03 code-blog 阅读(3905) 评论(0) 推荐(0)
摘要: 单例模式 单例模式是23中设计模式中比较简单的一种,其核心思想是一个类只有一个实例,该类自己创建这一唯一实例并提供该实例的全局访问方法。 单例模式的应用场景 在说单例模式之前,来想象几个场景: 在我们的windows桌面上,我们打开了一个回收站,当我们试图再次打开一个新的回收站时,Windows系统 阅读全文
posted @ 2019-06-24 15:50 code-blog 阅读(250) 评论(0) 推荐(0)
摘要: 当我们new一个GirlFriend时,我们都做了什么? 一个例子搞懂Java程序运行顺序 public class Girl { Person person = new Person("Girl"); /*构造代码块忘记加了,不过构造代码块和成员变量一样,每次构造方法时都会执行一次 { Syste 阅读全文
posted @ 2019-06-22 17:31 code-blog 阅读(754) 评论(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 阅读(1622) 评论(2) 推荐(1)
摘要: Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽象基类 字节流:InputStream,OutputStream. 输出流方法:close(), f 阅读全文
posted @ 2019-06-17 10:53 code-blog 阅读(288) 评论(0) 推荐(0)
摘要: 常用函数式接口与Stream API简单讲解 Stream简直不要太好使啊!!! 常用函数式接口 Supplier<T>,主要方法:T get(),这是一个生产者,可以提供一个T对象。 Consumer<T>,主要方法:void accept(T),这是一个消费者,默认方法:andthen(),稍后 阅读全文
posted @ 2019-06-14 11:59 code-blog 阅读(2419) 评论(0) 推荐(0)
摘要: 记一次主线程等待子线程结束的多种方法的学习 在学习多线程时,最开始遇到的问题其实是“计算子线程运行时间”,写到最后发现本文和标题更为符合,但是仍然基于问题:“在主线程中获取子线程的运行时间”。 while循环 对于“主线程如何获取子线程总运行时间”的问题,最开始想到的是使用while循环进行轮询: 阅读全文
posted @ 2019-06-10 19:12 code-blog 阅读(73977) 评论(13) 推荐(12)
摘要: Java基础之多线程 记一次失败的学习方式 线程的三中创建方式,先上代码: /* 创建新线程的三种方式: 1、继承Thread类; 2、实现Runable接口; 3、实现Callable接口; 需求:创建多线程对象,开启多线程。在子线程中输出1-100之间的偶数,主线程输出1-100之间的奇数。 * 阅读全文
posted @ 2019-06-08 21:10 code-blog 阅读(322) 评论(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 阅读(353) 评论(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 阅读(336) 评论(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 阅读(224) 评论(0) 推荐(0)
摘要: 数据结构之树(Tree) 笔者本来是准备看JDK HashMap源码的,结果深陷红黑树中不能自拔,特撰此篇以加深对树的理解 定义 首先来看树的定义: 树(Tree)是n(n≥0)个节点的有限集。n = 0 时称为空树。在任意一棵非空树中:1、有且仅有一个特定的节点称为根(Root)的节点。2、当n 阅读全文
posted @ 2019-05-16 17:57 code-blog 阅读(380) 评论(0) 推荐(0)
摘要: ArrayList ArrayList继承自AbstractList抽象类,实现了RandomAccess, Cloneable, java.io.Serializable接口,其中RandomAccess是一个标志接口,代表可以支持快速随机访问,实现该接口的类使用for循环比使用迭代器要快,Lin 阅读全文
posted @ 2019-05-12 16:55 code-blog 阅读(248) 评论(0) 推荐(0)
摘要: LinkedList LinkedList是双向链表,不循环(1.6之前循环),继承AbstractSequentialList类,实现了List, Deque, Cloneable接口。 链表的特点是插入速度快,但不支持随机访问,使用了循环来访问第i个元素,因此速度很慢。 在存储上,数组的每个相邻 阅读全文
posted @ 2019-05-12 08:44 code-blog 阅读(214) 评论(0) 推荐(0)
摘要: 1、流、文件、IO等 1、创建文件前若父文件夹不存在会抛出异常,因此创建文件前通常会创建父目录:file1.getParentFile().mkdirs(); 2、创建的文件夹存在时不会创建新的文件夹覆盖旧的,而是会合并; 3、Double.MAX_VALUE .MAX_VALUE某数字类型的最大值 阅读全文
posted @ 2019-05-10 16:06 code-blog 阅读(195) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8