自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA基础面试题(第十七篇)线程池!

创建一个单线程化的Executor,即只创建唯一的工作者线程来执行任务,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。这里需要注意,由于线程池的任务队列永远不会放满,所以线程池只会创建核心线程数量的线程,所以此时的最大线程数对线程池来说没有意义,因为并不会触发生成多于核心线程数的线程。的线程池时,如果不希望任务被拒绝,那么就需要注意设置最大线程数要尽可能大一些,以免发生任务数大于最大线程数时,没办法把任务放到队列中也没有足够线程来执行任务的情况。

2024-06-24 10:26:37 659 4

原创 JAVA基础面试题(第十六篇)synchronized关键字和锁!

的非公平其实在源码中应该有不少地方,因为设计者就没按公平锁来设计,核心有以下几个点:先将锁的持有者 owner 属性赋值为 null唤醒等待链表中的一个线程(假定继承者)在1和2之间,如果有其他线程刚好在尝试获取锁(例如自旋),则可以马上获取到锁。2)当线程尝试获取锁失败,进入阻塞时,放入链表的顺序,和最终被唤醒的顺序是不一致的,也就是说你先进入链表,不代表你就会先被唤醒。

2024-06-05 15:35:29 709 6

原创 JAVA基础面试题(第十五篇)线程并发死锁等!

Thread类本质上是实现Runnable接口的一个实例,代表一个线程的实例。Thread方在调用start()方法后被执行,而且一旦线程启动后start()方法后就会立即返回,而不是等到run()方法执行完毕后再返回。Runnable在新建类时实现Runnable接口,然后在Thread类的构造函数中传入MyRunnable的实例对象,最后执行start()方法即可;

2024-05-29 14:20:14 761 3

原创 JAVA基础面试题(第十四篇)线程并发死锁等!

死锁多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。死锁必须具备以下四个条件:互斥条件:该资源任意一个时刻只由一个线程占用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:线程已获得的资源在末使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

2024-05-24 12:30:00 1691 6

原创 JAVA基础面试题(第十三篇)下! JVM

虚拟机把描述类的数据加载到内存里面,并对数据进行校验、解析和初始化,最终变成可以被虚拟机直接使用的class对象;加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中准备、验证、解析3个部分统称为连接(Linking)。

2024-05-19 10:15:00 1693 8

原创 JAVA基础面试题(第十二篇)中! JVM

JVM 这块比较难理解,而且也是不擅长的点。所以今天我更新一下JVM希望小伙伴们能在面试中取得好成绩!

2024-05-15 08:00:00 835 4

原创 JAVA基础面试题(第十一篇)上! JVM

jvm将虚拟机分为5大区域,程序计数器、虚拟机栈、本地方法栈、java堆、方法区;程序计数器:线程私有的,是一块很小的内存空间,作为当前线程的行号指示器,用于记录当前虚拟机正在执行的线程指令地址;虚拟机栈:线程私有的,每个方法执行的时候都会创建一个栈帧,用于存储局部变量表、操作数、动态链接和方法返回等信息,当线程请求的栈深度超过了虚拟机允许的最大深度时,就会抛出StackOverFlowError;

2024-05-09 10:00:21 1077 6

原创 JAVA基础面试题(第十篇)下! 集合与数据结构

`Hashtable`是使用`Synchronized`来实现线程安全的,给整个哈希表加了一把大锁,多线程访问时候,只要有一个线程访问或操作该对象,那其他线程只能阻塞等待需要的锁被释放,在竞争激烈的多线程场景中性能就会非常差!

2024-04-28 09:49:05 735

原创 JAVA基础面试题(第九篇)中! 集合与数据结构

ConcurrentHashMap 的 put 方法执行逻辑是什么?

2024-04-16 10:05:53 1049

原创 JAVA基础面试题(第八篇)上! 集合与数据结构

/ 容纳键值对的最大值// 负载因子int size;Node[] table的初始化长度length(默认值是16),Load factor为负载因子(默认值是0.75),threshold是HashMap所能容纳键值对的最大值。也就是说,在数组定义好长度之后,负载因子越大,所能容纳的键值对个数越多。

2024-04-10 10:46:28 802

原创 JAVA基础面试题(第七篇)!异常

java.lang.IllegalAccessError:违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。java.lang.InstantiationError:实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.java.lang.OutOfMemoryError:内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。

2024-04-07 10:18:31 746 1

原创 JAVA基础面试题(第六篇)!序列化与IO流

serialVersionUID 用来表明类的不同版本间的兼容性Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

2024-04-02 11:30:12 691

原创 JAVA基础面试题(第五篇)!反射与泛型

泛型是一种语法糖,泛型这种语法糖的基本原理是类型擦除。Java中的泛型基本上都是在编译器这个层次来实现的,也就是说:泛型只存在于编译阶段,而不存在于运行阶段。在编译后的 class 文件中,是没有泛型这个概念的。类型擦除:使用泛型的时候加上的类型参数,编译器在编译的时候去掉类型参数。我们定义了一个泛型类,定义了一个属性成员,该成员的类型是一个泛型类型,这个 T 具体是什么类型,我们也不知道,它只是用于限定类型的。

2024-04-01 15:49:10 845

原创 JAVA基础面试题(第四篇)!equal、hashcode及String解析

hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashCode() 定义在JDK的Object.java中,这就意味着Java中的任何类都包含有hashCode()函数。散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到了散列码!(可以快速找到所需要的对象)java中常量池的概念主要有三个:全局字符串常量池,class文件常量池,运行时常量池。

2024-04-01 10:28:14 672

原创 JAVA基础面试题(第三篇)!面向对象

不可变对象指对象一旦被创建,状态就不能再改变,任何修改都会创建一个新的对象,如 String、Integer及其它包装类.不可变对象最大的好处是线程安全.

2024-03-29 14:14:46 801 1

原创 JAVA基础面试题(第二篇)!基础语法与关键字

基本数据类型包括)共 8 种,如下表所示。对于 boolean,官方文档未明确定义,它依赖于 JVM 厂商的具体实现。逻辑上理解是占用 1 位,但是实际中会考虑计算机高效存储因素。Java虚拟机规范讲到:在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组将会被编码成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit。

2024-03-28 10:38:14 984 1

原创 JAVA基础面试题(第一篇)!

java面试题 八股文 框架 会持续更新

2024-03-27 10:56:55 975

原创 最全的正则表达式,赶紧收藏!

^[0-9]+\.{0,1}[0-9]{0,2}$ - 只能输入数字^[0-9]*$- 只能输入n位的数字^\d{n}$- 只能输入至少n位的数字^\d{n,}$- 只能输入长度为3的字符^.{3}$- 只能输入由26个英文字母组成的字符串^[A-Za-z]+$

2024-01-29 11:23:24 161

原创 SQLiet介绍和通过postman连接数据库简单使用!

SQLite 没有单独的 Boolean 存储类。相反,布尔值被存储为整数 0(false)和 1(true)TEXT: 文本字符串,存储使用的编码方式为UTF-8、UTF-16BE、UTF-16LE。BLOB: 存储Blob数据,该类型数据和输入数据完全相同。NULL: 表示该值为NULL值。INTEGER: 无符号整型值。REAL: 浮点值。

2024-01-29 11:06:46 256

原创 Oracle、plsql各种条件查询和特点介绍!不看你就亏了!!!

create sequence my_seq ----创建序列名start with 1 -----从1开始increment by 1------每次增长1maxvalue 999999999 ----最大值minvalue 1 ----最小值cycle -----一直累加,不循环nocache–不缓存(每次增完之后都放到数据库中)E-R图一般来说,在设计数据库之前,需要设计E-R 图,表示实体之间的关联关系;

2024-01-23 15:01:13 1028 1

原创 Jquery 的几种常用方法,小白福音!!!!!

jQuery调用jQuery 的hide函数,把背景色给隐藏,hide(5000)有五秒中的动画效果;

2024-01-23 14:54:06 335 1

原创 反编译工具之 dex2jar和jd-GUI下载!干货满满!!!!!!

dex2jar 是 Android 中的一个反编译工具,它可以将 Android 程序安装包 Apk 文件中的 .dex 文件反编译成一个 .jar 文件,也可以将反编译后的 .jar 文件重新编译成 .dex 文件。按照自己dex2jar的安装路径输入,我此处的是d盘,只需要把cd后边的路径换成你的就ok了。最后就长这个样子,一步一步跟着我肯定不能错。这个文件夹是目标apk解压之后的,你要反编译什么就解压。这里你就直接给我点.exe运行 看好了长啥样 别瞎整。,我下载的是这个,大家可按需求下载。

2024-01-19 10:58:00 1261 1

原创 关于WebUploader上传不好使的那些事! 必看

【代码】关于WebUploader上传不好使的那些事!必看。

2024-01-11 11:31:47 593 1

原创 Element UI 分页问题 this.pageSizes.map is not a function

this.pageSizes.map is not a function

2023-01-04 14:41:24 413

原创 常用正则表达式

比如[abc]表示匹配abc其中一个字符就可以,[a-z]表示匹配字母a-z。“.”:表示出换行符以外的任意字符,“\S”:表示除了空白符以外的任意字符。注:元字符在方括号中不起作用的([akm$]和[m.]中元字符都不起作用)方括号内的“^”表示补集,匹配不在区间范围内的字符。“[^xyz]”:匹配除了xyz的任意字符。“[xyz]”:匹配xyz中任意一个字符。“^”:单独使用时表示匹配字符串的开始。“[]”:表示的是指定的字符集。“|”:x|y匹配x或y。

2022-11-30 14:19:20 225

原创 pgsql安装和postgis插件安装

安装这一步时,勾选 Create spatial database,会初始化一个空间数据库。填写数据库的用户名、密码和端口号,这里的密码就是我们安装pgsq是设置的密码。这里需要注意的是要选择与我们pgsql版本一直的插件,不然安装时会出现问题。初始化的空间数据库名称,默认的即可不需要修改,然后install安装。最后完成时,我们找到pgAdmin 4输入密码。.选择安装目录时,安装到pgsql的目录里面。然后安装中会出现弹窗,我们无脑是就可以了。最后我们输入密码找到postgis即可。

2022-11-15 14:12:39 1970

原创 端口号被占用,结束进程

Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port.

2022-11-15 13:29:17 164

原创 JDBC连接Oracle数据库,添加数据,设置手动提交,出现错误时启动回滚操作

public static void insert(){ Connection conn = null; PreparedStatement stm1 = null; PreparedStatement stm2= null; try{ conn = OracleUtil.getConnection(); //设置事物为手动提交, conn.setAutoCommit.

2022-03-05 17:44:42 802

原创 软件设计模式:类之间的关系。uml和实现代码

聚合关系代码:public class Car{ private Engine engine; //构造注入 public Car(Engine engine){ this.engine= Engine; } //设值注入 public void setEngine(Engine engine){ this.engine=engine; }}public class Engine{ }组合关系:代

2021-12-11 12:09:57 279

原创 单例模式与适配器模式

单例模式定义:确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例角色:Singleton(单例)结构图:代码实现:public class Singleton { private static Singleton instance =null; private Singleton(){ } public static Singleton getInstance(){ if(instance==null)

2021-12-10 13:37:23 430

原创 软件设计模式

模式模式的定义:模式是在特定环境下人们解决一些重复出现的问题的一套成功或有效的解决方案。软件模式的基本机构:1)问题描述2)前提条件3)方法4)效果设计模式设计模式的定义:设计模式是在特定环境下为解决通用软件设计问题提供的一套定制的解决方案。该方案描述了对象和类之间的关系。关键元素:1)模式名称2)问题3)解决方案4)效果设计模式的优点:1、可以降低开发人员理解的系统复杂度2、是得重用成功的设计更加容易,并避免那些导致不可重用的设计方案3、使设计方案更加灵活,易于修改4、提高软件系统的开

2021-12-10 12:39:40 712

原创 界面跳转倒计时,

主界面,点击保存后跳转另一界面开始倒计时<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <script> function a(){ window.location="zuoye.html"; } </script> </head> <body> <in

2021-12-10 10:39:19 201

原创 JavaScript表单验证

当文本框失去鼠标的焦点时,判断文本框中的内容是否为空。用submit判断提交时各文本框中的内容是都符合条件,不符合条件文本框后面提示并文本框变红。<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #home { height: 100px; } &lt

2021-12-09 12:28:33 698

空空如也

空空如也

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

TA关注的人

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