学习笔记
天下凌落
独立思考,知行合一
展开
-
【Java】线程池为什么不推荐Executors创建,会产生OOM
之前面试的时候只知道推荐使用ThreadPoolExecutor的构造方法来创建线程池,使用Executors创建线程池可能会报OOM异常,但是不知道为什么会报这个,现在一篇文章彻底弄懂corePoolSize:核心线程数,就是最小可以同时运行的线程数量maximumPoolSize:当队列中存放的任务达到队列容量的时候,当前可以同时运行的最大线程数量就编程最大线程数workQueue:当新任务来的时候,判断正在运行的线程数是否达到了核心线程数,达到了就把新的任务存放到队列中。原创 2022-10-14 10:41:30 · 959 阅读 · 0 评论 -
navicat连接远程服务器数据库教程
navicat连接服务器数据库原创 2022-07-13 09:56:23 · 5991 阅读 · 0 评论 -
【若依】验证码实现、登录、token鉴权 开源框架学习笔记02
若依验证码后端实现、登录、token鉴权原创 2022-06-10 20:17:37 · 7710 阅读 · 0 评论 -
【若依】运行 开源框架学习笔记01
用户管理:用户是系统操作者,该功能主要完成系统用户配置。部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。岗位管理:配置系统用户所属担任职务。菜单管理:配置系统菜单,操作权限,按钮权限标识等。角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。字典管理:对系统中经常使用的一些较为固定的数据进行维护。参数管理:对系统动态配置常用参数。通知公告:系统通知公告信息发布维护。操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。登录日志:系统登录日志记原创 2022-06-10 17:10:54 · 455 阅读 · 0 评论 -
MySQL 索引查看以及创建
SHOW INDEX FROM [ FROM ]实际:SHOW INDEX FROM terminal;查询结果:实际:CREATE INDEX index_device ON terminal (ter_number);创建完之后,显示索引,索引创建成功:原创 2022-06-09 18:02:12 · 2112 阅读 · 0 评论 -
Tomcat点击start.bat闪退解决办法
问题描述:双击“start.bat”。会出现一个命令框,然后闪退解决办法:设置环境变量:添加环境变量如下:1.2.添加环境变量JAVA_HOME和JRE_HOME,分别对应jdk和jdk中的jreCATALINA_HOME3.将设置的三个环境变量添加到Path中...原创 2021-10-27 14:24:23 · 1052 阅读 · 0 评论 -
2021.8.19学习笔记--Map
一、什么是Map?双列数据,存储key-value对的数据–类似于高中的函数:y = f(x)二、实现类HashMap:作为Map的主要实现类;线程不安全的,效率高;可以存储 null的key和valueLinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历三、Map结构的理解:类似于函数Map中的key:无序的、不可重复的,使用Set存储所有的key -->key 所在的类要重写equals()和 hashCode() (以hashMap为原创 2021-08-20 16:00:58 · 270 阅读 · 0 评论 -
2021.8.14学习笔记--遍历Collection、List接口、Set接口
一、遍历Collection的两种方法:Iterator迭代器:Collection coll = new Collection(); coll.add(123); coll.add(456); coll.add(new Person("Jerry",20)); coll.add(new String("Tom")); coll.add(false); Iterator iterator = coll.iterator(); while(iterator.ha原创 2021-08-14 21:24:47 · 61 阅读 · 0 评论 -
2021.8.13学习笔记--Collection中常用方法
Collection中常用方法:增:add(Object obj):添加obj;addAll(Collection coll):添加coll里的元素删:remove(Object obj):删除objremoveAll(Collection coll),删除coll里面存在的元素size():求长度isEmpty():判断是否为空clear():清空contains(Object obj):判断是否包含objcontainsAll(Collection coll原创 2021-08-14 21:13:42 · 140 阅读 · 0 评论 -
throw和throws的区别
1.使用说明在程序执行中,除了自动抛出异常对象的情况之外,我们还可以手动的throw一个异常类的对象。2.throw 和 throws区别:throw 表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。throws 属于异常处理的一种方式,声明在方法的声明处。3.典型例题class Student{ private int id; public void regist(int id) throws Exception { if(id > 0){ thi原创 2021-08-12 11:28:53 · 232 阅读 · 0 评论 -
2021.8.12学习笔记
1.注解 Annotation主要应用于反射△元注解:Retention:指定生命周期,RetentionPolicy.SOURCE\CLASS\RUNTIMECLASS是默认的,RUNTIME不会消亡Target:指定作用目标Documented:Inherited:2.集合2.1 Collection:单列集合△ List:有序的、可重复的 —“动态数组”△ Set:无序的、不可重复的 ----类似于数学中的“集合”2.2 Map:双列集合,有映射关系 ----类似于数学中的“函原创 2021-08-12 10:03:40 · 54 阅读 · 0 评论 -
2021.8.4学习笔记--枚举类的使用
一、枚举类何为枚举类:对象固定数量的为枚举类,比如说Season,Month如何定义枚举类?1.private final对象属性2.private带参数的构造器3.多个public static final对象4.其他需求:get方法、toString方法代码:public class SeasonTest { public static void main(String[] args) { Season spring = Season.SPRING;原创 2021-08-04 16:37:20 · 65 阅读 · 0 评论 -
IDEA show in Explorer 打开该文件在资源管理中的位置
在IDEA中show in Explorer 可打开该文件在资源管理中的位置在IDEA2019版本之后,可以通过右键项目:Explorer即为show in Explorer原创 2021-08-04 16:23:36 · 4029 阅读 · 1 评论 -
2021年8月3学习笔记--SimpleDateFormat、LocalDate、LocalTime、LocalDateTime的使用和Compare
LocalDate、LocalTime、LocalDateTime的使用 //now():获取当前的日期、时间、日期 + 时间 LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate);//2021-08-03原创 2021-08-03 15:19:37 · 385 阅读 · 0 评论 -
2021.7.16学习笔记
B站4691.StringBuffer:可变的,线程安全,效率高StringBuilder:可变的,线程不安全,效率高String:不可变得,效率低2.StringBuffer:StringBuffer sb1=new StringBuffer();//char[] value=new char[16];StringBuffer sb2=new StringBuffer("abc);//char[] value=new char["abc".length+16];3.三者效率:Str原创 2021-07-17 11:40:39 · 54 阅读 · 0 评论 -
2021.7.15学习笔记
B站4621.String类的常用方法.contains.indexOf代替 .replace下面要用到正则表达式匹配.match切片split2.String与其他类型转换String–>基本数据类型、包装类 包装类.parseXxx(str)基本数据类型、包装类–>String String.valueOf(xxx)String–>char[] 调用String的toCharArray()char[]–>String String构造器Strin原创 2021-07-16 10:57:36 · 47 阅读 · 0 评论 -
2.21.07.13学习笔记
1.第三种创建多线程的方式:实现Callable接口创建Callable实现类,实现call()方法,创建Callable类对象,传递到FutureTask构造器中创建FutureTask类对象,再将Futuretask对象传递到Thread构造器中创建Thread对象,对象.start()class NumberThread implements Callable{public ? call(){}}psvm(){NumberThread numberThread=newNumberThr原创 2021-07-14 09:59:51 · 48 阅读 · 0 评论 -
2021.7.14学习笔记
1.复习了线程的生命周期、四种线程的创建方式,三种同步机制的方式,同步代码块,同步方法,ReentrantLock锁2.String类的概述String str=“abc”;//存储在方法区的常量池中不可变性3.String类的常用方法.length.compareTo.toLowerCase.toUpperCase.isEmpty.trim.equals()...原创 2021-07-15 14:51:08 · 45 阅读 · 0 评论 -
2021.7.12学习笔记
b站4411.单例设计模式懒汉式class Bank{public bank(){}private static Bank instance=null;public static Bank getInstance(){if(instancenull){synchronized(Bank.class){if(instancenull){instance=new bank();}return instance;}}2.注意避免死锁的问题3.Lock锁方法解决多线程安全问题Re原创 2021-07-13 15:22:31 · 49 阅读 · 0 评论 -
类中属性和成员变量相同点和不同点
属性(成员变量) vs 局部变量1.相同点1.1定义变量的格式是一样的:数据类型 变量名 =变量值1.2先声明,后使用1.3变量都有其对应的作用域2.不同点:2.1在类中声明的位置不同属性(成员变量):直接定义在类的一对{}内局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量2.2关于权限修饰符的不同属性:可以在声明属性时,指明其权限,使用权限修饰符。常用的权限修饰符:private,public,缺省,protected---->封装性局部变量:不可以使原创 2021-04-26 21:25:38 · 456 阅读 · 0 评论 -
数组的冒泡排序,反转,复制,查找,以及工具方法
package com.wut.exer;import java.util.Arrays;public class ArrayExer4 { public static void main(String[] args) { // 1. 使用冒泡排序,实现如下的数组从小到大排序。 int[] arr = new int[] { 34, 5, 22, -98, 6, -76, 0, -3 }; for (int i = 0; i < arr.length; i++) { for原创 2021-04-26 21:20:25 · 74 阅读 · 0 评论 -
面向对象编程
一.java面向对象学习的三条主线:1.Java类及类的成员:属性、方法、构造器;代码块、内部类2.面向对象的三大特征:封装性、继承性、多态性、(抽象性)3.其它关键字:this、super、static、final、abstract、interface、package、import等“大处着眼,小处着手”二、“人把大象装冰箱”1.面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。①把冰箱门打开②抬起大象,装进冰箱③把冰箱门关闭2.面向对象,强调具备了功能的对象,以类/对象原创 2021-04-26 21:15:19 · 45 阅读 · 0 评论 -
数组的使用
/*一、数组的概述1.数组的理解:数组(Array),是多个相同类型数据按照一定顺序排列的集合,并用一个名字命名 并通过编号的方式对这些数据进行统一管理。2.数组相关的概念1)数组名2)元素3)角标、下标、索引4)数组的长度:元素的个数3.数组的特点:1)数组是有序排列的2)数组属于引用数据类型的变量。数组的元素可以是基本数据类型,也可以是引用数据类型。3)创建数组会在内存中开辟一块连续的空间。4)数组的长度一原创 2021-04-25 20:49:49 · 39 阅读 · 0 评论 -
二分法查找
二分法查找(主要用于有顺序数组)何为二分法查找?就比如说过春节的时候,家里突然断电了,需要找一个维修师傅来检修哪里出问题了,假设是电站1和电站2之间断电了。若按照线性查找的方式,需要从电站1到电站2一个个检查,花费时间很长。现在可以在电站1和电站2中间设立一个点1,检测电站1和点1之间是否通电,若没有电,则说明是电站1和点1之间出了问题。再在电站1和点1之间设立一个点2,检测电站1和点2之间是否通电,若没有电,则说明是电站1和点2之间出了问题。可以以指数的量级大大减少检查时间。 //现在设一个原创 2021-04-25 21:02:08 · 155 阅读 · 0 评论 -
vs2013常用快捷键
切换.h文件和.cpp文件 : ctrl+k+o加注释: ctrl+k+c解注释: ctrl+k+u原创 2021-04-14 15:01:16 · 82 阅读 · 0 评论 -
VS+QT创建的项目,UI界面更新控件,代码里识别不到
具体解决办法:1.保存更新后的ui界面;2.回到VS界面,右键.ui文件,编译;3.项目名上右键,重新扫描解决方案;4.这时就可以识别到更新的控件了。原创 2021-03-29 16:50:11 · 1052 阅读 · 0 评论