自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 idea中不能使用npm命令的解决办法

在idea的Terminal命令窗口里面输入npm -v的命令时,报’npm’不是内部或外部命令,也不是可运行的程序或批处理文件。这是因为idea的Terminal里面配的是git,而不是我们本机的cmd,这时我们只需要把git改为本机的cmd就好npm。点击IDEA左上角的File,点击settings,找到Tools,点击Terminal。这里找到Shell path,获取cmd.exe路径,点击窗口右下角的Apply。重启IDEA即可解决问题。

2023-11-22 10:07:56 3405

原创 轮播图源代码:html+js

【代码】轮播图源代码:html+js。

2023-11-10 20:03:58 184

原创 请求转发和重定向

发生在服务端程序内部,当服务器端收到一个客户端的情求之后,会先将请求,转发给目标地址,再将目标地址返回的结果转发给客户端。(张三(客户端)找李四(服务器端)借钱,而李四没钱,于是李四又去王五那借钱,并把钱借给了张三,整个过程中张三只借了一次款,剩下的事情都是李四完成的,这就是请求转发):重定向指的是服务器端接收到客户端的请求之后,会给客户端返回了一个临时响应头,这个临时响应头中记录了,客户端需要再次发送请求(重定向)的URL地址,客户端再收到了地址之后,会将请求发送到新的地址上,这就是重定向。

2023-10-30 21:42:22 136

原创 LinkedHashMap

键:有序,不重复,无索引有序指的是保证存储和取出的元素顺序一致底层是哈希表,每个键值对额外多一个双链表记录存储顺序。

2023-10-29 21:02:15 79

原创 HashMap

采用哈希表实现键值对集合,继承AbstractMap,实现了Map接口底层实现为链表数组,jdk8后加了红黑树key不允许重复元素无序允许空键和空值,但空键只允许一个当链表长度超过8并且数组长度大于等于64的时候会自动转换为红黑树依赖hashCode和equals方法保证键的唯一(对值没有要求)如果键存储的是自定义对象,需要重写hashCode和equals方法(对值没有要求)

2023-10-29 20:53:56 21

原创 Map集合遍历方式

【代码】Map集合遍历方式。

2023-10-29 20:17:39 22

原创 Map集合常用方法

在添加数据的时候,如果键不存在,那么直接把键值对对象添加到map集合当中,方法返回null在添加数据的时候,如果键是存在的,那么会把原有的键值对对象覆盖,会把被覆盖的值进行返回。

2023-10-29 20:01:14 28

原创 Executors

这些方法的底层,都是通过线程池的实现类ThreadPoolExecutor创建的线程池对象。

2023-10-29 18:01:40 16

原创 线程池的使用

临时线程什么时候创建:新任务提交时发现核心线程都在忙,任务队列也满了,并且还可以创建临时线程,此时才会创建临时线程什么时候开始拒绝新任务:当核心线程和临时线程都在忙,任务队列也满了,新的任务过来时才会拒绝。

2023-10-29 17:47:56 16

原创 线程同步方法

两个人去取钱,已知卡里余额100000,每人都要取10000上面执行结果显然是不对的,如何解决?

2023-10-29 16:24:51 14

原创 线程创建方式

优点:编码简单缺点:线程类已经继承Thread,无法继承其他类,不利于功能的扩展。启动线程必须是调用start方法,不是调用run方法。不要把主线程任务放在启动子线程之前。优点:任务类只是实现接口,可以继续继承其他类、实现其他接口,扩展性强。缺点:需要多一个Runnable对象。优点:线程任务类只是实现接口,可以继续继承类和实现接口,扩展性强;可以在线程执行完毕后去获取线程执行的结果。缺点:编码复杂一点。

2023-10-29 15:18:14 18

原创 字符输入输出转换流

InputStreamReader 字符输入转换流OutputStreamWriter 字符输出转换流。

2023-10-29 13:51:53 29

原创 原始流,缓冲流性能比较

【代码】原始流,缓冲流性能比较。

2023-10-28 23:01:15 263

原创 出师表排序

【代码】出师表排序。

2023-10-28 22:31:53 97

原创 IO流框架,缓冲流

把低级的字符输出流包装成一个高级的缓冲字符输出流管道,从而提高字符输出流写数据的性能。把低级的字符输入流包装成字符缓冲输入流管道,从而提高字符输入流读字符数据的性能。原理:字节缓冲输入流自带8kb缓冲池,字节缓冲输出流也自带8kb缓冲池。把低级的字节输入流包装成一个高级的缓冲字节输入流,从而提高读数据的性能。把低级的字节输出流包装成一个高级的缓冲字节输出流,从而提高写数据的性能。自带8kb的字符缓冲池,可以提高字符输入流读取字符数据的性能。自带8kb的字符缓冲池,可以提高字符输出流写字符数据的性能。

2023-10-28 22:17:06 310

原创 FileWriter文件字符输出流

文件字符输出流优化了此问题,当我们创建文件字符输出流的时候,会在内存中分配一块缓冲区,在我们用文件字符输出流写出数据的时候,数据并没有写到文件里,而是把数据先写到缓冲区里,这样速度会很快,等数据全都写到缓冲区,掉用刷新流或者关闭流,才进行系统调用,把缓冲区的数据同步到文件中。因此,刷新流和关闭流的主要区别在于:刷新流是强制输出缓冲区中的数据,以确保数据的完整性和一致性;该代码在执行中会把原文件内容删了,和前面讲的字节输入流一样,该代码执行多次,里面的内容不会追加,解决方案,在字符输出流后面加true。

2023-10-28 20:58:28 96

原创 FileReader文件字符输入流

因此,在使用Java处理中文字符时,推荐使用字符输入流来读取文件中的数据,这样可以避免乱码问题的出现。当然,如果需要写入文件时,也需要使用相应的字符输出流(如FileWriter、BufferedWriter等)来将字符数据写入文件,并使用正确的编码方式进行编码。public int read(char【】buffer)每次用一个字符数组去读取数据,返回字符数组读取了多少个字符,如果发现没有数据可读会返回-1.public int read()每次读取一个字符返回,如果发现没有数据可读会返回-1.

2023-10-28 20:17:38 59

原创 File 复制文件

优点:该资源使用完毕后,会自动调用其close()方法,完成对资源的释放!以上代码没有使用try-catch-finally释放资源。而是采用try-with-resource方式。这里测试一下是否是自动调用close()

2023-10-28 19:56:52 57

原创 FileOutputStream文件字节输出流

public FileOutputStream(String filepath,boolean append)创建字节输出流管道与源文件路径接通,可追加数据。public FileOutputStream(File file,boolean append)创建字节输出流管道与源文件对象接通,可追加数据。public void write(byte【】buffer, int pos, int len)写一个字节数组的一部分出去。public void write(int a)写一个字节出去。

2023-10-28 19:27:36 93

原创 FileInputStream文件字节输入流

public int read(byte[] buffer) :每次用一个字节数组读取数据,返回字节数组读取了多少字节,如果发现没有数据可读,返回-1.public int read() :每次读取一个字节返回,如果发现没有数据可读,返回-1。上面代码读取性能很差,且读取汉字会乱码,需要进一步改进;解决方案一:定义一个与文件一样大的字节数组,一次性读取完文件的全部字节(不推荐)上面代码一个一个字节读太麻烦了,而且读取汉字会乱码,下面进行优化。上面代码读取性能提升了,但依旧在读取汉字上会产生乱码。

2023-10-28 19:06:05 176

原创 java中的IO流

字符输入流:把磁盘文件/网络中的数据以字符的形式读入到内存中去的流。字符输出流:把内存中的数据以字符写出到磁盘文件或者网络介质中去的流。字节输出流:把内存中的数据以一个个字节形式写出到磁盘文件或网络中。outputStream实现类:FileoutputStream。inputStream实现类:FileinputStream。字节输入流:把磁盘或网络中的数据以一个个字节形式读到内存中。Reader实现类:FileReader。Writer实现类:FileWriter。这上面四个都是抽象类。

2023-10-28 17:35:40 45

原创 编码,解码

总之,UTF-8编码相对于GBK编码具有更好的全球通用性、兼容性、易维护性和对多语言字符的支持能力,因此在大多数情况下,推荐使用UTF-8编码来处理文本数据。汉字在UTF-8编码中占3个字节,第一个字节必须以1110开头,第二,第三个字节必须以10开头。UTF-8:采取可变长编码方案,共分为四个长度区,1个字节,2个字节,3个字节,4个字节。第一行中使用UTF-8编码,所以汉字占3个字节并且每个字节以1开头,所以是负数。第二行中使用GBK编码,汉字占2个字节并且每个字节以1开头,所以是负数。

2023-10-28 17:07:16 95

原创 File删除非空文件夹

【代码】File删除非空文件夹。

2023-10-28 16:26:37 65

原创 File文件查找

用的是递归调用, (递归死循环的结果是导致栈内存溢出错误)

2023-10-28 16:12:56 36

原创 File中文件改名

【代码】File中文件改名。

2023-10-28 15:51:00 57

原创 File相关方法2

【代码】File相关方法2。

2023-10-28 15:30:04 26

原创 File相关方法

【代码】File相关方法。

2023-10-28 15:16:21 23

原创 创建SpringBoot工程

- springboot web模块 二选一。-- springboot 测试,包含。上面下载的压缩包解压后用IDEA直接打开即可。创建后,在pom.xml中配置一下。表示当前类就是入口类,在类中写。工程,所以我们创建一个。

2023-10-23 14:54:47 129

原创 sleep和wait的区别

2.sleep:用于线程休眠,不会释放锁;wait:用于对象监视器(锁),释放锁,进入等待状态,等待被唤醒。sleep()方法会让程序暂停执行指定的时间,让出cpu给其他的线程,当指定的时间到了会恢复运行。1.sleep()方法属于Thread类的静态方法,wait()方法属于Object类的实例方法。sleep能够在任何地方使用,但wait只能在同步方法或同步块中使用。3.sleep:在指定时候后自动唤醒;wait:需要其他线程显式调用。

2023-10-23 13:22:44 47

原创 java读取指定文件夹下的全部文件,并输出文件名,文件大小,文件创建时间

【代码】java读取指定文件夹下的全部文件,并输出文件名,文件大小,文件创建时间。

2023-10-22 22:02:32 742

原创 设置session过期时间

session过期时间指的是从session创建到一定时间后,这个时间段客户端没有任何操作,session会自动销毁。

2023-10-22 12:24:40 1706

原创 Session

1.保存用户浏览器记录数据。2.保存用户登录信息数据。

2023-10-22 12:17:18 75

原创 Cookie的使用

运行以上代码,需要配置Tomcat,配置相关依赖。浏览器根据这个路径判断哪些。的最大生存时间(单位:秒)

2023-10-22 11:50:19 62

原创 请求转发和重定向区别

3.转发地址栏不变,重定向地址栏变化(两次请求,两个地址)2.转发操作发生在服务器内部,重定向是在浏览器执行操作。4.转发可以在一次请求中共享request数据。1.转发在一次请求中完成,重定向是两次请求。

2023-10-18 10:03:31 102

原创 SQL语句的书写顺序和执行顺序

1.书写顺序:select---distinct---from---join---on---where---group by---having---order by---limit。2.执行顺序:from---on---join---where---group by---having---select---distinct---order by---limit。

2023-10-18 09:56:27 33

原创 List和Set区别

两者线程均不安全,ArrayList集合随机访问效率高于LinkedList集合,LinkedList集合在插入,删除元素时效率高于ArrayList集合。(1)HashSet底层数据结构是哈希表,元素无序,唯一(如果不重写hashCode和equals方法无法保证元素的唯一性),线程不安全,可以存null。(2)LinkedHashSet底层是链表和哈希表,有序,唯一,线程不安全,(3)Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低。

2023-10-17 23:35:23 14

原创 IDEA中明明导入jar包了,依旧报ClassNotFoundException

3.点击Artifacts,点击+号把包添加下就可以了。2.点击Project Structure...1.点击IDEA右上角的设置。

2023-10-16 21:56:09 1296 2

原创 解决“本地计算机上的 mysql 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止”

6.重启mysql:在刚才的命令提示窗口输入net start mysql。完成了:重启后账号密码都重置了,不要再输入之前设定的账号密码了。1.在数据库的根目录删除data文件(删除前最好先备份一下)4.点击后上面路径变蓝,然后直接输入cmd,进入命令提示窗口。如果你之前没有修改过数据库相关文件那么执行以下步骤。5.在窗口输入以下命令(重点,下面的命令输入的是。3.点击进入bin目录,点击上面的路径。2,然后重新创建一个data文件夹。电脑在服务中启动mysql报。

2023-10-15 21:19:43 1244 1

原创 JAVA总结01

(2)对输入有效字符之间遇到的空白字符,next()方法会自动将其去除,也就是说如果输入了一串字符,到了有空格的时候就会停止录入,只录入空格前面的东西,空格后面的东西(包括分隔的空格都会保留在缓存区域),除了空格以外,Tab键和Enter键都被视为分隔符(结束符)。,这样的转换会导致结果超出byte类型的范围,因此在赋值给a时会出现类型转换错误。(1)以回车键为结束符,即nextLine()方法会返回输入回车键之前的所有字符。(2)nextLine()方法可以获取包含空白字符的输入,不会忽略空白字符。

2023-10-15 19:36:02 74

原创 用java发送邮箱javax.mail.SendFailedException: Invalid Addresses; nested exception is: com.sun.mail.smt

明明邮箱地址都是正确的,也开启SMTP服务了,但报下面的错误。最后解决办法,下面这个双引号去掉就可以了。

2023-10-14 22:10:32 148

空空如也

空空如也

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

TA关注的人

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