Java基础
JOKER_SAMA
这个作者很懒,什么都没留下…
展开
-
Java泛型 自定义栈Stack
public class LinkedStack<T> { //末端哨兵 private static class Node<U> { Node<U> next; U item; Node() { next = null; item = null;...原创 2018-08-10 10:10:04 · 1066 阅读 · 0 评论 -
自定义连接池 可扩容
自定义实现了一个简单的连接池已实现功能:通过给定的初始大小,初始化固定数量的连接池。 通过maxsize指定最大连接池大小,当初始连接数不够用时,自动扩容,但不超过maxsize。 扩容之后若连接占用减少,连接池自动恢复到初始大小(想到但)未实现功能:线程不安全 获取连接失败无等待时间,直接给出异常。 如果线程池初始大小连接被长期占用,那么该线程池将毫无卵用。packag...原创 2018-08-29 12:20:46 · 985 阅读 · 0 评论 -
SQL语句查询技巧 如何多表查询
tip:聚合函数只能用在select或者having条件之后。用limit取代子查询适用于查询最大,最小值的情况。比如查询Score表中的最高分的学生学号和课程号。可以先查出最高分的的分值然后再条件查询select sno, cnofrom scorewhere degree = (select max(degree) from s...原创 2018-08-29 17:07:55 · 2784 阅读 · 1 评论 -
Hibernate Validator的使用以及自定义
Hibernate Validator的英文官方文档:https://hibernate.org/validator/documentation/Hibernate Validator的作用Hibernate Validator是一个校验框架。我们写项目时经常会校验邮箱,密码之类的数据格式,传统的方法是在service层写校验逻辑,非常繁琐。而且代码重用性低。而使用Hibernate...原创 2018-09-14 11:49:49 · 1146 阅读 · 0 评论 -
异常缺憾 异常丢失
直接通过简单的代码说明。public class LostException { public static void main(String[] args) { try { try { throw new Exception("非常重要的异常!"); }finally { ...原创 2018-08-24 09:13:52 · 257 阅读 · 0 评论 -
Java基础 为什么使用内部类及一些内部类特性
为什么使用内部类每个内部类都能独立的继承自某个接口的实现类,跟外围类是否已经继承了某个接口的实现没有关系。比如:假如你的外围类已经继承了某个接口的实现,并实现了接口中的方法。但你还想在这个类中以另外一种方法实现该接口。那么只能使用内部类去实现这个接口。因为内部类实现的接口跟外围类不相关。假如你想继承两个具体的类或者抽象类,那么只有内部类才能实现多重继承。示例如下:class ...原创 2018-08-17 00:49:35 · 270 阅读 · 0 评论 -
JavaIO 文件夹复制
简单的文件夹的复制,注释中有说明。直接上代码。package com.company.day09;import java.io.*;public class CopyDirectory {// 将target文件复制到file文件夹中去。 public static void createAndCopyFile(File file, File target) throws...原创 2018-08-16 14:42:20 · 689 阅读 · 1 评论 -
多线程 生产者消费者 多生产多消费
制作吐司的一个例子,分为制作, 抹油, 涂果酱三部分,至少使用三个线程执行不同的任务。用的阻塞队列来实现吐司类package com.thread.Demo01;// 吐司public class Toast { // 吐司的三种状态:干燥, 抹油, 果酱 public enum Status {DRY, BUTTERED, JAMMED} privat...原创 2018-08-13 21:29:07 · 222 阅读 · 0 评论 -
多线程 死锁问题
死锁条件死锁发生的充分必要条件,当且仅当以下4个条件均满足时才会发生死锁互斥条件。任务使用的资源中至少有一个是不能共享的 至少有一个任务他必须持有一个资源且正在等待其他任务所持有的资源。 资源不能被任务抢占,任务必须把释放资源当成普通事件。 必须有循环等待。这时,一个任务等待其他任务所持有的资源,后者又在等待另一个任务所持有的资源,这样一直下去,直到有一个任务在等待第一个任务所持有的...原创 2018-08-14 16:41:13 · 190 阅读 · 0 评论 -
理解、学习与使用 JAVA 中的 OPTIONAL
原文链接从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是 Java 实现函数式编程的强劲一步...转载 2018-12-06 10:47:04 · 279 阅读 · 0 评论