自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于JSON字符串

关于json字符串的一些阐述

2023-07-02 20:55:23 934

原创 idea中GIT拉取代码失败

可能是pull代码的时候网络中断了一下,然后后面一直update project failed,而且手动git pull代码是也出现。直接到该项目下,手动进入.git/logs/refs/remotes/orgin/目录下,将里边的远程分支删除。// 进去该项目下的.git文件内的本地远程分支目录。// 删除该错误的本地远程分支。后续再pull代码即可成功。

2023-03-12 19:13:55 3988 1

原创 关于Maven新建项目本地仓库恢复默认地址的完美解方法

很多人根据教程在idea的setting中修改Maven的本地仓库位置:可是改为后只对本项目生效,新建项目还是默认C盘,在网上查看了很多方法:有的说把新生成项目中.mvn中的wapper删除(此方法不可靠)有的说到打开C盘此位置:C:\Users\你的用户名.IntelliJIdea2019.3\config\option\project.default.xml然后修改idea的默认配置:<component name="MavenImportPreferences"

2022-05-29 10:30:59 609

原创 如何理解Spring中的名词“注入”?

在使用Spring的注解方式时,常常会听到一个名词叫“注入”,其实这里完全可以理解为把某个属性值赋值到对应的引用数据类型变量中。“注入”一词主要用于属性的注入,而bean实例的创建往往没有“注入”一说。在Spring IoC中主要提供了两个注解用于bean的创建和属性的注入,即@Component和@Autowired ①这里@Component用在类声明上,用于告知Spring,比如当前创建的UserDaoImp类中,在后续的使用中,肯定是会需要UserDaoImp类的实例对象的,所以现...

2022-05-24 15:13:10 840

原创 反射的初步理解

首先从基本的Class类对象的调用代码来初步理解,可以知道的是,在反射中,Person类本身也作为Class类对应着一个运行时类(运行时类是Person类编译后,生成字节码文件以".Class"结尾,然后使用javac.exe进行解释运行,使之加载到内存中)在这之后都是用clazz来进行操作,通过clazz调用操作构造器,方法,属性的方法,返回操作对象再调用具体的操作方法。@Test public void test() throws Exception { //创建反射类.

2022-05-22 21:07:40 115

原创 关于TreeSet集合的理解与使用

1、如何理解TreeSet集合?若向TreeSet集合中添加整型数据,再通过迭代器遍历,可以发现数据都已经进行排序,仔细可发现为中序排序,或者为小顶堆。 @Test public void test(){ TreeSet treeSet = new TreeSet(); treeSet.add(-11); treeSet.add(1); treeSet.add(16); treeSet.add(6);

2022-05-17 22:32:41 402

原创 Set集合(重写equals()与hashCode())的理解与使用

因为是Collection的子类,所以Set的方法使用上和Collection差异不大,可以使用Collection的所有方法。Set添加的元素是无需,不可重复的。在添加自定义对象元素时,若不重写equals()与hashCode()则会添加两个相同的对象元素。Person类(此时注释hashCode()方法):public class Person { private String name; private int age; public Person(String

2022-05-17 21:31:18 647

原创 关于List集合的使用

因为是Collection的子类,所以List的方法使用上和Collection差异不大,注意add()方法与addAll()方法的使用,此外,若想remove一个具体元素,比如remove元素“123”,不能写成list.remove(123);而是要通过包装类自动装箱为对象类型。@Test public void test(){ ArrayList list = new ArrayList(); list.add("tom"); list.

2022-05-17 16:09:50 534

原创 关于Collection接口声明中方法的使用

1、为什么要使用集合?面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的方式。集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的变量。2、关注各种方法的使用①其中add()方法中的参数类型为Object类型,方便接受各种不同数据类型的数据。②值的注意的是contains()方法,当其中参数为自定义对象时,需要在自定义类中重写equals()方法,因为contains()方法中是通过equals()方法比较的对象内

2022-05-17 14:51:36 213

原创 Enum类的使用与理解

对Enum类的理解:对于一个物品或者事务而言,只有某几种特定状态,例如季节只有四种:春夏秋冬;人的性别只有两种:男和女;订单的状态:已付款与未付款。诸如此类,可以将其中的状态抽取出来使用Enum类来刻画其状态。在开发当中,以四季状态为例,这些状态的个数、状态类型从始至终都保持不变,也不需要改变,完全可以把它们看做成一个个“常量”。于是考虑设置这些状态为: public static final String SPRING = "春天"; public static final S

2022-05-16 16:35:37 153

原创 关于Comparable与comparator接口的使用与理解

1、什么时候考虑使用这两个接口?Java中的对象,正常情况下,只能通过== 或 != 进行比较,且此时比较的还是地址是否相同,不能使用 > 或 < 的,但是在开发场景中,我们需要对多个对象进行排序,比如一个商品中,我需要根据它的价格或者销量进行排序,这就需要比较对象的大小。此时就需要使用两个接口中的其中一个:Comparable 或 Comparator2、两者的区别Comparable接口位于java.lang包下,可以看做是定义好了后,在各种位置都普遍使用,Compa...

2022-05-16 15:06:09 500

原创 关于Date类及相关类的使用与理解

1、时间戳,因为将时间点刻画到毫秒级,所以数值具有很大程度上的唯一性,通常被使用在生成商品订单号上,当并发量较大时,可在时间戳上再加上特定的随机生成数,从而得到唯一的订单号。2、修改时间格式,一般通过SimpleDateFormat(时间格式)构造器实现,生成对象后,通过对象.format实现时间格式转化。3、得到一个时间点后,可以通过getTime()方法生成毫秒数,一般在时间类型转化时能用到,因为不同格式的时间设置,中间的转化桥梁需要它们共同的属性:毫秒总数。public cla..

2022-05-15 10:35:29 119

原创 关于String类中的类型转换一些方法

public class StringTest { //String类型转变为char类型 @Test public void test1(){ String str = "abc"; char[] chars = str.toCharArray(); for (int i = 0; i <chars.length ; i++) { System.out.println(chars[i]); .

2022-05-14 15:11:49 224

原创 Callable与线程池创建多线程

Callable创建多线程:实现Callable接口的方式创建多线程要比实现Runnable接口创建多线程方式更加强大。首先重写的call()方法中是可以有返回值的,其次,call()方法可以抛出异常,被外面的操作捕获到,从而获取到异常信息。最后Callable是支持泛型的。class Callabel1 implements Callable{ @Override public Object call() throws Exception { //遍历100

2022-05-13 11:52:03 529

原创 创建线程问题的实例

一、甲乙两人每次一千,分三次分别向同一个账号各自存入三千:思路:①提取共同数据②编写用于创建多线程对象的继承类③创建测试类,通过线程对象.start()方法创建线程其中将账号单独提取出来构建一个类,可以有效的减少账号与人之间的耦合性。账号需要编写余额属性,一个带参的构造方法(需要通过在测试类中创建账号类型的引用类型数据对象,将账号对象通过引用类型方式作为人构造器中的形参传入,从而将账号与人联系起来),以及一个存钱的方法。//构建共享数据class Account{ privat.

2022-05-12 17:07:37 179

原创 解决线程安全问题之Lock锁

synchronized与lock的异同:相同点:二者都可以解决线程安全问题不同点:synchronized机制为执行完相应同步代码块后,自动释放同步监视器,而lock则需要手动启动同步(使用lock()方法),并且结束同步也需要手动实现(使用unlock()方法)使用lock锁解决线程安全问题:class Windows implements Runnable { private int ticket = 100; //1、实例化ReentrantLock对象 .

2022-05-11 19:19:53 304

原创 线程安全之单例模式之懒汉模式

在单例模式中的懒汉模式存在一定的线程安全,通过前面的线程安全处理可以应用到此处public class BankTest { public static void main(String[] args) { Bank bank = Bank.getInstance(); System.out.println(bank.getClass()); }}class Bank{ private Bank(){} private static

2022-05-11 09:49:14 969

原创 关于线程安全问题(同步代码块与同步方法)

1、什么是线程安全问题?根据上篇文章中的购票代码可知,若出现重票,错票等问题,这都属于出现了线程安全问题。2、出现线程安全问题的原因:当某个线程还在操作车票的过程中,核心步骤还没有操作完成时,其他线程就参与进来也对车票进行了操作,这就导致了如上的线程安全问题。举个不太好但是形象的例子,某个公共厕所总共三个位置,你只能等里面的人解决完问题出来,下一个才能进去,如果里边的人还在解决,而下一个就强行进去了,岂不是乱套了?3、如何去解决线程安全问题?当一个线程a在操作ticket时,其

2022-05-10 21:52:38 219

原创 不同方式的售票线程的创建(Thread与Runnable)

1、利用子类继承Thread类创建线程,模拟三个线程购票:class Windows extends Thread{ private int ticket = 100; @Override public void run() { while (true){ if (ticket > 0){ System.out.println("您购买的票号为:" +ticket);

2022-05-10 14:46:49 322

原创 线程优先级调度的使用与理解

Java的调度方法:相同优先级线程之间组成先进先出队列,使用时间片策略;而对高优先级线程采用优先调度的抢占式策略。线程的优先级等级:MAX_PRIORTY:10 //最高优先级MIN_PRIORTY:5 //默认优先级NORM_PRIORTY:1 //最低优先级如何设置线程的优先级?使用 getPriority()获取线程的优先级数值,使用setPriority()设置线程的优先级数值。有一个注意点,在设置为线程为最高优先级后,并不意味着线程一定是最先

2022-05-10 10:25:08 174

原创 关于多线程与多线程中常用方法的使用与理解

创建一个线程:一般而言需要创建一个线程时,需要使用一个子类继承Thread类,并且重写里面的run()方法,在run()里可以写入需要执行的操作功能,当需要创建线程时,可以new出子类的对象,然后使用子类对象调用start()方法,注意:不能直接调用run()方法,否则只是简单的方法调用,而不是线程调用。start()方法中自带对run()方法的调用,线程通过子类对象.start()开始。创建多个线程:只需要new多个对象调用start()方法即可。创建多个不同功能对象:此时需

2022-05-09 23:33:11 119

原创 关于interface接口的使用与理解

1、什么是interface接口?首先,接口是与类平行的结构,两者都是独立的一个结构,都有自己的定义与规则,接口不属于类2、如何定义interface接口?定义接口中的成员:在jdk7以前只能定义全局常量(使用public static final修饰的变量,通常可以省略不写)与抽象方法(类似于方法,但是没有方法体,使用public abstract修饰变量名)。注意在接口中不能定义构造器!意味着接口不可以被实例化new出对象。3、如何使用interface?只要编写了接口,意

2022-05-09 11:46:08 4222 1

原创 包装类的使用

public class WrapperTest { //String类型 --->基本数据类型、包装类:调用包装类的parseXxx(String s) @Test public void test5(){ String str1 = "123"; //错误的情况:// int num1 = (int)str1;// Integer in1 = (Integer)str1; //可能会报NumberFormatException int num2 = I...

2022-04-29 20:49:05 40

原创 为什么要使用多态性,以及对多态的浅层次理解

对多态性的一些理解

2022-04-28 22:09:08 56

原创 origin8绿色失败问题

最近有用到origin8这款软件,但是在网上下了很多资源,按照教程弄了之后还是提示只有七天试用期。后面网上找到了答案,在安装目录的FLEXlm内,有之前替换的orglab.lic文件,用记事本打开,把里边的日期改到2038年保存就ok了...

2021-05-24 10:35:27 1011

原创 构造器以及this关键字

在类中创建一个新的对象时,需要用到构造器,比如person p = new person(); 其中person()就是一个构造器,构造器person()名称需要和它所属的person类名相同,比如class person{...}中的构造器名称必须是public person(){...}不能是public human(){...}通常用public person(){...}表示,没有返回值。但是一般我们也直接new对象,没有写构造器方法,这是因为系统会默认创建一个无参构造方法.

2021-03-13 14:10:48 180

原创 封装性以及get、set方法

重载:方法名一样,所传参数不一样。封装性:相当于你买个洗衣机、电视,作为用户,你不需要知道它里面的构成是什么,你只需知道在它们机箱外面提供的功能按键即可。同理在一个类中,选择将属性设置为private,这样外部则不能调用此属性(因此不能直接调用该属性,并且不能通过调用来随意赋值),只能通过类中设定的public方法来调出此属性。直接使用成员变量属性与使用get与set方法都是对成员变量进行赋值修改,两者有什么区别嘛?有区别,一般都将成员变量赋值为private,对类的成员变量设置权限,.

2021-03-13 10:22:47 687

原创 类与对象

类:比作公司的一些部门,比如销售部,市场部与研发部等,每个部门有各自的职责与专门负责的事情,就能解释类中的属性与方法。另外在写类的时候感觉有点像c语言中的构造函数,创建新对象时,先用类定义一个“变量名”,然后new一个对象,将此对象赋值给这个“变量名”,比如——person p = new person();对象:类就相当于你跟别人说“人”这个词,你知道人有手有脚有脑袋,这是一个抽象的概念。但是对象就不同了,就是把这个“人”的概念具体化了,通过一些属性与方法你知道了这个具体的人是怎样的,会有那些行.

2021-03-11 20:01:07 47

转载 系统pid“4”占用80端口解决办法

https://jingyan.baidu.com/article/f96699bbca15a1894e3c1bc4.html

2021-03-03 18:26:27 301 1

原创 矩阵合同与相似,为什么只有当C为正交阵时才能使既相似又合同?

引入合同公式:之前在纠结明明C是可逆矩阵,为何不能说A与B合同就一定相似呢?为什么一定要加个C为正交矩阵的条件?(因为数二也没要求学空间向量,基啥的,仅从做题角度说说)原因自己弄明白感觉有点好笑,可能最近自己学蒙了,哈哈哈C^TAC=B中的C虽然是要求可逆,但是有一点就是不能主观想了C可逆了就能相似,相似也要满足C^-1AC=B这个式子才行啊,不然C可逆也是白搭。但是这个C是正交矩阵这就不一样了,因为正交矩阵直接就提供了C^TC=E,也就是C^T=C^-1,这样C^TAC=B中的C^T就可

2020-11-13 10:45:35 6394 1

原创 实对称矩阵一定要用正交矩阵来对角化吗?

不一定,可以直接用一般矩阵的方法求其对角阵,即可以不用正交单位化,直接用【p逆Ap=A的对角阵】来做,书上一上来就说用正交阵来对角化就是淡村为了体现这个方法而已,但是还是有好处的,比如正交单位化后,要求p逆只需要将p转置一下就好了...

2020-11-12 22:12:50 15925 1

转载 线性代数中相似矩阵P逆AP=B,那么PAP逆=B吗?

百度知道

2020-10-13 16:52:51 8205

原创 哈夫曼树中求空指针域(二叉链表中空指针域)

设哈夫曼树中共有99个结点,则该树中有 ____个叶子结点;若采用二叉链表作为存储结构,则该树中有___个空指针域。

2020-09-29 22:00:53 24346 30

转载 线性代数中自由变量为什么取0和1?

知乎

2020-09-29 21:50:45 1938

原创 方程组的极大线性无关组与线性无关解的个数

知乎

2020-09-29 15:05:21 13530

转载 为什么行列式不等于零,AX=0有唯一零解?AX=b有唯一解?

百度知道

2020-09-24 11:07:50 5285 1

转载 为什么高数. (b-a)^ (1-q) / 1-q 为什么q>1时趋近于+∞

百度知道

2020-09-09 13:28:57 256

原创 怎样区分充分性、必要性?如何辨别条件?

一、记住一点:“根据条件推结论就是证明充分性,根据结论推条件就是证明必要性”二、充要条件证明题的叙述方式一般有这几种:①是“求证:“A是B的充要条件”;②是“求证:“A的充要条件是B”。③A<=>B(等价于②,“A的充要条件是B”)怎么看哪个是条件呢?如上提取主谓宾,谁是条件一目了然。在①中,A是条件,由A推出B就是证明充分性,反之由B推出A就是证明必要性;在②中,条件是B,所以由B推出A就是证明充分性,反之由A推出B就是证明必要性。...

2020-08-16 22:05:40 25603 2

转载 求偏导数的问题,什么时候能先代入

https://zhidao.baidu.com/question/1608434785786995267.html

2020-08-12 14:41:21 7537

原创 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行( )

这个题目很有意思哈,第一反应是s->next=q->next,q->next=s,然后一瞅答案没有,并且还给出了答案是c,我说不能啊,这不p的结点地址丢失了嘛,果断认为题目错了,并且网上找答案,结果折腾一会发现网上答案都是说c,但是都没有具体给出解释,也有稀疏几个人和我的答案一样,后面再瞅了几眼题目,发现了问题所在。我们知道的是p、q都是结构体指针变量,当p、q指向某个结点的时候,意味着结点的首地址赋予了p、q指针变量,也就是说这两个结点的地址是已知的,所以可以q->next=s..

2020-07-26 20:18:25 34081 13

空空如也

空空如也

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

TA关注的人

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