Java
文章平均质量分 75
ManbaBryant
这个作者很懒,什么都没留下…
展开
-
Java——Java基础之设计模式篇:责任链模式
文章目录1、需求2、方案一3、方案二:责任链1、需求学校OA系统的采购审批项目:需求是采购员采购教学器材如果金额小于等于5000,由教学主任审批如果金额小于等于10000,由院长审批如果金额小于等于30000,由副校长审批如果金额超过30000以上,有校长审批2、方案一最容易想到的,将需求转变成if else。导致代码强耦合,需要知道不同人审批的金额界限,并且如果审批金额界限发生变化,相关代码也要改变。if (price <= 5000) { 教学主任审批} else if原创 2021-10-26 23:09:25 · 236 阅读 · 0 评论 -
Java——Java基础之设计模式篇:装饰者模式
文章目录1、需求2、方案一3、方案二3、方案三1、需求制作咖啡1、咖啡的单品种类:Espresso(意大利浓咖啡)、 ShortBlack、 LongBlack(美式咖啡)、Decaf(无因咖啡)2、可加的调料:Milk、 Soy(豆浆)、 Chocolate2、方案一枚举所有的咖啡方案,把所有的单品种类咖啡和加各种调料的可能的类都实现一遍。public abstract class coffee { int price; public int cost() {原创 2021-10-26 00:39:04 · 305 阅读 · 0 评论 -
Java——IO流
1. 字节流处理音频、视频、文件等,用字节流1.1 InputStream抽象类public abstract class InputStream implements Closeable { // 读取一个字节数据,并返回读到的数据。如果返回 -1,表示读到了输入流的末尾 public abstract int read() throws IOException; // 将数据读入一个字节数组,同时返回实际读取的字节数。如果返回 -1,表示读到了输入流的末尾 public int原创 2021-05-05 10:20:45 · 94 阅读 · 0 评论 -
Java——Java基础之LinkedHashMap
1. 结构LinkedHashMap相比HashMap增加了双向链表的结构,在第一个节点处维护head,在最后一个插入的节点处维护tail,前后插入的节点间维护before+after2. 原理结构public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{ static class Entry<K,V> extends HashMap.No原创 2020-11-18 16:22:44 · 440 阅读 · 0 评论 -
Java——Java基础之源码阅读
1. Eclipse新建工程解压src.zip,并复制到src\com\cc\source下Window - Preferences - Java - Installed JREs - 选中jdk安装路径 - Duplicate - 复制JRE home - 打开JRE home - 解压src.zip - 将解压后的文件复制到windows:src\com\cc\source下,只保留java、javax、org三个目录,不要直接在ide中复制,否则可能会卡住 - 复制完重新打开JavaSou原创 2020-11-18 10:18:53 · 226 阅读 · 0 评论 -
Java——Java基础之ConcurrentHashMap
文章目录size方法 / mappingCount方法size方法 / mappingCount方法最大值是 Integer 类型的最大值,但是 Map 的 size 可能超过 MAX_VALUE, 所以还有一个方法 mappingCount(),JDK 的建议使用 mappingCount() 而不是size()public int size() { long n = sumCount(); return ((n < 0L) ? 0 : (n >原创 2020-09-12 11:17:26 · 136 阅读 · 0 评论 -
Java——Java基础之Queue接口
1. DelayQueue用法在这里插入代码片DelayQueue 实现了 BlockingQueue 接口,DelayQueue 中元素继承了 Delayedpublic class DelayQueue<E extends Delayed> extends AbstractQueue<E> implements BlockingQueue<E> {}...原创 2020-08-29 15:39:15 · 531 阅读 · 0 评论 -
Java——Java基础之ArrayList中元素的删除操作
1. 问题记录public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); for (String str : list){ if (str=="d"){ list.remov原创 2020-08-22 11:55:31 · 359 阅读 · 0 评论 -
Java——Java基础之HashMap详解
文章目录1. 简介2. Java 7中的HashMap2.1 问题1:为什么初始容量是2的幂2.2 问题2:为什么会出现死锁2.3 问题3:存在安全问题,大量链表导致性能退化3. Java 8中的HashMap的优化3.1 问题1:为什么把链表转化为红黑树的阈值是83.2 问题2:put方法、resize方法3.3 问题3:get方法4. 面试问题汇总4.1 问题1:HashMap的实现原理4.2 问题2:HashMap扩容、get、put4.3 问题3:jdk1.7和jdk1.8中HashMap区别4.4原创 2020-07-20 16:08:28 · 829 阅读 · 0 评论 -
Java——Java基础之常用设计模式
文章目录1. 工厂模式2. 策略模式3. 状态模式4. 装饰器模式5. 单例模式6. 观察者模式7. 代理模式1. 工厂模式缺点:扩展性差。产品族扩展非常困难,要增加一个系列的某一产品,既要在抽象的 Creator 里加代码,又要在具体的里面加代码三大工厂模式的代码实现及总结2. 策略模式优点: 1、算法可以自由切换。 2、避免使用多重条件判断。 3、扩展性良好。缺点: 1、策略类会增多。 2、所有策略类都需要对外暴露使用场景:1、如果在一个系统里面有许多类,它们之间的区别仅在原创 2020-07-14 15:09:39 · 416 阅读 · 0 评论 -
Java——Java基础之抽象类和接口
抽象类:强调的是把共同(共有、相同)的属性方法, 抽象出来,统一写在一个地方(他们的实现代码是一样的),方便维护。抽象类表明:面向对象三大特性中的继承特性接口:当多个对象都拥有相同的行为,但是行为的具体实现方式不一样的时候可以用接口抽象。接口表明:面向对象三大特性中的多态特性代码说明...原创 2020-07-14 11:17:56 · 75 阅读 · 0 评论 -
Java——Java基础之set.contains()方法
s=“pwwkew”public static void lengthOfLongestSubstring(String s) { char[] ss=s.toCharArray(); Set<String> set=new HashSet<>(); for(char c:ss){ if(set.contains(c)){ System...原创 2020-05-02 19:47:09 · 1757 阅读 · 0 评论 -
Java——Java基础之位运算
Java基础之位运算文章目录Java基础之位运算前言基础1. 按位与 (&)2. 按位或 (|)3. 按位取反 (~)4.按位异或 (^)5.左移 (<<)6.右移 (>>)参考链接前言基础1. 按位与 (&)规则:两个操作数对应位——同1为1,其余为0技巧1:等价于一个数对 2 ^ n 取模(求余数)a & 0 等价于 a % ...原创 2020-01-03 16:37:06 · 416 阅读 · 0 评论 -
Java——Java基础之i++和++i
Java基础之i++和++ii++先赋值再运算设置一个临时存储变量 temp (需要在内存中多分配一块内存,结束操作后再释放内存) 存储 i 的值,再对 i 执行+1的操作int res = i ++ ; res = i ; 再运算 i = i + 1; res = 1 ;等价于 int temp = i ; i = temp + 1;++i先运算再赋值不需要设置一个...原创 2020-01-02 11:18:58 · 201 阅读 · 0 评论 -
Java——短路效应
Java中的短路效应如果存在逻辑运算符&& 和 ||,要注意是否会出现短路效应&&对于a && b,只有当a和b同时为true时,整个表达式才为true在java中,首先运算表达式a,如果a为true,则继续运算表达式b如果表达式a为false,那么整个表达式也肯定为false,所以表达式b不会被运算||对于a || b,至少有...原创 2019-12-28 15:06:51 · 572 阅读 · 0 评论