自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

原创 DateUtil 日期转换

DateUtilHuTool工具时间工具类DateUtil依赖引入<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --><dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.5</vers

2021-08-14 16:48:52 1796

原创 Java 判断对象空的方法

Java 判断对象空的方法一、使用 == 或者 equals()比较==str == "";str == null;equals()"".equals(str)//不推荐判断nullString str = null;str2.equals(str);注意java中对equals的定义: 对于任何非空引用值 x,x.equals(null) 都应返回 false;使用equals()判断对象null,会出现java.lang.NullPointerException异常对于

2021-08-08 00:05:19 19349 2

原创 JAVA 面试题(十二)

JAVA 面试题(十二)JAVA 面试题JAVA 面试题(二)JAVA 面试题(三)JAVA 面试题(四)JAVA 面试题(五)JAVA 面试题(六)JAVA 面试题(七)JAVA 面试题(八)JAVA 面试题(九)JAVA 面试题(十)JAVA 面试题(十一)Java-面试-逻辑题Java-面试-逻辑题(二)Java-面试-逻辑题(三)文章目录JAVA 面试题(十二)根据下面代码写出输出结果根据下面代码写出输出结果根据下面要求编写方法根据下面代码写出输出结果publi

2021-07-31 14:51:57 204

原创 面试-MySQL(七)

面试-MySQL(七)面试-MySQL(一)面试-MySQL(二)面试-MySQL(三)面试-MySQL(四)面试-MySQL(五)面试-MySQL(六)文章目录面试-MySQL(七)1.有表如下,请完成以下问题去除重复的手机号码并升序输出找出重复记录大于2 手机号码2.有学生成绩表如下:查找各科成绩都大于80分的学生姓名查找平均成绩大于80分的学生姓名3.编写sql语句3.1 现将A表与C表中的数据插入B表,条件当A表cid与C表cid值相等,将A表 task 对应B表 remark,表C

2021-07-23 22:34:19 120

原创 面试-MySQL(六)

面试-MySQL(六)面试-MySQL(一)面试-MySQL(二)面试-MySQL(三)面试-MySQL(四)面试-MySQL(五)文章目录面试-MySQL(六)1.有表如下,请完成以下问题A表num值替换成B表num值2.有学生表如下:查询每个城市每个月的业绩3.编写sql语句3.1 编写一个员工表(STAFF),id(整型 主键),name(字符型 不为空),age(整型),sex(字符型)3.2 编写一个未正式员工信息(STAFF_T),id(为员工表的外键),subject(枚举型【CL

2021-07-17 16:07:09 152

原创 JAVA 面试题(十一)

JAVA 面试题(十)JAVA 面试题JAVA 面试题(二)JAVA 面试题(三)JAVA 面试题(四)JAVA 面试题(五)JAVA 面试题(六)JAVA 面试题(七)JAVA 面试题(八)JAVA 面试题(九)JAVA 面试题(十)Java-面试-逻辑题Java-面试-逻辑题(二)Java-面试-逻辑题(三)文章目录JAVA 面试题(十)编写一个输出水仙花数的方法二维数组转置编写一个输出水仙花数的方法所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数列如153

2021-07-08 11:24:32 79

原创 数据库-事务隔离

数据库-事务隔离文章目录数据库-事务隔离数据库 事务数据库 ACID四大特性数据库 脏读、幻读、不可重复读、事务丢失数据库 隔离级别数据库 事务事务的概念:事务就是一个对数据库操作的序列,是一个不可分割的工作单位,要不这个序列里面的操作全部执行,要不全部不执行。事务:指一组SQL语句;回退:指撤销指定的SQL语句过程;提交:指将未存储的的SQL语句结果写入数据库表;保留点:指事务处理中设置的临时占位符,可以对它发布回退;数据库 ACID四大特性事务都应该具备ACID特征。所谓ACI

2021-07-04 21:34:31 85

原创 数据库 索引失效

数据库 索引失效数据库 索引MySQL优化(一)MySQL优化(二)MySQL优化(三)MySQL优化(四)文章目录数据库 索引失效索引失效常见情况索引失效举例索引失效常见情况1.sql语句中有or关键字;2.复合索引未用左列字段;3.like以%开头;4.需要类型转换;5.where中索引列有运算;6.where中索引列使用了函数;7.如果mysql觉得全表扫描更快时(数据少);索引失效举例CREATE INDEX bcd ON AAA(BB,CC,DD);SHOW

2021-06-27 13:20:32 841 1

原创 JAVA 面试题(十)

JAVA 面试题(十)JAVA 面试题JAVA 面试题(二)JAVA 面试题(三)JAVA 面试题(四)JAVA 面试题(五)JAVA 面试题(六)JAVA 面试题(七)JAVA 面试题(八)JAVA 面试题(九)Java-面试-逻辑题Java-面试-逻辑题(二)Java-面试-逻辑题(三)文章目录JAVA 面试题(十)一个NXM个正方形组成的矩形可以形成多少个正方形?输出图形给定字符串,给定参数字符,返回对应的值一个NXM个正方形组成的矩形可以形成多少个正方形?1.计算一

2021-06-20 22:31:37 154 1

原创 JAVA - 保留多少位小数的方法

JAVA - 保留多少位小数的方法方法一 bigDecimal.setScale()Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal.setScale()方法用于格式化小数点1.setScale(1)表示

2021-06-08 17:04:09 2343

原创 TCP三次握⼿与四次挥⼿

TCP三次握⼿与四次挥⼿1.序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。2.确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。3.标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:3.1 URG:紧急指针(urgent pointer)有效。3.2 ACK:确认序号有效。3.3 PSH:接收方应该尽快将这个报文交给应用层。3.4 RST:重置连接。3.5 S

2021-06-06 14:27:32 322

原创 面试-MySQL(五)

面试-MySQL(五)面试-MySQL(一)面试-MySQL(二)面试-MySQL(三)面试-MySQL(四)文章目录面试-MySQL(五)1.学生表如下,请完成以下问题1.1 查询学生的平均年龄1.2 统计姓名不同的学生数量(姓名相同的记录只计1)1.3 删除掉重复记录,只保留id最小的那条记录(除id之外,其他字段都相同的记录就是重复记录)2.有学生表如下:2.1 请编写一条sql语句,查询出如下格式的数据(行转列):3.有如下表3.1 查询各科成绩最高和最低的分:以如下形式显示:课程ID,最

2021-05-30 14:27:45 140

原创 Java-面试-逻辑题(五)

Java-面试-逻辑题Java-面试-逻辑题(一)Java-面试-逻辑题(二)Java-面试-逻辑题(三)Java-面试-逻辑题(四)文章目录Java-面试-逻辑题题目一题目二题目三题目一4 2 12 28 80 _分析得出:(1)(4+2)X2=12(2)(12+28)X2=80(3)规律为:前两个数相加之和再乘于2为下一个数答:(28+80)X2=216题目二某玩具店第一天卖出玩具小狗98个,每个获利44元1角;第二天卖出玩具小狗133个,获得的利润是成本的40%.已

2021-05-21 10:08:07 211 2

原创 面试-MySQL(四)

面试-MySQL(四)面试-MySQL(一)面试-MySQL(二)面试-MySQL(三)文章目录面试-MySQL(四)1.查询最大成绩的学生信息2.编写SQL语句2.1.如果学号的前两位表示年级,要查找98级女生的姓名2.2.统计参加本次考试的学生人数2.3.统计本次考试中每门课程的最高分和最低分2.4.要查找所以需要补考(小于60分)的学生姓名和这门课程的名称和成绩2.5.查询每个学生需要补考(小于60分)的课程的平均分,并以平均分排序学生表学生表学生id(a.id) 学生姓名(name)

2021-05-19 16:15:29 1178 1

原创 Java-创建对象的方式

Java-创建对象的方式文章目录Java-创建对象的方式1.使用new关键字2.使用Class类的newInstance方法3.使用Constructor类的newInstance方法4.使用clone方法5.使用反序列化1.使用new关键字这是最常见也是最简单的创建对象的方式了。通过这种方式,可以调用任意的构造函数(无参的和带参数的)。//类名 对象名=new 类名(); Student student = new Student();//无参 Student student1 = n

2021-05-11 10:01:28 1019

原创 面试-MySQL(三)

面试-MySQL(三)面试-MySQL(一)面试-MySQL(二)文章目录面试-MySQL(三)1.找出借书超过5本的读者,输出借书卡号及所借图书册数2.查找出价格最大的书信息3.借过c书的学生信息4.借过a书但是没有借b书的学生借书卡号,按卡号降序输出5.班级号为2的学生还书时间延迟一周6.查询过期未还图书,输出借书记录信息6.借过a书同时借b书的学生借书卡号,按卡号升序输出借书卡 卡号 姓名 班级书 书号 书名 作者 单价 数量借书记录 借书号 借书卡号 书号 还书时间借书卡书借

2021-05-10 17:47:27 549 1

原创 Redis

Redis缓存有哪些类型?缓存是⾼并发场景下提⾼热点数据访问性能的⼀个有效⼿段,在开发项⽬时会经常使⽤到。缓存的类型分为:本地缓存、分布式缓存和多级缓存本地缓存:本地缓存就是在进程的内存中进⾏缓存,⽐如在JVM 堆中,可以⽤ LRUMap 来实现,也可以使⽤Ehcache 这样的⼯具来实现。本地缓存是内存访问,没有远程交互开销,性能最好,但是受限于单机容量,⼀般缓存较⼩且⽆法扩展。分布式缓存:分布式缓存⼀般都具有良好的⽔平扩展能⼒,对较⼤数据量的场景也能应付⾃如。缺点就是需要进⾏远程请求,

2021-05-09 20:39:59 63

原创 Java-定时器

Java-定时器@Scheduled注解@Scheduled 标记要调度的方法的注解。必须指定 cron,fixedDelay或 fixedRate属性之一。该注解共有8个参数,以下对这个8个参数进行记录。@Scheduled注解是最简单的方式,只需要启用定时器,在方法上添加注解即可。1.在spring配置中加入:xmls添加http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/s

2021-05-02 11:08:42 163

原创 Java 字符串拼接

Java字符串拼接String join()介绍join() 方法返回使用指定分隔符拼接一个字符串。在join() 方法中,为每个元素添加了分隔符。如果为null元素,则添加“null”。从JDK 1.8开始,Java字符串才包含join() 方法。Java字符串 两种join()方法delimiter:每个元素要添加的分隔符elements:需要添加分隔符的字符串join(CharSequence delimiter, CharSequence... elements)public sta

2021-04-24 23:07:53 588

原创 mysql in的用法

MySQL in 的用法in常用于where表达式中,其作用是查询某个范围内的数据,而not in与in作用相反1. in 基本用法select name,sex,age,grade from student where age in (11,12,13);2. in 多个字段同时使用select name,sex,age,grade from student where (age,grade) in ((7,1),(9,2),(11,3));3. in 多表同时多个字段使用select

2021-04-18 22:03:38 1118

原创 == 与 equals()

问题:在 Java 中,我们为什么不用 == 而用 .equals() 比较字符串呢?Java 中,String 属于引用数据类型。对字符串对象的比较,不能简单地使用比较运算符“==”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串对象的内容相同,只要它们引用的不是同一内容,使用比较运算符依旧会返回false。语言不够直观的话,代码来说话public class compareString { public static void main(String[] args) {

2021-04-11 18:15:54 61

原创 SQL 性能优化 三

SQL 性能优化 五50、优化表的数据类型,选择合适的数据类型:原则:更小通常更好,简单就好,所有字段都得有默认值,尽量避免 NULL。例如:数据库表设计时候更小的占磁盘空间尽可能使用更小的整数类型。(mediumint 就比 int 更合适)比如时间字段:datetime 和 timestamp。datetime 占用8个字节,timestamp 占用4个字节,只用了一半。而 timestamp 表示的范围是 1970—2037 适合做更新时间。MySQL可以很好的支持大数据量的存取,但是一般说

2021-04-03 23:49:42 55

原创 SQL 性能优化 二

SQL 性能优化 二SQL 性能优化联表查询与临时表使用1、不要有超过 5 个以上的表连接(JOIN),考虑使用临时表或表变量存放中间结果。少用子查询,视图嵌套不要过深,一般视图嵌套不要超过 2 个为宜;2、避免使用临时表,除非却有需要,否则应尽量避免使用临时表,相反,可以使用表变量代替。大多数时候,表变量驻扎在内存中,因此速度比临时表更快,临时表驻扎在 TempDb 数据库中,因此临时表上的操作需要跨数据库通信,速度自然慢;3、将需要查询的结果预先计算好放在表中,查询的时候再Select;4、

2021-03-28 22:10:48 140 1

原创 SQL 性能优化

SQL 性能优化对查询优化-避免全表扫描1、首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引;2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值;3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的 LI

2021-03-21 21:26:14 66 1

原创 线程生命周期

线程生命周期当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。 在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞 (Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直"霸占"着CPU独自 运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换 。关于线程生命周期的不同状态,在Java 5以后,线程状态被明确定义在其公共内部枚举类型java.lang.Thread.Stat

2021-03-14 20:36:25 63

原创 Java.util.Date和Java.sql.Date

Java.util.Date和Java.sql.DateJava中有两个Date类,一个是java.util.Date通常情况下用它获取当前时间或构造时间,另一个是java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分。两个类型的时间可以相互转化Java.sql.Date构造方法Date(long date)使用给定毫秒时间值构造一个 Date 对象。方法void setTime(long date)使用给定毫秒时间值设置现有 Date 对象。String toStr

2021-03-07 21:26:45 2107

原创 Java-反射机制

反射机制

2021-02-28 22:31:01 79 1

原创 IDEA中项目JDK版本问题

IDEA中项目JDK版本问题一、进入Project structure1.检查Project Settings是否配置与本地一样的版本jdk2.检查Modules Sources里面Language Level和Dependencies的SDK3.检查Platform Settings是否加入对应的JDK版本二、进入Settings检查Java Complier是否配置与本地一样的版本jdk三、检查本地JDK是否配置成功...

2021-02-21 17:47:04 487

原创 线程Thread-join方法

线程Thread join方法现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执 行?答:要保证T1、T2、T3三个线程顺序执行,可以直接利用Thread类的join方法。线程join方法Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行。当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结束执行,调用线程才会继续执行。join方法使用join方法有两种,一种是传入参数,如:A.jo

2021-01-31 14:55:30 544

原创 JAVA-OOM

OOM

2021-01-24 12:40:37 79

原创 Errors occurred during the build.Errors running builder ‘DeploymentBuilder‘ on project

Errors occurred during the build.Errors running builder ‘DeploymentBuilder’ on project出现原因:在编写项目时,MyEclipse会进行自动部署项目,所以才会产生此问题。解决办法:1.关闭当前软件和工作空间。2.在工作空间文件目录下查找此文件并删除(/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.genuitec.eclipse.ast.depl

2021-01-17 22:47:36 1329 2

原创 MySQL (一) 分页查询

MySQL 分页查询limit分页、总页数公式limit分页公式limit分页公式:page是当前第几页;rows是一页多少条记录limit (page-1)*rows,rowsselect * from A limit(page-1)*rows,rows;总页数公式总页数公式:totalRecord是总记录数;rows是一页分多少条记录int totalPages = (totalRecord +rows- 1) / rows;Mysql的分页方法1 limit m,nli

2021-01-10 23:38:18 241

原创 JVM-GC (一)

JVM-GCGC的判定方法引用计数法指的是某一个地方引用这个对象,这个对象就加1,如果失效就减1,当计数为0的时候就开始回收,但是JVM并不使用引用计数法,因为存在无法判定的情况,如AB相互之间引用的情况会失去判断。引用链法通过一种GC ROOT对象来判断,如果存在GC ROOT就说明对象还在引用,否则说明可以进行回收该对象。GC的收集方法标记清除、标记整理、复制算法...

2021-01-03 20:07:10 93

原创 Java 设计模式(三)

工厂模式工厂模式的意义将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。设计模式的依赖抽象原则创建对象实例时,不要直接 new 类, 而是把这个 new 类的动作放在一个工厂的方法中,并返回。有的书上说,变量不要直接持有具体类的引用。不要让类继承具体类,而是继承抽象类或者是实现 interface(接 )不要覆盖基类中已经实现的方法。简单工厂模式基本介绍简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个

2020-12-27 20:24:29 47

原创 拓扑排序

拓扑排序概念对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。拓扑排序原理对 DAG 的顶点进行排序,使得对每一条有向边 (u, v)(u,v),均有 uu(

2020-12-20 20:01:22 72

原创 java.lang.NoSuchMethodError 解决方法

NoSuchMethodError 原因和处理方案NoSuchMethodError 找不到方法错误。java.lang.NoSuchMethodError异常出现可能有以下几种情况:1)首先看下异常代码位置,是否存在该方法;2)如果是web项目查看是否是tomcat缓存问题,清一下服务器tomcat的缓存问题;3)查看是否是因为java环境变化导致;4)方法签名是否发生改变,若发生改变,则需要把所有应用到该方法的文件一起替换。...

2020-12-13 22:48:09 5388

原创 Java 集合-取最大/最小值

Java 集合Java 集合list取最大值和最小值代码import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Collection { public static void ListMaxMin(List<Integer> listA) { System.out.println("listA --- " + listA.toString());

2020-12-06 18:45:19 3053

原创 MyEclipse/Eclipse 修改内存大小不足

MyEclipse/eclipse修改内存大小不足web项目运行时显示内存不足的解决方法方法一(1)Windows-> Preferences(2)Java->Installed JREs选择jdk,然后点击“Edit”按钮(3)Default VM Arguments文本框中输入:-Xms64m -Xmx256m ,然后点击finish按钮即可方法二修改MyEclipse/Eclipse的myeclipse.ini 文件找到MyEclipse/Eclipse的安装目

2020-11-29 20:03:20 233

原创 myeclipse-java was started but returned exit code=-1错误的解决方案

java was started but returned exit code=-1错误的解决方案三种方案:1、在myeclipse 的安装目录下找到路径…\binary\com.sun.java.jdk8.win32.x86_64_1.8.0.v112\jre\bin\server\jvm.dll(根据自己安装的目录而定)并在myeclipse 的安装目录下的myeclipse.ini里输入-vm…\binary\com.sun.java.jdk8.win32.x86_64_1.8.0.v1

2020-11-22 22:10:12 1170 1

原创 JAVA-创建定时器

JAVA-创建定时器方法一创建一个thread,直接通过sleep方法来达到定时任务的效果,代码如下public static void Time1(int second) { // 每一秒钟执行一次 final long timeInterval = 1000; Runnable runnable = new Runnable() { public void run() { int count = 0;// while (true) { while (cou

2020-11-15 15:36:38 235

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除