摘要:
/** * 线程通信的应用:经典例题:生产者/消费者问题 * * 生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品, * 店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员 * 会叫生产者停一下,如果店中有空位放产品 阅读全文
摘要:
理解、学习与使用 JAVA 中的 OPTIONAL 从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。 本质上,这是一个包含有可选值的包 阅读全文
摘要:
JVM内存解析 线程:虚拟机栈 和 程序计数器 每个线程各自有一套(独立) 进程:堆 和 方法区 是一个进程一份( 共享方法区和堆 ) 一个进程中的多个线程共享相同的内存单元/内存地址空间它们从同一堆中分配对象,可以 访问相同的变量和对象。这就使得线程间通信更简便、高效。但多个线程操作共享的系统资 阅读全文
摘要:
/* * 一、异常体系结构 * * java.lang.Throwable * | java.lang.Error:一般不编写针对性的代码进行处理。 * | java.lang.Exception:可以进行异常的处理 * | 编译时异常(checked) * | IOException * | Fi 阅读全文
摘要:
1.是否考虑抽象类: 抽象类是用来模型化那些父类无法确定全部实现,而是由其子类提供具体实现的对象的类。 2.抽象类作为形参时,只能通过多态父类的引用,指向子类对象 传入解决抽象类不能创建对象的问题 为使得方法具有通用性,通常传入父类的对象(抽象) 3.考虑要不要使用以下四肢方式: 非匿名实现类的非匿 阅读全文
摘要:
1.关于代码块的使用 类中包含的是属性 不允许做一些方法的调用等操作 int i; i=5; 这样的写法错误 代码块 可以保证只执行一次 代码块内还可以有执行语句。 实际场景 使用DBCP数据库连接池实现数据库的连接 调用BasicDataSourceFactory的静态方法,获取数据源。2.抽象类 阅读全文
摘要:
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、 以及解决问题的思考方式。设计模免去我们自己再思考和摸索。就像是经典 的棋谱,不同的棋局,我们用不同的棋谱。”套路” 1.单例设计模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对 某个类只能存在一个对象 阅读全文
摘要:
1 重要思想: 升维 时间换空间的思想 链表 —> 跳表(增加多级索引) 跳表查询时间:0 ( logn ) 队列: 阅读全文
摘要:
区分重写和重载 1定义: 方法的重载:在同一个类中,允许存在一个以上的同名方法,只要它们的 参数列表不同即 参数个数不同(包括参数顺序),参数类型不同。构造器可以重载。 方法的重写(override / overwrite):子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作。 2 方法的 阅读全文
摘要:
/* * Eclipse中的快捷键: * 1.补全代码的声明:alt + / * 2.快速修复: ctrl + 1 * 3.批量导包:ctrl + shift + o * 4.使用单行注释:ctrl + / * 5.使用多行注释: ctrl + shift + / * 6.取消多行注释:ctrl + 阅读全文