Java基础
现在是秋冬季
这个作者很懒,什么都没留下…
展开
-
JUC-06死锁展示
package com.atguigu.juc.locks;import java.util.concurrent.TimeUnit;public class DeadLockDemo{ static Object lockA = new Object(); static Object lockB = new Object(); public static void main(String[] args) { Thread a = new .原创 2021-08-09 17:35:44 · 171 阅读 · 0 评论 -
JUC-05关于Java锁
8种锁的案例实际体现在3个地方 作用于实例方法,当前实例加锁,进入同步代码前要获得当前实例的锁; 作用于代码块,对括号里配置的对象加锁。 作用于静态方法,当前类加锁,进去同步代码前要获得当前类对象的锁;管程 (英语:Monitors,也称为监视器) 是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。这些共享资源一般是硬件设备或一群变量。对共享变量能够进行的所有操作集中在一个模块中。(把...原创 2021-08-08 09:16:43 · 294 阅读 · 0 评论 -
JUC-04CompletableFuture常用方法
目录获得结果和触发计算对计算结果进行处理对计算结果进行消费对计算速度进行选用对计算结果进行合并 获得结果和触发计算 package com.zzyy.study.test;import java.util.concurrent.CompletableFuture;import java.util.concurrent.ExecutionException;import java.util.concurrent.TimeUnit;/** * @a.原创 2021-08-08 08:59:44 · 422 阅读 · 0 评论 -
JUC-03函数式编程简介
先说说join和get对比join可以不用抛出异常,其它和get功能类似package com.zzyy.study.day628;import lombok.Getter;import java.util.Arrays;import java.util.List;import java.util.concurrent.CompletableFuture;import java.util.concurrent.ThreadLo...原创 2021-08-07 18:18:01 · 145 阅读 · 0 评论 -
JUC-02Future和Callable接口及改进的CompletableFuture
简介:Future接口定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。Callable接口中定义了需要有返回的任务需要实现的方法。比如主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,过了一会才去获取子任务的执行结果。FutureTask简介:package com.zzyy.study.test;...原创 2021-08-07 17:36:20 · 186 阅读 · 0 评论 -
JUC-01线程基础知识
注意事项:高内聚低耦合前提下,封装思想 判断、干活、通知 防止虚假唤醒,wait方法要注意使用while判断 注意标志位flag,可能是volatile的使用JUC原因:硬件方面 摩尔定律失效 软件方面 高并发系统,异步+回调生产需求 多线程相关概念:进程是程序的⼀次执⾏,是系统进⾏资源分配和调度的独⽴单位,每⼀个进程都有它⾃⼰的内存空间和系统资源线程 一个进程包含一个或多个线程在同⼀个进程内⼜可以执⾏多个任...原创 2021-08-07 17:12:54 · 172 阅读 · 0 评论 -
根据指定日期格式返回年或月
SimpleDateFormat sdftest = new SimpleDateFormat("yyyy-MM-dd"); Date stfDate = sdftest.parse("2021-12-20"); String dateTest1 = getYearOrMonthByDate(stfDate,1);type为1,则获取年,为2,则获取月/** * 根据指定日期格式返回年或月 * * @return...原创 2021-02-26 10:56:45 · 454 阅读 · 0 评论 -
根据日期返回下月日期
String nextMonth = getNextMonthdayDate("2019-01-01",1); /** * 根据指定日期格式返回下月日期 * * @return date */ public static String getNextMonthdayDate(String date, Integer monthNum) throws ParseException { SimpleDateFormat sdf = n.原创 2021-02-26 10:53:46 · 231 阅读 · 0 评论 -
判断日期距离现在几个月
Integer monthNum = monthCompare("2019-12-01"); /** * 传入参数返回距离现在几个月 */ public static Integer monthCompare(String oldTime){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date nowDate = new Date(); Str.原创 2021-02-26 10:51:13 · 597 阅读 · 0 评论 -
老日期和新日期相差是否大于2年
放入测试类 main方法中直接运行 Boolean isTwoYear = yearCompare("2019-12-02"); /** * 判断是否大于2年 */ public static Boolean yearCompare(String oldTime){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date nowDate = ne.原创 2021-02-19 10:56:38 · 559 阅读 · 0 评论 -
两个 MultipartFile 数据类型 合成一个&&base64字符转MultipartFile数组类型
定义一个base64图片: StringBuffer str = new StringBuffer(); String base64Img = "自行baidu搜索转换成字符"; str.append(base64Img); /** * base64转MultipartFile文件 * @param base64 * @return */ public static Mul...原创 2021-02-19 10:51:39 · 771 阅读 · 0 评论 -
判断Map对象为null
平常从map.get()时候有为null,报空指针异常,会触发报警,要提前判断一下 Map<Object,Object> mapInfo = new HashMap<>(); mapInfo.put("name",null); if(null == mapInfo.get("name")){ System.out.println("为null"); mapInfo.put("name"原创 2021-02-19 10:38:49 · 2832 阅读 · 0 评论 -
excel导入用户数据
@PostMapping("/importData") public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); List<SysUser> userList = util.原创 2020-09-01 14:11:46 · 827 阅读 · 0 评论 -
父子类加载题
原创 2020-08-06 16:12:42 · 112 阅读 · 0 评论 -
Java-反射机制
运行时类型识别(Run-time Type Identification, RTTI)主要有两种方式,一种是我们在编译时和运行时已经知道了所有的类型,另外一种是功能强大的“反射”机制。 要理解RTTI在Java中的工作原理,首先必须知道类型信息在运行时是如何表示的,这项工作是由“Class对象”完成的,它包含了与类有关的信息。类是程序的重要组成部分,每个类都有一个Class对象,每当编写并编译了一个新类就会产生一个Class对象,它被保存在一个同名的.class文件中。在运行...原创 2020-08-06 15:58:13 · 128 阅读 · 0 评论 -
JavaEE问题集合1
一、基础问答 不能被继承的类有[Long Double Float Short Void Class Math String] 他们都被final修饰 类可以被继承[Thread ClassLoader Number Calendar] 1.下面哪些类可以被继承? java.lang.Thread (T) java.lang.Number (T) java.lang.Double (F) java.lang...原创 2020-08-06 15:56:27 · 215 阅读 · 1 评论 -
常见的类-包-接口
类String Integer Long File Date Thread(java.lang.ThreadThread类的定义:public class Thread extends Object implements Runnable)===========================包java.lang.*; java.io.*; java.util.*; java.sql.*; java.math.*;======================...原创 2020-08-06 15:53:47 · 339 阅读 · 0 评论 -
Java中6种常见异常
1. Java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个.原创 2020-08-06 15:49:22 · 1060 阅读 · 0 评论 -
[Java]匹配验证-验证Email是否正确
package com.sj.zy;import java.util.regex.Pattern;public class Zy03 { public static void main(String[] args) { // TODO 自动生成的方法存根 String str = "@qq.com"; String reg = "^([a-z0-9A-Z]+[-|\\.]?)...原创 2018-08-08 17:46:12 · 1709 阅读 · 0 评论 -
[Java]有一句话“北京人口为1600万,面积是1.3万平方公里,上海人口为2100万,面积是1.1万平方公里”请认真分析提取出有用的数据先存入到容器中然后输出在控制台上
package com.sj.zy;import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import java.util.Set;import java.util.Map.Entry;public class Zy03 { public static void main(String...原创 2018-08-07 17:10:04 · 250 阅读 · 0 评论 -
[Java]随机生成5个1~10之间的随机数,存入一个List集合中,编写方法对List进行排序
package com.sj.zy;import java.util.ArrayList;import java.util.Arrays;public class ListRandomSort { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<In...原创 2018-08-07 11:09:07 · 13169 阅读 · 1 评论 -
随机产生10个0-100之间的随机数,将不重复的数存入到list中,最终将结果输出在控制台上(2018-8-7)
package com.sj.zy;import java.util.ArrayList;import java.util.HashSet;import java.util.Set;public class Zy02 { public static void main(String[] args) { // TODO 自动生成的方法存根 Set<Object>...原创 2018-08-07 10:53:18 · 13014 阅读 · 0 评论 -
有一个list 且里面的数据{12,9,3,0,7}然后在第一个位置添加一个值99,然后修改为59,然后再删除,最终将结果展示在控制台上
package com.sj.zy;import java.util.ArrayList;public class Zy01 { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(0,12); li...原创 2018-08-07 11:00:52 · 510 阅读 · 0 评论 -
[Java]请输入一行字符串,然后用正则表达式的方式去获取字符串中的数字,然后将他们求和输出在控制台上
package com.sj.zy;public class Zy02 { public static void main(String[] args) { // TODO 自动生成的方法存根 Promise pe = new Promise(); String str = "abc123hhd998"; String replaceAll = pe.Replace...原创 2018-08-08 17:48:17 · 1662 阅读 · 0 评论 -
[Java]截取最后一个/后面的所有字符
最后结果:1479805098158.jpgString imgUrl = "http://127.0.0.1:8080/cms/ReadAddress/1479805098158.jpg";String image = imgUrl.substring(imgUrl.lastIndexOf("/")+1); 字符串.substring(字符串.lastIndexOf("\\...转载 2018-08-13 19:52:55 · 23602 阅读 · 4 评论 -
[Java]九九乘法表输出到Excel表中,Excel后缀需要为:.xls
package com.sj.zy;import java.io.File;import java.io.IOException;import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.W...原创 2018-08-13 19:56:38 · 506 阅读 · 0 评论 -
[Java]将九九乘法表中的数加起来算总和
例:1*1=1 1*2=2.。。。。。。和为1+2+。。package com.sj.zy;import java.io.File;import java.io.IOException;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffExceptio...原创 2018-08-13 20:01:40 · 1664 阅读 · 0 评论 -
[Java]语言概述
1.软件 : 系统软件 vs 应用软件2.人与计算机做交互:使用计算机语言。 图形化界面 vs 命令行方式 dir md rd cd cd.. cd/ del exit 3.语言的分类:第一代:机器语言 第二代:汇编语言 第三代:高级语言(面向过程 --- 面向对象)4.java语言的特性:①面向对象性 ②健壮性 ③跨平台性(w...原创 2018-08-21 09:57:11 · 123 阅读 · 0 评论 -
[Java]基本语法(内容)
1.命名规范命名的规则:(一定要遵守,不遵守就会报编译的错误)由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头。不可以使用关键字和保留字,但能包含关键字和保留字。Java中严格区分大小写,长度无限制。标识符不能包含空格。Java中的名称命名规范:(不遵守,也不会出现编译的错误)包名:多单词组成时所有字母都小写:xxxyyyzzz类名、接口名:多单词组成时,所...原创 2018-08-21 10:06:12 · 198 阅读 · 0 评论 -
[Java]基础知识1
Java语言特点 Ø简单性Ø解释性Ø面向对象Ø高性能Ø分布式处理Ø多线程Ø健壮性Ø动态性Ø安全性Ø跨平台Ø移植性2. JRE和JDK的概述 什么是JRE (Java Runtime Environment)ØJRE包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等Ø如果想要运行一个开发好的Java程序...原创 2018-08-25 09:36:52 · 131 阅读 · 0 评论 -
Java基础题1.0
Java基础方面:&和&&的区别答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) String s = new String("xyz");创建了几个String Object答:两个,一个字符对象,一个字符对象引用对象 Math.round(11.5)等於多少? Math.round(-11.5)等於多少答: Ma...原创 2018-09-19 10:19:43 · 179 阅读 · 0 评论 -
[Java]九九乘法表所有数字的和
例:1*1=1 里面数字有:1,1,1 1*2=2 里面数字有:1,2,2 要加起来package com.sj.zy;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import jxl.Cell;impor...原创 2018-08-14 09:47:12 · 884 阅读 · 0 评论