- 博客(69)
- 资源 (1)
- 收藏
- 关注
原创 笔记本电脑忘记开机密码怎么办?不需重装系统,重置开机密码
方式2:开机后,按住电源键自动重启,重复3次,就会出现疑难解答界面。我使用的是这个方法。1、切换到系统所在盘的C:\Windows\System32>,我的系统是在C盘。这里记录个方法,亲测有效。我的电脑版本是Windows11,21H2。copy cmd.exe utilman.exe // Y选择覆盖。方式1:按住Shift键,然后重启电脑。我电脑使用这个方法无效。上面步骤做完再重启,然后点击右下角的辅助功能出现命令窗口,从疑难解答界面进去选择高级选项,选择命令提示符。输入新密码(不会显示)。
2024-05-15 10:10:00
1353
原创 MySQL问题记录-主机被锁问题
描述:"Host ‘113.109.111.217’ is blocked because of many connection errors。超过mysql数据库max_connection_errors的最大值;解决方法:用管理员进入到数据库中, 执行命令 flush hosts;原因:同一个ip在短时间内产生太多中断的数据库连接而导致的阻塞;
2024-05-15 10:01:32
296
原创 Linux查找日志常用命令
进入文件后使用/字符(从光标出向尾)或?字符(从光标出向头)搜索 + 回车键。找到内容后按n跳到下一个,按h、j、k、l可以移动光标。-C:表示找到目标时,同时显示目标上下20行内容。用法:grep -C 20 “搜索字符” 文件名。按回车键增加空白行,按Ctrl + C 结束。grep用法可以很多种,列举常用的。tail命令常使用选项-f。如:vi sys.log。
2024-01-21 11:09:08
1179
原创 记录SpringCloud使用Zookeeper做服务中心遇到的问题
2、在windows的CMD使用Telnet命令检查端口是否通,不通则检查linux系统防火墙是否关闭(我的原因就是未关闭防火墙)1、使用的zookeeper是安装在本机的虚拟机中,网络调通(通过ping命令测网络)查看:systemctl status firewalld.service。关闭:systemctl stop firewalld.service。2、启动spring程序,报错看不到services。1、检查spring程序写的ip和端口。报错信息就不打出来了。
2023-09-24 22:21:31
398
原创 Idea使用tomcat插件运行Skipping non-war project问题
在pom.xml文件中,tomcat-maven的插件信息中,加入configuration节点,在该节点下加入ignorePackaging节点,值设置为true,再次启动就可以了。使用idea的tomcat-maven插件运行web app时出现:Skipping non-war。
2023-05-10 18:02:10
544
原创 Struts2表单提交404问题记录
3月29日遇到表单提交,报404错误问题,各种struts和action配置文件检查了好久都没发现问题,后来发现是form表单写的action多了/。成功调用action里的方法。
2023-03-29 11:16:44
218
原创 Oracle的CLOB类型字段在某些工具无法显示值问题记录
最近在做项目时,发现个问题:有个表的一个字段类型是CLOB,请人去帮忙去数据库查找这个字段的值(用的什么工具,不知道),发现这个字段值是空的。但是程序中一直有用这个字段,而且请业务在前端页面查看,前端显示是有值的。直到某天,再去数据库查这个字段值,因为人太多换了一台电脑,也换了一个工具,用的是plsql,查出来值了。哎,困扰许久的问题终于解了。
2023-02-25 14:56:19
1118
原创 Linux系统crontab定时任务的坑
场景:有时候服务器的启停工作,像weblogic,需要用crontab定时去做。坑:如果服务器的拥有者不是root,是别的用户;crontab可能是root用户;总之两个用户不一样的话,需要注意它们的环境变量,特别是编码格式。此次踩坑就是没有注意到编码格式改变了,导致中文乱码。
2022-09-28 06:48:39
518
原创 eclipse调整Java编译器版本记录
修改eclipse全局Java编译器版本Windows } preference } Java } Compiler针对单个项目修改Java编译器版本选中项目,右键选择properties } Java Compiler第二点,需要看与项目下的.settings文件夹下的org.eclipse.wst.common.project.facet.core.xml文件配置的Java version是否一致。...
2022-07-08 20:30:13
407
原创 认识ArrayList + 源码解析
ArrayList的特性<1>. 底层基于数组实现<2>. 容器内元素有序可重复,可放null<3>. 线程不安全大概这几点,后续想到再追加。如何认识ArrayList本文章将自己按照源码一步一步实现自定义的ArrayList,并加以相应的中文描述和见解。按照源码创建自定义的ArrayListDIY ArrayList“全”代码题目的“全”是代表目前写到的所有代码。重复一次,代码是按Java源码写的(除FIXME标签的代码)。解析这个相当于解析源码,一
2022-05-26 16:06:41
155
原创 telnet认识以及使用
TelnetTelnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。...
2022-03-02 19:41:10
265
原创 详聊ThreadPoolExecutor构造器的参数corePoolSize,queueCapacity,maximumPoolSize...
ThreadPoolExecutor构造方法参数解析
2022-02-11 14:36:13
2051
原创 Idea打包jar,MANIFEST.MF文件没有Main-Class属性 & xxx.jar中没有主清单属性
Idea打包jar下图中圈出来的路径不能是默认的,需要放在项目根路径下,修改为:D:\IntelliJIdea\project\MyFtpServer\META-INF\MANIFEST.MF。修改后打包jar,MANIFEST.MF文件就会有Main-Class属性。
2021-08-12 17:47:17
6081
2
原创 Netty权威指南2.2伪异步IO,Demo代码
TimeServer代码package pseudoasynchronous;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class TimeServer { public static void main(String[] args) throws IOException { int port = 8081; if (args != null &&
2021-08-06 20:09:12
143
原创 Netty权威指南2.1BIO通信Demo代码
写在前面所属章节链接第二章2.1BIO通信aaaTimeServer代码import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class TimeServer { public static void main(String[] args) throws IOException { int port = 8081; if (args
2021-08-06 19:39:51
146
原创 Junit简单使用记录
导入Junit依赖好像是我的STS之前有下载Junit插件,所以我编写一个方法,在方法上加上@Test注解就会提示我去引用依赖。如下:还有一个方法就是直接就是右键项目–>Build Path–>Configure Build Path…下去配置,如下:Junit版本自行选择,然后有下一步就下一步有确定就确定。这两个引用依赖的方法的前提都是要有Junit,没有的话自行百度下载,因为我也不懂。简单测试import org.junit.Assert;import org.junit.
2021-08-05 15:59:01
149
原创 InputStream和String互转记录
InputStream转String public static String inputStreamToString(InputStream is) { byte[] bytes = new byte[1024 * 4]; try { is.read(bytes); } catch (IOException e) { log.error(e); } re
2021-07-22 11:27:18
94
原创 使用WinSW注册Java程序为Windows服务
1. 打包可运行的jar打包可运行的jar(不可运行的jar会报错:没有主清单属性)如图:默认选项,最后点击确定。2. 下载WinSW下载链接:https://github.com/winsw/winsw/releases下载下图中红色圈出的那两个。下载完将Java程序的jar和下载的这两个放在同一个文件夹下,需要将下载的两个文件改名。3. 其他操作参考https://blog.youkuaiyun.com/qq_28566071/article/details/80882503...
2021-07-20 15:52:45
477
原创 删除文件发现被占用,如何找到占用的程序记录
1. 目的我们经常会删除一下文件,但并不是每次都顺利删除掉,有时候会发现因为有别的程序占用而无法删除,这个时候应该怎么找到占用的程序呢?这篇文章会给出答案。记录一下以便日后的参考或他人的借鉴。2. 过程模拟我们来模拟一下过程:文件位置如下图:打开Java运行时数据区域.xlsx模拟占用。删除Java运行时数据区域.xlsx无法删除,报错如下:接下来就是要找到占用的程序并解除了,事实上这个占用Excel的程序还是很容易找到的,因为它会在任务栏出现。但是对于一些不会在任务栏出现的程
2021-07-20 11:45:18
968
原创 Java读取文件生成properties,包括类下文件和任意路径文件
1. 目的记录一下读取文件生成properties,这个经常有用到,以供他人和自己后续参考。2. 相对路径和绝对路径先来说一下相对路径和绝对路径的区别,我的认知:相对路径:不包括盘符(C:),如c:\test\test.properties绝对路径:包括盘符(C:),如test.properties最主要的差别是是否包括盘符,后续会通过这一特点做相对或绝对路径判断。3. 代码import部分其中io.netty这个import不用理会,只是用做写log而已。import java.i
2021-07-20 09:53:39
431
原创 Java获取当前项目的路径记录
方式1 String projectPath = System.getProperty("user.dir"); System.out.println("projectPath==" + projectPath);方式2try { String projectPath = new File("").getCanonicalPath(); System.out.println("projectPath==" + projectPath);
2021-07-20 09:26:29
252
原创 Java volatile关键字的作用
1. 目的用Java程式测试一下volatile关键字的作用。2. 代码package volatile_;import java.io.IOException;public class Volatile { private static /*volatile*/ boolean running = true; private static void test() { System.out.println("test start");
2021-07-15 11:38:41
196
原创 Java运行时数据区
1. Java运行时数据区2. 解析程序计数器节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖这个计数器来完成。由于jvm的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令。因此未来线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们成这类内存区域为“线程私有”的内存。如果线程正在执行的是一个Java方法,这个计数器记录的则是正在执行的虚拟机字
2021-07-15 11:00:35
79
原创 Java程序朗读文字的实现,jacob.jar
目的使用Java程序实现朗读文字。依赖jacob.jar(我的是\jacob-1.18)这个可以用Maven去下载,在dependencies节点下增加如下内容:<!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语音 --> <dependency> <groupId>com.hynnet</groupId> <
2021-07-14 10:06:30
1910
原创 dump文件与内存泄漏分析记录
1. dump文件命令格式:jmap -dump:format=b,file=${文件路径} 进程IDjmap -dump:format=b,file=E:/OOM/dump.hprof 11076(指定生成文件路径)jmap -dump:format=b,file=dump.hprof 18516(未指定生成文件路径,在执行该命令的路径下生成文件)随便运行cmd,执行命令就可以dump文件了。如何知道PID可以通过JConsole,或者CMD命令tasklist,这个不好找。如下图:
2021-07-09 17:08:12
1472
原创 探讨ThreadLocal使用完remove与否的差别(内存泄漏)
1. 问题这次我们就是想要探讨一下ThreadLocal使用完不remove数据和remove数据的差别是什么?是否会存在内存泄漏?那我们应该怎样制造怎样测试的环境呢?我是这样制造测试环境的:使用Tomcat服务,但是Tomcat的nio线程限制在1个,我的是Spring Boot配置起来很简单只需要在application.properties增加一行,外带的Tomcat可以自行百度一下。如下:server.tomcat.threads.max=1我们如何证明影响?我们后端配置两个服务
2021-07-09 14:17:01
1652
原创 模拟高并发下Tomcat线程不安全现场记录<二>
1. 目的继上一次发现的线程安全问题后,这次来看看如何解决这个问题。2. 使用ThreadLocal代码:package thread;import java.util.ArrayList;import java.util.List;public class ThreadSecurity {private static ThreadLocal<List<byte[]>> byteListThreadLocal = new ThreadLocal<>(
2021-07-09 10:32:21
313
原创 模拟高并发下Tomcat线程不安全现场记录<一>
1. 所需工具集成开发工具(我的是STS)Tomcat,用来模拟真实请求响应服务(我的是Spring Boot内置有Tomcat)2. 代码ThreadInsecurity类,主要用来提供服务,这里的服务也很简单。全局变量的累加,每请求一次就加3000;100以内的每次增加都会休眠100ms(为什么要休眠?为了模拟耗时的写入操作,以达到线程不安全现象。这是符合现实情况的)。package thread;import java.util.ArrayList;import java.ut
2021-07-09 09:58:36
396
原创 Java程序静态全局变量与内存泄漏的关系与分析<二>
1. 测试和分析第二种类型(先声明,用时再new创建)继上一篇文章,测试完第一种类型后。2. 代码同样先看代码:package leakmemory;import java.util.ArrayList;import java.util.List;public class LeakMemory { private static List<byte[]> byteList; public static String addByte() {
2021-07-08 14:54:38
353
原创 Java程序静态全局变量与内存泄漏的关系与分析<一>
1. 所需工具说明要做这样的测试与分析我们需要以下这些工具:集成开发工具(我用的是STS)jconsole.exe(用来观察堆内存的变化,路径是JDK安装路径bin下,我的是C:\Program Files\Zulu\zulu-8\bin),用法链接Tomcat(我的是Spring Boot内置有Tomcat),要模拟Tomcat前后端服务2. 任务静态全局变量与内存泄漏的关系与分析。重点考试要考:静态全局变量的生命周期与服务器一致。按定义格式分两种静态全局变量类型:<1>.
2021-07-08 13:50:42
737
原创 jconsole.exe查GC和内存,简单使用记录
jconsole.exejconsole.exe(路径是JDK安装路径bin下,我的是C:\Program Files\Zulu\zulu-8\bin),如下图:使用双击打开(如果不行可能需要管理员权限,右键以管理员权限运行)。打开后如下图:红色圈出,左边是进程名称,右边是PID。双击我们要连接的进程或者选中我们要连接的进程点击右下方连接按钮,点击连接之后如下图:会弹出一个警告框,点击不安全的连接。点击后界面如下:在概览里,左1是堆内存使用量,右1是线程数,左2是类数量,右2是CPU占
2021-07-08 10:55:28
1796
原创 使用CompletableFuture.supplyAsync实现异步操作
如何使用CompletableFuture.supplyAsync实现异步操作(复杂型)实现的代码封装在function中,也有简单的说明,如下: public static void useCompletableFuture_complicated() { // 这个方法时描述一般地使用CompletableFuture实现异步操作,即复杂的使用CompletableFuture实现异步操作 // 假设我们有一个Person名字List
2021-07-07 11:11:24
48479
8
原创 Java多线程的三种实现方式的记录
代码MyThread_thread类是继承Threadpackage thread;public class MyThread_thread extends Thread { private String id; public MyThread_thread(String id) { this.id = id; } public void setId(String id) { this.id = i
2021-07-06 15:57:23
93
高性能Java架构一书CAS算法代码讨论
2022-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人