- 博客(84)
- 收藏
- 关注
原创 java热更新配置
3、tools工程设置代理入口org.xx.tools.hot.update.HotUpdateAgent/tools工程中加入依赖jdk的依赖(更新tools工程即可)2、项目工程 在vm参数开启-XX:StartAttachListener。4、配置项目工程的配置文件properties,1、安装jdk的tools到mvn中。
2025-01-17 16:03:19
185
原创 idea输入代码时自动补全没有正常工作
在 Maven 项目中,pom 设置会影响项目的构建方式和 IDE 的行为,尤其是在 IntelliJ IDEA 中的代码补全、依赖管理和自动化功能上。父 POM 项目并没有实际的代码或资源文件,它通常不会包含可执行的类或模块,因此,IDEA 在处理代码补全时,可能无法像处理普通的 Java 项目那样提供完整的代码提示。因此,如果你的项目设置了 pom,IDEA 可能会认为这个项目主要用于构建管理而不是实际的代码执行,可能会禁用或简化自动补全功能。然而,pom 项目不会生成任何字节码,它只是管理其他模块。
2025-01-13 15:09:01
710
原创 解决ssh和git秘钥认证失败问题
远程登录的时候可能ssh客户端默认使用id_rsa文件名秘钥,但是之前生成的秘钥并不是id_rsa文件名,这个使用需要制定秘钥匹配。IdentityFile:指定你想用的 SSH 密钥路径。注意路径格式~/.ssh/username。打开 ~/.ssh/username/config文件。如果该文件不存在,你可以创建一个新的文件。IdentitiesOnly yes:确保 Git 只使用指定的密钥。通过配置 config 文件来指定 Git 使用特定的ssh密钥。此刻git clone成功。
2024-12-30 17:16:20
659
原创 Linux服务器centos7安装mysql
清理相关文件和配置后,确保 MariaDB 已完全卸载。输入密码后,进入 MySQL 控制台即说明安装成功。如果GPG 验证失败(临时解决方法)禁止 root 用户远程登录。记录下日志中的随机密码。设置 root 用户密码。
2024-12-23 10:54:01
352
原创 npm安装问题
npm error A complete log of this run can be found in: C:\Users\SunnyZhang\AppData\Local\npm-cache_logs\2024-08-26T10_11_12_566Z-debug-0.log。使用合适版本的 node-sass:如果你必须使用 node-sass,确保你安装的版本与 Node.js 版本兼容。你可以参考 node-sass 官方文档 获取支持的 Node.js 版本与 node-sass 的兼容表。
2024-08-26 20:14:29
1722
原创 mysql主从库Slave_SQL_Running: No问题经验分享
定位到了具体错误,主库有执行语句错误,导致了从库不能正常同步主库。最近在创建mysql主从库的时候,遇到一个问题。很是苦恼,查询了很久没有解决。从库也解决了报错的地方。1、停止slave线程。4、启动slave线程。再执行从库状态查询后。
2024-03-03 22:07:24
1464
2
原创 Java反编译
其中 /c/Users/Desktop/23.11.24/app.jar为反编译文件路径,/c/Users/Desktop为反编译后的输出路径。
2023-12-13 17:51:31
301
原创 window下查看端口是否被占用
3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr “49157”,回车,记下最后一位数字,即PID,这里是2720;4、继续输入tasklist|findstr “2720”,回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe;2、输入命令:netstat -ano,列出所有端口的情况。在列表中我们观察被占用的端口,比如是49157,首先找到它;1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;
2023-11-22 18:27:44
970
原创 解决XshellL/SecureCRT使用rz指令上传文件乱码且文件无法删除的问题
在使用Xshell/SecureCRT的rz命令上传文件的时候偶尔会出现上传乱码问题,导致上传的文件名是乱码,想要使用rm命令无法删除该文件,使用其他工具作删除操作又没有权限。1179651 -rw-r–r-- 1 root root 1729 8月 11 12:07 logback.xml。1179651 -rw-r–r-- 1 root root 1729 8月 11 12:07 logback.xml。3.使用find -inum 乱码文件的索引节点号 -delete 删除。
2023-10-19 19:57:55
1275
原创 华为云服务器搭建
当创建一个基于EulerOS的服务器时,MySQL是一个常见且强大的数据库管理系统选择。在此博客中,我将向您展示如何在EulerOS上安装MySQL 8.0。在开始之前,让我们确保系统更新到最新版本。一、EulerOS 安装 MySQL8.0。
2023-10-18 20:58:22
133
原创 PECS原则简述
extends People>限制了该引用的实际泛型一定是People的某个子类,即list1引用实际指向的ArrayList中只能存储People的子类(可以向上转型成People),但由于是“某个子类”,所以不能确定其类型,那么在进行存储时也就无法确定需要向上转型的泛型。super Men>限制了该引用的实际泛型一定是Men的某个父类,即list2引用实际指向的ArrayList中只能存储Men的父类,那么在存储时,只需要使用Men类型的引用,那么一定可以向上转型成list的实际泛型。
2023-09-19 15:51:14
263
原创 Java 死锁与破解死锁
线程在进入临界区之前,首先尝试加锁 lock(),如果成功,则进入临界区,此时我们称这个线程持有锁;notify() 是会随机地通知等待队列中的一个线程,而 notifyAll() 会通知等待队列中的所有线程。但那所谓的感觉往往都蕴藏着风险,实际上使用 notify() 也很有风险,它的风险在于可能导致某些线程永远不会被通知到。我们知道在现实世界里,锁和锁要保护的资源是有对应关系的,比如你用你家的锁保护你家的东西,我用我家的锁保护我家的东西。受保护资源和锁之间的关联关系非常重要,他们的关系是怎样的呢?
2023-05-24 21:16:59
208
原创 计算机组成原理:为什么浮点数运算不精确?(包含阿里笔试)
从十进制看,0.1拥有2个信息量(个位数为0,第一位小数为1),1万亿拥有一万亿个信息量,二选一的话,肯定是选择信息量更低的0.1。这是因为,在0.0到0.25之间的数是连续的,有无限多个数,但是有限的N位长二进制最多只能表示2N2^N2N个信息量,有限的信息量无法表示无限的数据量,这就是现实世界与计算机世界的矛盾。这就是计算机的自有属性,数字计算机只能处理离散数据,二进制的位数直接决定了它能表示的离散数据个数,也决定了它所能表示的信息个数,对于n位二进制数,它可以表示的信息量为2N2^N2N。
2023-03-08 16:47:17
528
原创 Java序列化和transient的使用
存档的过程中就是将内存中的数据存储到电脑的硬盘中,硬盘的数据在关机断电后是不会丢失的(硬盘损坏数据丢失先不考虑)。创建的对象都是保存在内存中的,大家都知道内存的数据是短暂保留在缓存的,断电之后是会消失的,但是游戏经过手动存档之后就算你关机几天了,再次进入游戏读取存档,你会发现之前在游戏中创建的角色和装备都还在呢,这就很奇怪了,明明内存的数据断电就消失了,这是为什么?如果频繁的在网络中传输的数据那就需要数据越小越好,小的数据传输快,也不占带宽,也能整体提升系统的性能,因此序列化生成的体积就很关键了。
2023-02-08 16:48:46
609
原创 Java遍历集合元素并修改
增强for循环本质上是使用迭代器进行遍历,迭代器在初始化时会使用expectedModCount记录当时的modCount,遍历时会检查expectedModCount是否和modCount相同,如果不同就会抛出ConcurrentModificationException异常。在第一次删除后,集合发生了改变,删除位置之后的所有元素都向前挪动了一个位置,删除位置上的元素由下一位置上的元素替代。解决办法是在迭代器中删除或添加元素时,使用迭代器提供的删除或添加方法,不要使用集合提供的删除或添加方法。
2022-11-24 11:06:23
8985
原创 局部代码块、构造代码块、静态代码块
在Java中,使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程)。用于当多个构造方法重载时,将这些方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行。在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且值执行一次。限定变量生命周期,及早释放,提高内存利用率。静态代码块 在类中方法外出现,加了static修饰。
2022-09-26 10:32:21
224
原创 Java面试题:isAssignableFrom与instanceof的区别
Class对象的isAssignableFrom方法,用native关键字描述,是一个底层方法,存在于本地方法栈,用来判断当前Class 对象所表示的类或接口与指定的 Class 参数所表示的类或接口是否相同,或是否是其接口或者父类。这个比较的是实例,如果要判断的是一个接口或者抽象类呢?下面就用isAssignableFrom判断一个接口或者抽象类是否和某个接口或者类相同,或是否是其接口或者父类。先说instanceof,这个用的比较多,用来判断一个实例是否是某个接口或者类的实例,判断的是运行时候的实例。.
2022-08-16 21:04:55
204
原创 scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别和实例
通过ScheduledExecutorService执行的周期任务,如果任务执行过程中抛出了异常,那么过ScheduledExecutorService就会停止执行任务,且也不会再周期地执行该任务了。所以你如果想保住任务都一直被周期执行,那么catch一切可能的异常。scheduleAtFixedRate ,是以上一个任务开始的时间计时,period时间过去后,检测上一个任务是否执行完毕,如果上一个任务执行完毕,则当前任务立即执行,如果上一个任务没有执行完毕,则需要等上一个任务执行完毕后立即执行。...
2022-08-16 20:51:26
499
原创 T、Class<T>以及Class<?>的理解
Class类的实例表示Java应用运行时的类(class and enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现为一个Class对象,可通过类名.class,类型.getClass(),Class.forName(“类名”)等方法获取Class对象)。类型类指的是代表一个类型的类,因为一切皆是对象,类型也不例外,在Java使用类型类来表示一个类型。但是使用泛型的Class,Class.newInstance()方法具有一个特定的返回类型;...
2022-08-09 10:46:28
836
原创 Java学习part19-泛型
19.1引言泛型可以让我们在编译时而不是在运行时检测出错误。19.2动机和优点使用Java泛型的动机就是在编译时就检测出错误。泛型类型必须是引用类型。自动装箱:如果一个对象出现在需要基本类型值的环境中,编译器会自动将基本类型值转换为包装类对象。19.3定义泛型类和接口泛型类的构造方法定义时不在构造方法名后加19.4泛型方法...
2022-04-01 12:12:09
337
原创 Java中“::”的含义和用法
在JAVA 8 中,可以通过 “::” 关键字来访问类的构造方法,对象方法,静态方法。一般有下面几种用法。访问静态方法 // 使用方法:类名::静态方法名, 如 Integer::parseInt访问对象方法 // 使用方法:实例对象::实例方法,如 String::substring访问构造方法 // 使用方法:类名::new, 如 User::new下面看几个例子:List list = Arrays.asList(“1”,“2”,“3”);List collect = list.strea
2022-03-28 20:35:54
22556
原创 Java程序设计第一章-计算机程序和Java概述
1.1程序设计就是创建或者开发软件,软件也称为程序。简而言之,软件包含了指令,告诉计算机或者计算机设备做什么。1.2中央处理去的作用:从内存中获取指令并执行这些指令。CPU通常由两部分组成:控制单元和算数/逻辑单元。1.3java成员1)JVM:java虚拟机运行java程序2)JRE:java运行环境JRE=JVM+java类库(辅助零件)JRE是运行java程序的最小单元3)JDK:java开发工具包JDK=JRE+java开发命令JDK是开发java程序的最小单元1.4程序设计错
2022-03-16 20:52:51
323
原创 Java实例:使用集合完成数据存取和排序
要求:考虑存取效率。package Practice;import java.util.ArrayList;import java.util.HashMap;public class RankMgr { private ArrayList<Player> list = new ArrayList<>(); private HashMap<String, Player> map = new HashMap<>(); publ
2022-03-12 18:18:12
730
转载 JavaIO框架的设计思想
JavaIO框架的设计思想:可以沿着这条路想一想:1,学IO流之前,我们写的程序,都是在内存里自己跟自己玩。比如,你声明个变量,创建个数组,创建个集合,写一个排序算法,模拟一个链表,使用一些常用API,现在回想一下,是不是在只是自己在内存里玩一玩?计算机组成包括运算器,控制器,存储器,输入设备,输出设备。那么你前面的工作,仅仅够你的程序和内存以及CPU打打交道,如果你需要操作外部设备呢?比如键盘,显示器,再比如,最常见的外设:硬盘?甚至未来世界里的每家每户都有的机器人,“如何让你的程序和机器人进行交互呢?”
2022-03-11 15:34:10
188
原创 Java面试必备:HashMap、Hashtable、ConcurrentHashMap的原理与区别
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-03-08 14:24:20
246
原创 Java异常处理
Java 异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常。异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。要打开的文件不存在。网络通信时连接中断,或者JVM内存溢出。这些异常有的是因为用户错
2022-03-05 14:13:20
111
原创 JAVA泛型知识(二)--> <? extends T>和<? super T>
<? extends T> 和 <? super T> 是Java泛型中的“通配符(Wildcards)” 和 “边界(Bounds)”的概念<? extends T> 是指 “上界通配符(Upper Bounds Wildcards)”<? super T> 是指 “下界通配符(Lower Bounds Wildcards)” 1. 为什么要用通配符和边界?使用泛型的过程中,经常出现一种很别扭的情况。比如,我们有Fruit类,和它的派生类Ap
2022-03-04 15:24:09
258
原创 Java中/与%的区别
Java中/与%的区别System.out.println(3/5) = 0;System.out.println(2/5) = 0;System.out.println(4/5) = 0;System.out.println(6/5) = 1;System.out.println(7/5) = 1;System.out.println(8/5) = 1;System.out.println(11/5) = 2;System.out.println(12/5) = 2;Sy
2022-02-23 15:36:21
162
原创 Java^运算符用法
按位异或运算符(^)是二元运算符,要化为二进制才能进行计算,在两个操作数中,如果两个相应的位相同,则运算结果为0,否则1;例如:int a=15;int b=a^8;运算结果为:a=15;b=7;a(二进制)=1111;8(二进制)=1000;1111^1000=0111;er 0111=7(十进制);在两个布尔变量里if(boolean a ^ boolean b)就是 当a和b同真或同假时为真,不然为假。......
2022-02-22 21:13:07
1778
2
原创 Java<< : 左移运算符,num << 1,相当于num乘以2;>> : 右移运算符,num >> 1,相当于num除以2;>>> : 无符号右移,忽略符号位,空位都以0补齐
Java中有三种移位运算符<< : 左移运算符,num << 1,相当于num乘以2;>> : 右移运算符,num >> 1,相当于num除以2;>>> : 无符号右移,忽略符号位,空位都以0补齐下面来看看这些移位运算都是怎样使用的 public static void main(String[] args) { int number = 10;
2022-02-21 15:36:08
1476
原创 Java中的 |=、&=、^=
|=和 += 这一类的运算符一样,拆解开就是 a = a | b;代码如下:public static strictfp void main(String[] args) { int a = 5; // 0000 0101 int b = 3; // 0000 0011 a |= b; // 0000 00111 System.out.println(a);}&=&= 和 |= 基本是一样的,只不过对于比较同位方式不同。代码如下:public s
2022-02-21 15:27:11
805
原创 Java容器
容器可以帮助程序员管理大量的对象以及他们之间的关系,从而把程序员从大量数据的管理工作中解放出来。在Java中,根据不同的应用场景提供了不同的容器。容器在日常开发中使用的频率非常高,使用的恰当与否直接影响程序的性能。因此,不仅需要掌握容器的功能,更重要的要掌握其内部的实现原理,在面试的过程中会经常考察特定容器的实现原理。1.Collections框架容器在Java语言开发中有着非常重要的作用,Java提供了多种类型的容器来满足开发的需要。Java中的容器可以分为两类:(1)CollectionColl
2022-02-17 15:22:23
286
原创 Java基础
线程是指程序在执行过程中,能够给执行程序代码的一个执行单元。在Java语言中,线程有四种状态:运行、就绪、挂起、结束。进程是指一段正在执行的程序,而线程有时候也被称为轻量级进程,是程序执行的最小单元,一个进程可以拥有多个线程,各个线程之间共享程序的内存空间(代码段、数据段和堆空间)及一些进程级的资源(例如打开的文件),但是各个线程拥有自己的栈空间。...
2022-02-09 16:45:40
549
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人