- 博客(53)
- 资源 (8)
- 收藏
- 关注
原创 13.正则常用
起始/结束 次数匹配 次数区间用法 {} 例子: 3{3,5} 333 3333 33333 任意字符 取值范围 [] 分组写法 案例: 需要匹配图片的类型 xxx.jgp 只要满足其中之一即可 (jpg|png|jpeg|gif)
2021-10-04 17:38:09
146
原创 11.静态代码 构造函数 构造代码块 的加载顺序
public class Percent { public Percent(){ System.out.println("percent 构造方法"); } { System.out.println("percent 构造代码块"); } static{ System.out.println("percent 静态代码块"); }}public class Child extends Percent {.
2021-09-23 23:39:44
144
原创 10.Session Cookie 会话控制
Session :Session对象存储特定用户会话所需的属性及配置信息。当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户...
2021-09-22 15:20:55
96
原创 9.UUID
UUID是一个32位16进制字符串,通常可以保证 每次生成的串都是唯一的补充: 16 进制取值区间 0-9 A-F 32个0-9 32个A-FUUID可能性多少种: 16^32 = (2^4)^32 = 2^128 = 3.4*10^38种
2021-09-22 11:01:32
387
原创 构建系统返回值SysResult VO(系统与前端交互)
说明: 前后端进行交互时需要一种同意的方式进行返回,在项目中用的SysResult对象进行同意返回VO层: 前端获取服务器数据时一般都通过VO层进行封装
2021-09-22 10:11:57
347
1
原创 8.登录步骤操作
/*登录步骤: 1.登录再次校验数据是否有效 2.发起ajax请求 localhost:8080/username/password post请求 3.后端服务器通过username/password 进行数据查询 结果: (1.有数据 用户密码正确 (2.无数据 错误 4.后端将数据处理完成后,返回特定的数据,告知前端 返回数据(回执!!!) stat...
2021-09-22 01:36:40
193
原创 Nginx 下载及安装
下载地址:nginx: download1.选择稳定版本,解压到本地2. 进入路径 D:\ngnix\nginx-1.20.1 启动nginx.exe 建议DOS窗口启动3.检验是否安装成功 ---- 本地连接 localhost:80
2021-09-18 01:19:16
140
原创 7.#{}和${}区别
1.#{ }是预编译处理, 是占位符, ${ }是赐福穿替换,是拼接符;2.Mybatis在处理#{ }时, 会将sql中#{ }替换为?号, 调用PerparedStatement来赋值;3.Mybatis在处理${ }时, 就是把${ }替换成变量的值,调用Statement来赋值;4.#{ } 的变量替换是在DBMS中,变量替换后,#{ }对应的变量自动加上单引号;5.${ }的变量替换是在DBMS外,变量替换后,${ }对应的变量不会加上单引号;6.使用#{ } 可以有效的防治.
2021-09-17 21:32:51
305
原创 6.Mybatis优缺点
优点:基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML中,接触sql与程序代码的耦合,便于同意管理; 提供XML标签, 支持编写动态SQL语句,并且可重用. 与JDBC相比,减少了50%以上的代码, 消除了JDBC大量的冗余代码,不需要手动开关连接; 很好的与各种数据库兼容(因为Mybatis使用JDBC来连接数据库,所以只要JDBC支持的数据库,Mybatis都支持) 能够与Spring很好的集成; 提供映射标签, 支持对象与数据库的ORM字段关系
2021-09-17 20:59:40
121
原创 跨域的说明
规定:如果浏览器的网址与ajax的请求网址必须满足同源策略,则浏览器才能解析Ajax,执行正确的请求.同源策略介绍: 规定要求: 请求协议 域名 端口 如果三者都满足,则符合同源策略,浏览器可以正确解析,反之不满足同源策略,称之为跨域请求,则浏览器不能正确解析Ajax请求.(一个不满足,都是不满足同源策略)练习: 1. 浏览器 : http://localhost:8090/login.html Ajax地址:...
2021-09-13 23:00:33
124
原创 Arrays中的二分查找
#JDK对你最有触动的代码#Arrays中的二分查找方法(以double为例)// 片段1private static int binarySearch0(double[] a, int fromIndex, int toIndex, double key) { int low = fromIndex; int high = toIndex - 1; while (low <= high) { ...
2021-09-12 22:19:52
362
原创 synchronized and Lock
在JAVA并发中,实现锁通常有synchronized关键字和Lock两种方式,以前不了解Lock锁的时候,感觉Lock锁用起来太复杂,需要手动的加锁和解锁,如果忘记释放又会产生锁死。相比较而言synchronized隐式的用起来就非常简单,但是看了源码以后就被它深深的吸引了。ReentrantLock 是 Lock 的实现类,提供了两个构造器,里面有一个内部类Sync,Sync继承AQS,添加锁和释放锁的大部分操作实际上都是在Sync中实现的。构造器默认初始化的是非公平锁来提高并发度。篇幅有限,我贴出
2021-09-12 22:14:47
78
原创 ConcurrentHashMap感触
JDK源码对你最有触动的是哪一段?为什么?public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable { private static final long serialVersionUID = 7249069246763182397L; private static final int MAXIMU...
2021-09-12 22:12:51
89
原创 idea 使用gitee 的简便操作
第一步: 安装Git 一直下一步就行,看到安装位置,自定义一下;注册Gitee账号链接:https://pan.baidu.com/s/1C1jkc64XGVKD6sJ6Y3vELg提取码:1234第二步: IDEA下载插件gitee第三部具体应用: 点击后会在gitee中自动帮你配置仓库 第四步: 设置本地第五步: 使用上传第六步: 上传成功...
2021-09-11 02:11:52
499
原创 java.lang.RuntimeException: Cannot reconnect.
目录下载源码时:java.lang.RuntimeException: Cannot reconnect.绝决方案:成功: 已经下载源码下载源码时:java.lang.RuntimeException: Cannot reconnect.绝决方案: 添加:-Djava.net.preferIPv4Stack=true成功: 已经下载源码...
2021-09-09 13:39:44
596
原创 YML和properties的区别
目录YML:properties:YML:# 1.数据结构 k:v结构# 2.写法 key:(空格) value !!!!!!!!!# 3. YML有层级结构 注意父子级的语法# 4. YML文件程序默认采取UTF-8编码 不乱码properties:#1.properties语法 是k-y结构#2.基本写法 k:v 不要有多余的空格#3.properties 本身就是字符串类型#4. properties IDEA设定utf-8 是IDEA.
2021-09-09 13:23:48
447
原创 spring框架之间的关系
1.SpringMVC 作用:接受用户提交的数据,返回服务器数据(交互)2.spring 作用: 整合 其他的第三方框架,可以让程序以一种同意的方式进行调用3.Mybatis 作用: 整合JDBC 方便用户和数据库进行交互(持久化)4.SpringBoot 作用: 简化Spring等框架的操作(简化) 理解: SpringBoot就是一个框架的高级API ...
2021-09-08 23:42:16
248
原创 IDEA中 maven的配置
目录第一步: 以下路径进入setting 不用每次开启新的项目都配置maven第二步:maven本地仓库路径设置:maven镜像仓库设置:第一步: 以下路径进入setting 不用每次开启新的项目都配置maven第二步:maven本地仓库路径设置:maven镜像仓库设置: 阿里镜像仓库----可以设置华为等镜像仓库...
2021-09-08 23:26:07
72
原创 IDEA 环境说明----
目录设置字体滚轮缩放设定自动化提示 去除大小写匹配-------------无论大小写都会自动提示设置方法的参数自动提示字符集的编码格式(UFT-8)自动编译设置字体滚轮缩放设定自动化提示 去除大小写匹配-------------无论大小写都会自动提示设置方法的参数自动提示字符集的编码格式(UFT-8)自动编译...
2021-09-08 23:13:08
98
原创 程序计数器
程序计数器:线程私有,无内存溢出问题程序计数器是一块很小的内存空间,用于存储当前运行的线程所执行的字节码的行号指示器。每个运行中的线程都有一个独立的程序计数器,在方法正在执行时,该方法的程序计数器记录的是实时虚拟机字节码指令的地址;如果该方法执行的是Native方法,则程序计数器的值为空(Undefined)。程序计数器属于“线程私有”的内存区域,它是唯一没有Out Of Memory(内存溢出)的区域。...
2021-08-31 11:23:02
182
2
原创 JVM的内存区域
JVM的内存区域分为线程私有区域(程序计数器、虚拟机栈、本地方法区)、线程共享区域(堆、方法区)和直接内存,如图1-2所示。 图1-2线程私有区域的生命周期与线程相同,随线程的启动而创建,随线程的结束而销毁。在JVM内,每个线程都与操作系统的本地线程直接映射,因此这部分内存区域的存在与否和本地线程的启动和销毁对应。线程共享区域随虚拟机的启动而创建,随虚拟机的关闭而销毁。直接内存也叫作堆外内存,它并不是JVM运行时数据区的一部分,但在并发编程中被频繁使用。JDK的NIO模块提供的基于Channel与Buffe
2021-08-31 11:20:44
90
原创 2021-08-31
在类的内部,变量定义的先后顺序决定了初始化顺序。即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造方法)被调用之前得到初始化。无论创建多少个对象,静态数据都只占用一份存储区域。static关键字不能应用于局部变量,因此它只能作用于域。如果一个域是静态的基本类型域,且也没有对它进行初始化,那么它就会获得基本类型的标准初值;如果它是一个对象引用,那么它的默认初始化值就是null。静态初始化只有在必要时刻才进行,例如:类里面的静态变量,只有当类被调用时才会初始化(执行),并且静态变量不会再次被初始
2021-08-31 01:00:52
109
原创 遍历ArrayList
package com.hx.conllection;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ArrayListTests { public static void main(String[] args) { List<String> list=new ArrayList<String>(); l.
2021-08-30 12:59:04
103
原创 遍历Map
package com.hx.conllection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class MapTests { public static void main(String[] args) { Map<String, String> map= new HashMap<String, String>(); .
2021-08-30 12:57:38
107
1
原创 多线程
多线程在多核操作系统上,JVM允许在一个进程内同时并发执行多个线程。JVM中的线程与操作系统中的线程是相互对应的,在JVM线程的本地存储、缓冲区分配、同步对象、栈、程序计数器等准备工作都完成时,JVM会调用操作系统的接口创建一个与之对应的原生线程;在JVM线程运行结束时,原生线程随之被回收。操作系统负责调度所有线程,并为其分配CPU时间片,在原生线程初始化完毕时,就会调用Java线程的run()执行该线程;在线程结束时,会释放原生线程和Java线程所对应的资源。在JVM后...
2021-08-30 09:46:12
78
原创 JVM的运行机制
JVM的运行机制JVM(Java Virtual Machine)是用于运行Java字节码的虚拟机,包括一套字节码指令集、一组程序寄存器、一个虚拟机栈、一个虚拟机堆、一个方法区和一个垃圾回收器。JVM运行在操作系统之上,不与硬件设备直接交互。Java源文件在通过编译器之后被编译成相应的.Class文件(字节码文件),.Class文件又被JVM中的解释器编译成机器码在不同的操作系统(Windows、Linux、Mac)上运行。每种操作系统的解释器都是不同的,但基于解释器实现的虚拟机是相同的,这也是Java能够
2021-08-30 02:43:28
920
1
原创 面向对象的四大特性是?
抽象: 关键词abstract声明的类叫作抽象类, abstract声明的方法叫抽象方法 一个类里包含了一个或多个抽象方法,类就必须指定成抽象类 抽象方法属于一种特殊方法,只含有一个声明,没有方法体 封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接⼝即方法 在java中通过关键字private, protected和public实现封装。 封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据, 封装实际上使用方法将类的数...
2021-08-29 14:36:27
144
1
原创 String、StringBuffer与StringBuilder的区别
三者都是final, 不允许被继承 在本质都是char[]字符数组实现 String、 StringBuffer与StringBuilder中, String是不可变对象,另外两个是可变的 StringBuilder 效率更快,因为它不需要加锁,不具备多线程安全 StringBuffer⾥⾯操作⽅法⽤synchronized ,效率相对更低,是线程安全的; 使用场景: 操作少量的数据用String,但是常改变内容且操作数据多情况下最好不要用 String ,...
2021-08-29 14:34:14
134
1
原创 面试-----分布式应用的登录校验解决方案有哪几种
==分布式应用的登录校验解决方案有哪几种== 方案一: 真实的应用不可能单节点部署,所以就有个多节点登录session共享的问题需要解决 tomcat支持session共享,但是有广播风暴;用户量大的时候,占用资源就严重,不推荐 方案二: 使用redis存储token: 服务端使用UUID生成随机64位或者128位token,放入redis中,然后返回给客户端并存储在cookie中 + 用户每次访问都携带此token,服务端去redi...
2021-08-28 15:26:36
338
原创 CSET.TXT
Skip to contentBarcodeFAQ.comHOMEBARCODE FAQSHOW TO IDENTIFY A BARCODEKNOWLEDGE BASEBLOGASCII Chart & ISO 1252 Latin-1 Char SetBarcode Information | Tutorials | FAQs at BarcodeFAQ.comThe following table is a mapping of characters used in the
2021-08-28 15:21:54
1280
原创 线程池的创建
除了使用ThreadPoolExecutor,还有没有其他方式创建线程池 有,可以通过Executors去进行创建,分别有:newCachedThreadPool:创建一个可以根据需要创建新线程的线程池,如果有空闲线程,优先使用空闲的线程newFixedThreadPool:创建一个固定大小的线程池,在任何时候,最多只有N个线程在处理任务newScheduledThreadPool:能延迟执行、定时执行的线程池newWorkStealingPool:工作窃取,使用多个队列来减少竞争...
2021-08-27 22:43:13
161
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人