- 博客(267)
- 资源 (13)
- 收藏
- 关注
原创 线程池基础
a.CPU密集(计算密集)型任务(N+1): 这种任务(计算操作)消耗的主要是 CPU 资源,可以将线程数设置为 N (CPU 核数)+1,比 CPU 核数多出来的一个线程是为了防止线程偶发的缺页中断, 或者其它原因导致的任务暂停而带来的影响。b.I/O 密集型任务(2N+1): 这种任务应用起来,系统会用大部分的时间来处理 I/O 交互,而线程在处理 I/O 的时间段内不会占用 CPU 来处理,这时就可以将 CPU 交出给其它线程使用。(这个数量包括核心线程数,当任务队列满了,可能还会创建新的线程)
2025-12-02 17:24:01
287
原创 maven的pom文件总结
在IDEA中使用Maven管理Spring Boot项目时,可通过Maven窗口的插件选项添加spring-boot-maven-plugin,该插件提供关键功能如spring-boot:run(运行应用)和spring-boot:build-info(生成构建信息)。这些命令简化了Spring Boot项目的开发与构建流程。
2025-12-02 10:52:24
256
原创 集合的Stream操作
本文展示了Java集合框架中Stream API的使用方法,主要包括:1)List集合的stream()操作,包括过滤(filter)、去重(distinct)、统计(count)等;2)LinkedList和TreeSet的类似Stream操作;3)HashMap的Stream操作,如遍历、筛选、统计等;4)Hashtable的简单Stream示例;5)Stream的map方法转换数据;6)Function接口的andThen组合操作。这些示例演示了如何利用Stream API简化集合操作,实现函数式编程
2025-11-22 14:33:02
128
原创 java垃圾回收机制核心总结
Java内存管理分为栈、堆和方法区。栈内存为线程私有,存放局部变量和方法参数,方法执行完毕后自动回收栈帧空间。堆内存分为年轻代(Eden区和Survivor区)和老年代,通过MinorGC和FullGC进行回收。方法区存储类信息、静态代码和运行时常量池,通过无用类判定和废弃常量回收来清理内存。JDK1.7后字符串常量池移至堆内存。
2025-10-21 17:06:50
294
原创 桌面图标去箭头
这段命令组合用于修复Windows系统图标缓存问题。主要步骤包括:1)修改注册表项指定图标路径;2)强制结束并重启资源管理器进程;3)删除旧的图标缓存文件。操作涉及注册表编辑、系统文件删除和进程管理,需要管理员权限执行。该操作可解决图标显示异常问题,但修改注册表需谨慎。
2025-10-14 15:24:31
305
原创 idea快捷键
本文整理了IntelliJ IDEA常用快捷键大全,按组合键分类整理。包括Ctrl快捷键(如Ctrl+D复制行、Ctrl+F查找)、Alt快捷键(如Alt+Enter快速修复)、Shift快捷键(如Shift+F6重命名)、Ctrl+Alt组合键(如Ctrl+Alt+L格式化代码)、Ctrl+Shift组合键(如Ctrl+Shift+F项目搜索)等8大类200+快捷键。涵盖代码编辑、调试、导航、重构等开发场景,标记了必备快捷键,是提升开发效率的实用指南。
2025-10-09 17:09:27
270
原创 win10去桌面图标
批量创建bat文件,将指定注册表项写入系统,并重启资源管理器。操作步骤: 新建文本文件,粘贴注册表修改命令 包含终止和重启explorer.exe进程指令 保存为.bat文件 以管理员身份运行 说明:该脚本修改系统图标缓存,需要管理员权限执行。运行后会强制刷新资源管理器使修改生效。
2025-10-09 16:55:00
90
原创 解决Intellij IDEA控制台,logger.info(),system.out.println()等中文乱码问题
当我们使用Intellij IDEA开发时,首当其冲就是中文乱码问题,造成中文乱码的根本原因是开发工具和系统环境编码格式不匹配,这篇文章能100%完美解决你所有乱码问题。乱码主要分为如下2种大类一 : 编写环境乱码二 : 控制台打印乱码(又包含3种):IDEA启动时控制台打印乱码log4j的logger.info()控制台打印乱码system.out.println()控制台打印乱码一 : 解决编写环境乱码。
2025-10-09 11:15:53
871
原创 用python实现将csv文件数据插入到mysql
本文介绍了如何使用Python将CSV文件数据分块导入MySQL数据库。主要步骤包括:1.创建数据库连接引擎;2.计算CSV文件总行数;3.按指定块大小读取CSV数据并转换为DataFrame;4.使用to_sql()方法将数据追加到MySQL表中。该方法通过分块处理解决了大数据量导入问题,关键参数包括chunk_size控制每次处理行数,if_exists='append'确保数据追加而非覆盖。示例代码展示了从本地CSV文件导入到MySQL数据库的完整实现过程。
2025-09-28 18:26:39
213
原创 永久修改mysql的字符编码为utf8
MySQL字符集配置指南 摘要:本文介绍了MySQL字符集配置方法,包括永久配置(修改my.cnf文件)和临时会话设置。关键字符集变量包括character_set_client、connection、results等,用于控制客户端、连接和返回结果的编码。建议统一使用utf8mb4字符集以支持完整Unicode字符。配置时需注意不同层级的字符集继承关系:从字段级到表级、数据库级,最后到服务器默认设置。Windows系统可单独设置默认编码为utf8。正确配置字符集可避免数据存储和传输过程中的乱码问题。
2025-09-19 11:03:38
324
原创 创建子类对象时,会创建父类对象吗
有些文章也会将 "在子类对象的内存空间中开辟一块被包含的内存空间存储父类的信息" 理解成一个父类的伪对象或亚对象(和父类创建的对象结构相同,但不是真正的父类对象, 子类对象可以使用这个父类的亚对象调用父类的成员变量和成员方法, super就代表这个亚对象)子类访问父类的私有成员变量及成员变量的初始化过程。
2024-12-04 17:46:53
452
原创 线程的interrupt()
下边的案例和上图中的案例基本相同(不过是把fanchuanqi线程用main线程代替了) (上图是在main线程中启动了wangkejing线程和fanchuanqi线程, 下图是main线程中启动了wangkejing线程 main线程打断了wangkejing线程的sleep)
2024-11-20 16:05:17
243
原创 IO流部分串讲
java将输入与输出比喻为"流",英文:Stream. 就像生活中的"电流","水流"一样,它是以同一个方向顺序移动的过程.只不过这里流动的是字节(2进制数据).所以在IO中有输入流和输出流之分,我们理解他们是连接程序与另一端的"管道",用于获取或发送数据到另一端.按照直接操作数据及间接操作数据的方式分为节点流和处理流或者低级流和高级流。按照读取数据到电脑内存和将电脑内存输出到内存之外,分为输入流和输出流。Java I/O 这里的I和O指的是输入与输出。按是否可以操作字符,分为字节流和字符流。
2024-11-19 17:43:40
946
原创 数据库的分组groupby
数据库中的 group by使用注意事项:select后的 独立字段必须出现在 group by后(必须是分组的依据)select后的聚合函数不用出现在 group by后。
2024-11-16 12:04:58
597
原创 MySql主从搭建
1、修改配置文件:指定server_id、开启binlog日志。4、启动slave进程,查看IO线程和SQL线程状态。1、修改配置文件:指定server_id。2、恢复数据,保持与主服务器数据一致性。3、完全备份数据,并拷贝至从服务器。2、授权用于主从同步的用户。3、指定主服务器信息。
2024-11-16 11:48:03
123
原创 unicode编码常识
但是注意不能写出unicode编码的两个字节 4D 2D , 因为unicode编码是java语言在计算机内存中处理文字采用的编码。假如要写出汉字 '中' ,并且txt文件采用UTF8编码存储文字则需要写出三个字节的数据 E4 、B8和 AD。假如要写出汉字 '中' ,并且txt文件采用GBK编码存储文字则需要写出两个字节的数据 D6 和 D0。都是一次写出1个字节(8bit二进制)数据, 所以可以用这两个方法直接写出一个字母或英文字符。但是不能一次写出一个汉字。
2024-11-16 11:35:07
185
原创 MySql主从复制原理
主库会生成一个 log dump 线程,用来给从库 I/O 线程传 Binlog 数据。从库的 I/O 线程会去请求主库的 Binlog,并将得到的 Binlog 写到本地的 relay log (中继日志)文件中。SQL 线程,会读取 relay log 文件中的日志,并解析成 SQL 语句逐一执行。
2024-09-22 09:57:43
423
原创 ZmooIt软件快捷键
t:文字框 # Ctrl + 滚轮改变字体的大小,不能输入中文。Ctrl + w(白色)/k(黑色):将屏幕变成白板或黑板。ctrl + 鼠标滚轮 : 调整画笔粗细。Ctrl + Z:撤销最后的标注。Ctrl + e:擦除所有标注。shift + ctrl:箭头。
2024-08-06 15:28:25
227
原创 ConcurrentModificationException
正在用Iterator迭代器循环操作的集合不能调用集合的删除方法,否则就会报异常:ConcurrentModificationException。(调用迭代器的remove方法可以)
2024-06-26 13:34:12
247
原创 JDBC简介
Jdbc操作步骤简析:1.DriverManager(url,账号,密码):用DriverManager类的连接方法根据url账号密码连接数据库,并返回一个连接对象Connection conn2.Connection对象表示java代码和数据库的一个连接(将连接封装为一个java对象了<里边包含连接的数据库名,连接地址,表信息,数据库时区,数据库编码等信息>)3.connsql语句表示用连接对象的sql语句。
2024-06-12 12:31:52
575
原创 程序员的发展之路
入行七八年之后需要向收入更高,编码更好 或者更稳定更顾家的岗位提升或者转行。不再依靠效率低价来竞争而是依靠高质量高可用高稳定性及不可替代的 业务复杂度来竞争,这样软件开发就不需要频繁的更换 体力充沛,精力旺盛,思路灵活的年轻人。三.软件开发总体趋势: 中国软件行业会越来越成熟, 没有电子话的产业会逐步实现电子化智能化, 甚至中国发展几年之后随着国际业务的增多,软件行业利润率的提升。3.编程工作转行是必然,一般干10年以内都要想办法提升职位,因为年轻人更有激情可以投入更多时间,思维更快,牵绊更少。
2024-06-06 15:47:44
496
原创 mybatis的pagehelper插件
PageHelper比自己用limit的好处在于:不需要自己计算目前需要从第几条开始。只需要传入要查询的数据页码就可以。使用简单:PageHelper提供了非常简单易用的API,只需要在查询方法中调用PageHelper.startPage方法即可实现分页。功能强大:PageHelper支持多种数据库,支持多种分页方式,支持自定义分页查询语句等。性能优秀:PageHelper采用了预处理和缓存技术,可以大大提高分页查询的性能。物理分页: 使用sql直接对数据进行分页处理。
2024-06-04 15:14:45
1653
原创 java的clone
如果具有引用类型成员变量的类,此时若需要进行深克隆,则需要重写了clone方法,并在clone方法中调用引用类型成员变量的clone方法对引用类型变量指向的对象都进行克隆。如果具有引用类型成员变量的类,单纯的重写了clone方法。则调用clone方法进行对象克隆时就是浅克隆(只是克隆了此类对象,内部的引用类型属性指向的对象没有被克隆)。
2024-06-04 00:08:04
481
原创 chat4-Server端保存聊天消息到mysql
本文档描述了Server端接收到Client的消息并转发给所有客户端或私发给某个客户端同时将聊天消息保存到mysql服务端为当前客户端创建一个线程,此线程接收当前客户端的消息并转发给所有客户端或私发给某个客户端同时将聊天消息保存到mysql本文档主要总结了将聊天消息保存到mysql!!!),;import;import;import;/**用druid连接池来连接数据库的工具类*/DBUtil。
2024-06-02 14:54:06
1082
原创 chat3-Server接收数据并转发给所有Client
客户端需要编写一个单独的线程类ServerHandler,用于接收服务端返回的数据 (main方法调用的start()方法内发送消息) (是为了发送消息的同时还能接收消息)。//就从Map allOut集合获取发送消息的客户端对应的输出流,用println()返回给发送消息的客户端 "私聊格式错误..."//从Map allOut集合获取发送消息的客户端的输出流,用此println()给发送消息的客户端返回 "用户[接收方昵称]不存在!" 为toMessage。
2024-06-02 14:34:44
994
原创 chat2-Client发送数据给Server
注: socket对象和服务端对应,里边包含此客户端和服务端对应的输入流和输出流可以用来读服务端发送的数据并给服务端返回数据。//Socket提供的方法: OutputStream getOutputStream(),通过该Socket获取。//通过该Socket对象获取的输入流(可以读取对应客户端发送过来的字节数据)1.1.客户端的类Client.java中添加如下的start()方法 (表示启动客户端功能的方法),并调用。//服务端的socket包含输出流和输入流用于接收客户端数据并返回输出给客户端。
2024-06-02 14:30:45
900
原创 chat1-Client&Server连接
/ 该方法用于接受客户端的连接,此方法是一个阻塞方法,调用后方法会"卡住"//java.net.Socket 单词释义:"插座"。//java.net.ServerSocket类似于聊天室服务端的"总机",该"总机"上有若干的"插座"// 开始等待客户端的连接,一旦一个客户端连接,那么此方法会立即返回一个。// 每个插座可以连接一个客户端的插头,实现让多个客户端连接到同一个"总机"上。// 2:一旦一个客户端与总机建立连接,总机就会分配一个"插座"与该客户端沟通。
2024-06-02 14:26:30
815
原创 java泛型
JDK5除了推出foreach新循环,还推出了一个新特性:泛型泛型作用:在一个类或接口的声明处指定该类中某个属性的类型。或声明方法返回值的类型或方法参数的类型泛型也称为参数化类型。它允许我们在一个类或接口的声明处指定该类中某个属性的类型或方法返回值的类型或方法参数的类型,使得我们使用这个类时更方便更灵活。使用了泛型的类叫泛型类、 使用了泛型的接口叫泛型接口、 使用了泛型的方法叫泛型方法泛型在集合中广泛使用,用于指定该集合中的元素类型。注意:当没有指定泛型时,默认类型为Object类型。
2024-05-29 09:26:00
708
原创 javaIO流知识点概况
实际开发中我们还有功能更好用的字符高级流.但是其他的字符高级流都有一个共通点:不能直接连接在字节流上.而实际操作设备的流都是低级流同时也都是字节流.因此不能直接在流连接中串联起来.转换流是一对可以连接在字节流上的字符流,其他的高级字符流可以连接在转换流上.在流连接中起到"转换器"的作用(负责字符与字节的实际转换)重载的构造方法允许我们再传入一个boolean型参数,如果这个值为true,则文件流为追加模式,即:若连接文件时该文件存在,原有数据全部保留,通过当前流写出的数据会顺序的追加到文件中。
2024-05-28 18:18:05
1090
原创 SpringValidation
/此注解可用在方法上, 成员变量上, 注解上, 构造方法上, 方法参数上//在运行时生效//默认错误信息String message() default "不能包含空格";//分组Class
2024-05-27 09:11:39
1324
原创 java字符串:
中的 "张三丰" 改为 "张三",则第一个个人想让name的值为"张三"//java编译器会先将"hello"和 "world"拼接为"helloworld",再将"helloworld"存储到符串常量池中。//再同一个时间点第二个人将里边的 "张三" 改为 "张武", 则第一个人查看修改之后的数据时,发现name不是他想要的"张三"//比如将"abc"改成"abcd" (不是在原"abc"字符串中修改,而是创建了一个新的字符串值为"abcd" )//
2024-05-23 09:13:07
566
小游戏小游戏小游戏小游戏小游戏小游戏,射击,射击,射击,射击,射击
2023-07-21
beike-面试宝典 pdf
2023-06-16
MyBatis_3参考手册, spring2.5参考手册
2022-10-03
java基础一整套练习题
2022-09-24
api-ms-win-crt-runtime-|1-1-0.dll
2018-03-12
框架Spring的Controller注解和RequestMapping注解 在MVC应用注意事项
2017-06-04
兔子繁殖案例
2018-05-27
mycat_zyq.rar
2020-09-15
bootstrap-.rar
2020-08-07
mybatis-dtd.rar
2020-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1