总结
文章平均质量分 60
未来灬可期
不忘初心,方得始终.
展开
-
HashMap的负载因子为何默认是0.75
一、负载因子的作用HashMap负载因子,与扩容机制有关;即若当前容器的容量,达到设定最大值,就需要要执行扩容操作。举个例子:当前的容器容量是16,负载因子是0.75;16*0.75=12,也就是说,当容量达到了12的时就会执行扩容操作。作用很简单,相当于是一个扩容机制的阈值。当超过了这个阈值,就会触发扩容机制。HashMap源码已经为我们默认指定了负载因子是0.75。截取部分源码,从这里可以看出,系统默认的负载因子值就是0.75,而且我们还可以在构造方法中去指定。下面我们就正式来分析一下为什么是默转载 2022-04-27 09:50:15 · 506 阅读 · 0 评论 -
Spring AOP 中@Pointcut的用法
格式:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)throws-pattern?) 括号中各个pattern分别表示:修饰符匹配(modifier-pattern?)返回值匹配(ret-type-pattern)可以为*表示任何返回值,全路径的类名等类路径匹配(declaring-type-pattern?)方法名匹配(name-pattern原创 2022-04-27 09:31:25 · 468 阅读 · 0 评论 -
List 去重的 6 种方法
方法1:contains判断去重(有序)public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>() {{ add(1); add(3); add(5); add(2); add(1); add(3);原创 2022-03-21 15:15:53 · 6774 阅读 · 0 评论 -
toString()、String.valueOf、(String)强转,有啥区别?
一、基本类型(1)基本类型没有**toString()**方法推荐使用 String.valueof()(2)无法强转(String)(String)是标准的类型转换,将Object类型转为String类型,使用(String)强转时,最好使用instanceof做一个类型检查,以判断是否可以进行强转,否则容易抛出ClassCastException异常。需要注意的是编写的时候,编译器并不会提示有语法错误,所以这个方法要谨慎的使用。二、封装类型可以使用 toString三、总结1、to原创 2022-03-14 11:18:51 · 110 阅读 · 0 评论 -
java并发编程-线程池 ThreadPoolExecutor参数详解
ThreadPoolExecutor主要参数public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue workQueue,ThreadFactory threadFactory,RejectedExecutionHandler handler)1、int corePoolSize 核心线程数2、int maximumPoolSiz原创 2022-02-16 22:33:17 · 721 阅读 · 0 评论 -
MongoDB数据库
-基本概念数据库 (database)集合 (conllection)文档 (document) - 在mongoDB中,数据库和集合都不需要手动创建, 当我们创建文档时,如果文档所在的集合或数据库不存在会手动创建数 据库和集合-基本指令:show dbsshow databases-显示当前的所有数据库use 数据库名-进入到指定的数据库中db -db表示的是当前所处的数据库show collections-显示数据库中所有的集合-数据库的CRUD(增原创 2021-09-13 22:56:03 · 151 阅读 · 0 评论 -
解析xml文件
解析xml文件的方法:DOM、(DOM4J、SAX用的多)## 1.DOM4J常用的对象: SAXReader:读取xml文件到Document树结构文件对象 Document:是一个xml文档对象树,类比Html文档对象 Element:元素节点。通过Document对象可以查找单个元素2.DOM4J解析步骤:## 标题 1.创建解析器 SAXReader reader = new SAXReader(); 2.Document对象:通过解析器read方法获取 document d原创 2021-06-21 22:37:37 · 357 阅读 · 0 评论 -
日期的处理
jdk8中 LocalDateTime 的使用时间初始化//获取当前时间 LocalDateTime nowTime= LocalDateTime.now(); System.out.println("现在时间"+nowTime); //自定义时间 of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond) Local原创 2021-05-11 12:26:54 · 417 阅读 · 0 评论 -
Clickhouse 时间日期函数
Clickhouse 时间日期函数Clickhouse 时间日期函数 注:所有的时间日期函数都可以在第二个可选参数中接受时区参数。示例:Asia / Yekaterinburg。在这种情况下,它们使用指定的时区而不是本地(默认)时区。 SELECT toDateTime('2016-06-15 23:00:00') AS time, toDate(time) AS date_local, toDate(time, 'Asia/Yekate原创 2021-05-11 10:50:56 · 4345 阅读 · 0 评论 -
JAVA中关于获取时间(日期)的总结大全
转载:https://blog.csdn.net/weixin_37539378/article/details/78889992Java中获取时间(日期)的总结大全在开发过程中,少不了与时间打交道,比如根据两个日期得出相差的时分秒,时间加减,时间累加,前5分钟,前一个月,前一年,等等…而我最近开发和时间操作的比较频繁,所以记录下,和时间操作有关的代码。在JAVA中有六个与时间有关的类:java.util.Date java.sql.Date java.sql.Time jav转载 2021-05-10 12:57:49 · 133 阅读 · 0 评论 -
开发的日常踩坑记录
开发踩坑记录,不定时更新—2021.4.14—使用easypoi poi报错cn.afterturn.easypoi.exception.excel.ExcelExportException: Excel导出错误Caused by: java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.CellStyle.setAlignment(S)Vjava.lang.reflect.InvocationTargetException: null原创 2021-05-10 10:23:03 · 855 阅读 · 0 评论 -
从数据库表里获取时间字段,对时间字段进行切割
直接通过格式转换的形式即可。举例:String str0 = "2015-07-05日"; // 这里可以改写为 从数据库中获取值Date d1 = new SimpleDateFormat("yyyy-MM-dd日").parse(str0);//定义起始日期// 对 年 月 日 进行切割SimpleDateFormat sdf0 = new SimpleDateFormat("yyyy");SimpleDateFormat sdf1 = new SimpleDateFormat("MM")原创 2021-04-30 15:22:41 · 329 阅读 · 1 评论 -
HTTP 轻量级请求库-----Unirest
Unirest 是一个轻量级的 HTTP 请求库,可发起 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS 请求。支持 Node、Ruby、Java、PHP、Python、Objective-C、.NET 等多种语言。底层是基于httpclient,所以使用Unirest之前先要引入httpclient相关的依赖。Maven项目可以直接在pom.xml文件中引入Unirest 的依赖 <dependency> <原创 2021-04-13 15:09:23 · 2354 阅读 · 0 评论 -
i++ 是线程安全的吗?
简介:volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值.Thread的本地内存1.每个Thread都拥有自己的线程存储空间2.Thread何时同步本地存储空间的数据到主存是不确定的借用Google JEREMY MANSON 的解释,上图表示两个线程并发执行,而且代码顺序上为Thread1->Thread21、不用 volatile假如ready字段不使用volati原创 2021-03-29 18:33:55 · 56 阅读 · 0 评论 -
Spring 中 事务 @Transactional的使用
1.Spring事务的原理Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件中做相关的事务规则声明,另一种是基于@Transactional 注解的方式。使用@Transactional的相比传统的我们需要手动开启事务,然后提交事务来说。它提供如下方便根据你的配置,设置是否自动开启事务自动提交原创 2021-03-17 09:53:42 · 179 阅读 · 0 评论 -
多线程之线程的生命周期
说一下线程的生命周期?答:1.新建状态2.就绪状态3.运行状态4.阻塞状态5.死亡状态具体描述一下每一个状态?答:1.新建状态:用new关键字建立一个线程后,该线程对象就处于新建状态。处于新生状态的线程有自己的内存空间,通过调用start()方法进入就绪状态。2.就绪状态:处于就绪状态线程具备了运行条件,但还没分配到CPU,处于线程就绪队列,等待系统为其分配CPU。当系统选定一个等待执行的线程后,它就会从就绪状态进入运行状态,该动作称为“CPU调度”。3.运行状态在运行状态的线程执原创 2021-02-21 12:09:52 · 205 阅读 · 0 评论 -
线程的生命周期
线程的生命周期一共分为五个部分分别是:新建,就绪,运行,阻塞以及死亡。由于cpu需要在多条线程中切换因此线程状态也会在多次运行和阻塞之间切换.当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)五种状态。尤其是当线程启动以后,它不能一直“霸占”着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。生命周原创 2021-02-21 12:03:46 · 221 阅读 · 0 评论 -
数据库select查询语句进阶
昨日回顾:一. 数据库的介绍管理数据的软件二. 数据库的 分类:a.关系型数据库有约束b.非关系型数据库没有约束三. MySQl 的安装:a. exe msi文件 点击下一步下一步b. 压缩包binmysqld : 启动mysql服务的mysql : 连接mysql环境变量四. 数据库(文件夹)数据表 (文件)数据行(文件行)五. 数据库:增:create database 数据库名;删: drop database 数据库名;查:show databases原创 2021-01-08 16:35:41 · 306 阅读 · 0 评论 -
将数据从前台传到后台方法总结
目录一、通过ajax二、在action中请求后台的方法三、通过dom获取标签,触发标签的submit方法,直接提交数据到后台四、最简单的标签五、用的最多的表单六、目前最流行的ajax异步请求1、第一步:首先构造需要发送给后台的json格式数据2、第二步:使用jquery的ajax、load、get、post、getJSON、getScript、getHTML等方法。七、对于构造json格式对象的数据,有以下几种方法一、通过ajax传给后台的数据通过json封装起来,再用ajax将jso转载 2021-01-07 20:44:40 · 4329 阅读 · 0 评论