java基础
文章平均质量分 50
DegenerateAng
这个作者很懒,什么都没留下…
展开
-
DelayQueue 阻塞队列
DelayQueue 阻塞队列,不使用第三方实现过期订阅功能原创 2022-06-07 09:48:58 · 475 阅读 · 1 评论 -
Java线程池以及常用方法
1. newFixedThreadPool(int nThreads)创建一个固定长度的线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这时线程规模将不再变化,当线程发生未预期的错误而结束时,线程池会补充一个新的线程。2. newCachedThreadPool()创建一个可缓存的线程池,如果线程池的规模超过了处理需求,将自动回收空闲线程,而当需求增加时,则可以自动添加新线程,线程池的规模不存在任何限制。3. newSingleThreadExecutor()这是一个.原创 2020-09-18 15:34:59 · 228 阅读 · 0 评论 -
Java中StringBuffer、StringBuilder和String(+)区别
Java中,有很多功能都差不多相同的函数,而这里说我要在这里说StringBuffer、StringBuilder和String这三个函数就是功能差不多,但是还是有所不同的,毕竟如果都一样或者说某个函数的所有功能性都碾压其他函数,那其他函数就没有存在的必要了,所以说每个函数都是有其存在的必要,存在即合理;String 类对象不可变,一旦修改 String的值就是隐形的重建了一个...原创 2019-04-25 20:48:04 · 235 阅读 · 0 评论 -
java 文件上传
我这里使用的commons-io-2.6.jar 和commons-fileupload-1.4.jar 这两个包;文件上传分成几个步骤,下面就说一下这些步骤:第一步:判断上传存储的文件夹是否存在; 先获取当前项目的路径,判断该目录的指定文件夹是否存在,如果不存在则创建一个文件夹;上传的文件尽量放在WEB-INF目录下,因为用户无法在网页上获取到该文件夹的内容...原创 2019-06-27 20:48:25 · 87 阅读 · 0 评论 -
Java 文件下载
这里我说的文件下载是根据文件名称和文件路径进行下载,就是单个文件下载,下面就直接进入正题:第一步:根据文件名称和路径判断文件是否存在; 如果文件名称不存在就直接输出message;获取的文件路径是你上传的文件位置,文件一般是放在/WEB-INF 目录下面,因为这个目录简单来说是用户无法获取和调用到文件夹,具体就自己去了解。第二步:设置响应...原创 2019-06-27 20:50:45 · 131 阅读 · 0 评论 -
ensureCapacity对低层数组进行扩容,加快数组的添加数据
两者添加的过程:普通添加:数组一边添加数据一边进行数组的扩容;ensureCapacity添加:一开始就给数组进行扩容,之后直接添加数据无需再进行扩容;-----普通数组添加数据public static void main(String[] args) { final int N=100000000; Object obj=new Object(...原创 2019-07-06 11:29:23 · 294 阅读 · 0 评论 -
Java 通过反射方式生成数据库实体类
我这里使用的数据库是mysql,我需要在java项目中创建数据库所有表的实体类;下面我就说一下实现过程:生成数据库实体类步骤:* 1、创建数据库连接* 2、获取数据库表* 3、构建StringBuffer缓存* 4、获取数据库表中字段名、字段类型、字段注释* 5、写入文件* 6、关闭连接、输入流等等创建连接路径:private ...原创 2019-07-07 14:54:14 · 1634 阅读 · 0 评论 -
java 身份证验证
import java.util.Calendar;import java.util.GregorianCalendar;import java.util.HashMap;import java.util.Map;public class IDCardUtil { public static void main(String[] args) { System...转载 2019-07-25 10:40:54 · 123 阅读 · 0 评论 -
java 多种循环遍历集合方法
学到的遍历数组方式有点多下面就总结几种遍历数组的方式,如:for循环遍历; foreach遍历; Iterator 迭代器while 遍历; Iterator迭代器for遍历;下面用这四种遍历来遍历一个list集合:创建一个list 集合,如:第一种:for循环遍历;一个用for ,一个while,但两者都差不多,典型就是换汤不换药那种;第二种:foreac...原创 2019-07-25 10:44:47 · 867 阅读 · 0 评论 -
静态内部类实现单例(单号生成)
单例适用场景:1. 需要生成唯一序列的环境2. 需要频繁实例化然后销毁的对象。3. 创建对象时耗时过多或者耗资源过多,但又经常用到的对象。4. 方便资源相互通信的环境下面就了解一下静态内部类模式: 通过静态内部类实现单例的实现单号的生成,实际就是把类似把对象私有化(私有化构造器),让别人无法调用它的对象,只能通过调用 getInstance 静态方法返回该类对象...原创 2019-07-24 21:03:20 · 309 阅读 · 0 评论 -
Java 日志文件生成和log4j.properties的配置
日志这个功能在线上的Web项目中是必要的,平常我在开发的时候可以在我们的控制台看到异常和输出的信息,但在线上的项目抛异常的时候我们不可能像我们平常开发那样打开控制器看是问题了,因为当项目发布到 tomcat 后,没有控制台(在命令行界面能看见.), 不容易观察一些输出结果,日志就解决了这个问题,它可以把异常输出到文件中,便于观察结果,让开发人员及时了解情况,解决问题; 下面就了...原创 2019-07-17 16:08:06 · 984 阅读 · 0 评论 -
HashMap的使用和了解
基于的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同,Hashtable因效率问题已经不提倡使用,所以现在都是使用HashMap比较多);存储特性:hashMap不保证映射的顺序,特别是它不保证该顺序恒久不变,即元素的排列顺序不是固定的;Has...原创 2019-08-17 21:29:47 · 126 阅读 · 0 评论 -
TreeMap的使用和了解
TreeMap 基于红黑树实现,该映射根据键值(key-value集合)的自然顺序进行排序(默认排序),默认是按升序排序;TreeMap是Map接口的集合类,也具备了Map接口的特点:存储数据都是以键值对的形式存在,键不可重复,值可以重复;它实现了Serializable接口,意味着它可以被系列化; 它由于TreeMap是有序的,也支持Comparable和Comparator两种排序方...原创 2019-08-17 21:23:14 · 779 阅读 · 0 评论