- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 Future和CompletableFuture详解
CompletableFuture有且只有一个构造方法,这个构造方法的注解表示创造一个新的不完整的CompletableFuture,所以当我们需要用到CompletableFuture的时候,不要用new来创建。Future接口(FutureTask实现类)定义了操作异步任务执行的一些方法,如获取异步任务执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。如果想将多个异步任务的计算结果组合起来,后一个异步任务的计算结果需要前一个异步任务的值。对比串行执行,效率还是有很大的提升。
2023-02-10 17:10:44
847
原创 用户线程和守护线程
User和Daemon两者几乎没有任何区别,唯一不同之处就在于虚拟机的离开:如果User Thread已经全部退出运行了,只剩下Daemon Thread存在了,虚拟机也退出了。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是GC(垃圾回收器),它就是一个很称职的守护者。让用户线程成为守护线程可以用thread.setDaemon(true),判断当前线程是否为守护线程可以用Thread.currentThread().isDaemon()
2023-02-09 23:59:24
212
原创 java获取sql中的查询参数和值
public static Map getParamKV(String sql){ sql = sql.toLowerCase(Locale.ROOT); String where = sql.substring(sql.indexOf("where")+5, sql.length()); HashMap<String, String> map = new HashMap<>(); String[] split...
2022-04-24 16:44:16
2431
原创 SpringBoot启动时出现:java.io.IOException: The server sockets created using the LocalRMIServerSocketFactor
错误内容如下:在使用idea时出现下面错误,idea版本为2019.3,jdk版本为11java.io.IOException: The server sockets created using the LocalRMIServerSocketFactory only accept connections from clients running on the host where the RMI remote objects have been exported. at jdk.management
2020-10-16 14:28:35
17301
6
原创 内省笔记
内省1.内省介绍内省是用来操作javabean里的属性的API属性:javabean中的属性不是由字段决定的,是由get/set方法决定的内省的核心类Introspector2.内省的作用1.获取到属性名和属性类型等相关状态信息.2.获取属性对应的读写方法操作属性的值等操作方式.3.实际操作//创建对象调用方法person p = person.class.newInstance();//把javaBean转成beanInfoBeanInfo beanInfo = Introspec
2020-08-15 11:32:31
96
原创 Java中的反射
反射1.为什么要学习反射静态编译:在编译时确定类型,绑定对象即通过。动态编译:运行时确定类型,绑定对象。动态编译最大限度地发挥了Java的灵活性,体现了多态的应用,可以减低类之间的耦合性。java是一门静态语言,反射使java成为准动态语言,反射可以通过一个对象,获取到它的真实类型以及获取该对象里的内容2.反射在程序运行过程中,通过字节码对象,去获取到类中的成员信息(构造器,方法,字段),这就称为反射.2.1 字节码对象在java中,万物皆对象.每个字节码都有很多共性,每份字节码被jvm加载
2020-08-14 22:17:08
112
原创 MyBatis笔记
mybatis-config.xml文档配置:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">Mapper.xml文件配置:<?xml version="1.0" encoding=
2020-08-14 20:31:35
108
原创 JDBC的事务操作
1.JDBC的事务操作事务(Transaction,简写为tx)在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态.1.1 事务的ACID属性1.原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生.2.一致性(Consistency):包装数据的完整性.事务必须使数据库从一个一致性状态变换到另一个一致性状态.3.隔离性(Isolation):事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部操作及使用的数
2020-08-12 15:18:39
342
原创 持久化和JDBC基本操作
1.什么是持久化持久化(persistence):把数据保存到可掉电式存储设备(例如:硬盘)中以供之后使用.持久化的过程大多是通过各种关系型数据库来完成,在java中,数据库存取技术只能通过JDBC来访问数据库JDBC访问数据库的形式主要有两种:1.直接使用JDBC的API去访问数据库服务器.2.间接地使用JDBC的API去访问数据库服务器.第三方O/R Mapping工具,如Hibernate,MyBatis.(底层依然是JDBC)JDBC是java访问数据库的基石,其他技术都是对JDBC的
2020-08-12 14:48:13
913
原创 IDEA2019.3无法使用Scanner 扫描类的解决方案
IDEA使用junit测试,无法使用Scanner扫描类的解决方案:在IDEA中点击help->EditCustomVmOptions…,进入,在最后一行加入:-Deditable.java.test.console=true
2020-08-11 20:50:00
667
原创 MySQL基础语法
开启MySQLnet start 命令名字:开启一个服务,如net start MySQLnet stop 命令名字:关闭一个服务器, 如net stop MySQL连接MySQL方式1:进入MySQL自带的客户端,在命令行中输入密码;方式2:在运行(win + r||cmd)中输入命令格式:mysql -u账户 -p密码 -数据库服务器安装的主机 -P数据库端口例如:mysql -uroot -padmin -h127.0.0.1 -P3306若连接的数据库服务器在本机上,并且端口
2020-08-08 09:55:07
201
原创 Java中各种数据类型的相互转换(待完善)
1.基本数据类型的转换数据类型的转换:byte short char–>int–>long–>float–>double所有byte short char类型被自动提升到int类型,再参与运算任何数据和字符串相加都是字符串2.基本数据类型与包装类的转换基本数据类型包装类byteByteshortShortintIntegerlongLongbooleanBooleanfloatFloatdoubleD
2020-07-23 13:28:39
135
原创 关于在使用foreach在求Int类型数组中的最大值元素中出现的问题
需求:求出int类型数组中最大元素值步骤:(1)定义并初始化数组nums(2)定义一个变量max表示最大的元素,并假设nums的第一个元素为最大值(3)使用foreach循环遍历nums数组(4)判断如果遍历的元素和max比较,遍历的元素比较大,就将当前元素赋值给max(5)遍历完成打印max错误代码:public class ArrayDemo5 { public static void main(String[] args){ int[] nums = {5 ,
2020-07-06 12:03:14
2029
原创 使用Java求1~100内所有素数的和
使用Java求1~100内所有素数的和public class Test { public static void main(String[] args) { int count = 0; int j; for (int i = 2; i <= 100; i++) { for (j = 2; j < i;...
2019-12-28 21:12:59
14205
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人