自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Java后端学习之路】Spring核心学习篇

举个例子就是在电商网站需要提交订单的时候要进行一系列的验证与安全操作,而这部分的代码在传统领域中必须在每一个相关的业务逻辑中都写上,目前的理解是传统方法是把 统一的验证逻辑,一个个分配到需要被分配的地方去,这样就冗余。集合类容器是存储对象的,是一种数据结构,IoC容器是一种基于Java反射机制(像镜子一样把运行时的一个对象反射出来,即动态访问和操作,不用静态的时候获取)和XML配置文件的容器,负责管理对象与程序的依赖关系的。注意,这里的切面是横切面,横切面是指与人体或器官的长轴垂直的切面。

2023-04-07 21:43:31 172

原创 【Java后端学习之路】Java bean心得

是可重用的组件,方便表示数据实体的Java类。

2023-03-27 20:56:38 153

原创 设计模式心得

由一个基类衍生出由不同参数决定的实例。类似以前写的,在不同的参数判断条件下返回不同的实例。需要三个角色:工厂、抽象产品、具体产品。是静态的工厂是因为是工厂内已经对类实例化了,把实例化和对对象的使用分离开来了。

2022-11-12 16:51:19 202

原创 【力扣】因一题引发的知识点(Arraylist转整型数组问题与栈size不能作为循环判断)

剑指 Offer 06. 从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。输入:head = [1,3,2]输出:[2,3,1]笔者现在在二刷剑指offer,从一到很简单的题目中又收获到了很多知识点。笔者一直以来对toarry()方法使用得不好、总忘记其限制。先放两种toarry()的方法:因此如果不做限制直接return arr.toArray();得到的肯定是Object类型的数组是会报错的,若用第二种方法泛型又只能是得到Integer数组,依旧会报错。r

2022-06-06 09:43:50 158

原创 一道力扣题引发的知识的疏漏弥补

这道题需要我写一个类,类中要使用栈。是我在构造函数中写了返回值void导致报错,当时没发现,我在类中声明静态的类变量的时候就初始化了栈stack,而不是在构造方法中初始化,所以避免了这个报错。在静态变量声明的时候就初始化new了stack和在构造方法中才new有什么区别?区别应该只是一个在类被定义的时候就已经初始化stack了,而另一个是在创建类的实例的时候才初始化了stack。附:/*————————————————版权声明:本文为CSDN博主「haoshenwang」的原创文章,遵循CC 4.0 BY

2022-06-05 17:23:50 73

原创 Java多线程编程笔记

分类区分类锁、对象锁都属于对象监视器,而对象监视器是基于互斥锁的。类锁、对象锁层次: java层次类锁即锁住了类,对象锁即锁住实例对象synchronized使用场景分以下几种:一般方法对象锁,锁住当前对象静态方法类锁,锁住此类synchronized(object)锁住object,object可为对象,可为类常见:synchronized(this)对象锁synchronized(*.class)类锁锁的本质:逻辑上来说,锁其实是对象内存堆中头部的一部分数据

2022-05-15 15:21:38 153

原创 Java并发之Java线程池笔记

文章目录搭配视频观看优势ThreadPoolExecutor参数含义搭配视频观看视频讲解优势1、通过重用已存在的线程,降低线程创建和销毁造成的消耗2、提高系统响应速度,当有任务到达时,无需等待新线程的创建便能立即执行3、方便线程并发数的管控,线程若是无限制的创建,不仅会额外消耗大量系统资源,更是占用过多资源而阻塞系统或oom等状况,从而降低系统的稳定性。线程池能有效管控线程,统一分配、调优,提供资源使用率;4、更强大的功能,线程池提供了定时、定期以及可控线程数等功能的线程池,使用方便简单。T

2022-05-14 16:39:27 138

原创 分享一个Java异常的小段程序

class MyException extends Exception { public MyException() {} public MyException(String msg) { super(msg); }}public class Demo3 { public static void main(String[] args) { try { test(); } catch (MyExce

2022-05-13 20:27:07 126

原创 类型通配符相关知识点

定义顾名思义就是可以匹配任何一种类型的类型实参,如List<?>,可以访问任何类型的实参,但不能做修改与增添。带限通配符上限通配符仅确定上限,即父类,实例化时的指定实参是其本身或者是其子类。它表示集合中的所有元素都是Shape类型或者其子类List<? extends Shape>//Circle是其子类List<? extends Shape> list = new ArrayList<Circle>();虽然不能具体确定,但可以知道是

2022-05-11 16:43:57 158

原创 JAVA集合类

Arraylist按数组下标访问元素—get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元素—add(e)的性能也高,但如果按下标插入、删除元素—add(i,e), remove(i), remove(e),则要用System.arraycopy()来移动部分受影响的元素,性能就变差了,这是基本劣势。关于Arraylist的set方法一直报错,看了源码才知道在arraylist为空的时候是不允许用set(0,value)来给list赋值的。add操作可以理解为直接将

2022-05-11 15:51:22 177

原创 字符串的比较(字典序)与compareTo()总结

今天做了道题且和宿友探讨了之后发现我对字典序和compareto()有严重只是纰漏,现学习并分享。字符比较一般是以字典序来比较字符串或者单个字符的大小,一般以ASCII码作为比较标准。比较方式可以使用String类的compareTo()方法来实现。该方法用于判断一个字符串是大于、等于还是小于另一个字符串,返回int类型的差值。判断字符串大小的依据是它们在字典中的顺序。实现Comparable接口实现Comparator接口compareTo()源代码如下public int compar

2022-05-10 14:28:14 1449

转载 禁用 Android Studio 3.x 系列自带的 testOnly 属性,解决 debug 包安装失败的问题

不知道有没有人遇到过,Android Studio 3.0 开始自带一个隐藏的功能,那就是编译打包 debug 包时,会自动在 apk 包的清单文件中加这么一句话:android:testOnly=“true”该属性位于 AndroidManifest.xml 文件的 application 标签下,可以直接在 Android Studio 开发工具中打开 app/build/outputs/apk/debug/app-debug.apk 文件查看。这带来的一个问题是,当你使用真机调试时,通过 run

2022-05-10 09:56:31 1877

原创 ArrayList list = new ArrayList() 和List<String> list = new ArrayList<String>() 的区别

第一种用当前类作为引用类型,那么可以访问到ArrayList这个类中的所有公用方法。第二种定义用ArrayList实现的接口List作为引用类型,那么通过list引用可以访问到接口中定义的方法。也就是说ArrayList这个类实现了List接口,除了要必须实现接口List中声明的方法外,还可以实现额外的一些方法。但是,第二种形式就无法调用的List接口以外的方法。是很好的面向接口编程的习惯。比如你有这么一个方法供别人调用:public List getXXXList(){ List list

2022-04-30 21:16:28 2372

原创 【知识点分享】Java ArrayList toArray() 方法中带参数与不带参数的区别

今天在学习《第一行代码》的时候发现了知识盲区,今天才知道Java的toArray()有两种使用方法,分别为带参数和不带参数的,现做分享:不带参数的使用方法这个方法我经常用,但查到的说是不推荐使用不带参数的用法:ArrayList<String> sites = new ArrayList<>(); sites.add("Runoob"); sites.add("Google"); sites.add("Wiki")

2022-04-07 15:32:40 679

原创 【第一行代码】安卓学习中的坑与笔记

刚起步学习安卓,在使用郭神的第一行代码的时候发现litepal怎么也加入不有依赖。发送这个报错:Failed to resolve: org.litepal.guolindev:core:3.2.3百度了好几天的资料才发现使用GitHub的依赖需要添加这个:maven { url ‘https://www.jitpack.io’ }但还是无济于事,最后瞎猫碰上死耗子又添加了阿里云的maven最后成功添加依赖jcenter { url ‘https://maven.aliyun.com/reposit

2022-03-27 16:29:22 3014

原创 【记录】Java实现链表的过程个人描述

public class Main { public static void main(String[] args){ ListNode nodeSta = new ListNode(0); //创建首节点 ListNode nextNode; //声明一个变量用来在移动过程中指向当前节点 nextNode=nodeSta; //指向首节点 //

2022-03-05 13:27:19 416

原创 【记录】java中Character和char的区别(包装类)

做题的时候发现的,查完资料后记录如下:Character是char的包装类,就像Integer和int ,以及Long和long一样。Character是char的包装类,注意它是一个类,提供了很多方法的。同时我对包装类、封箱等不熟悉,在此也顺带介绍下:封箱与拆箱装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。一共有八种基本数据类型都有对应“封箱”他们分别是:基本数据类型

2022-03-05 11:22:37 1289

原创 【记录】动态规划 Dynamic Programming

如果没有重复的调用过程,动态规划是优化不了的,也无法优化。

2022-03-01 14:40:34 80

原创 【分享】Hashset

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 允许有 null 值。HashSet 是无序的,即不会记录插入的顺序。HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。HashSet 实现了 Set 接口。java.lang.Objectjava.util.AbstractCollectionjava.util.AbstractSetja

2022-02-28 23:54:35 512

原创 JVM与数据结构中:堆与栈的区别?

首先堆栈的区别在数据结构与内存分配中是有本质区别的数据结构栈是先进后出的存储结构,实际编程时可以用数组或链表来实现。堆则是常用来实现优先队列(即优先级最高的先出),是一种特殊的完全二叉树(节点从左到右填满,最后一层的叶都在最左边,每个节点的值都小于或都大于其子节点的值。)在JVM中:栈内存:存储的是局部变量,先加载函数再进行局部变量的定义。方法先进栈,再定义变量。栈内存的更新速度很快是因为局部变量的生命周期都很短。堆内存:存储对象,new出来的对象都在堆中。这些对象(实体)用于封装实体的多

2022-02-27 21:13:43 227

原创 【力扣】第一道力扣题就没写出来:删除排序数组中的重复项

很久没写代码了,开始练习:题目(源自力扣):删除排序数组中的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k 。不要使用额外的空间,你必须在 原地 修改输

2022-02-24 18:49:41 148

原创 【记录】i++与++i的区别

初学者会对i++与++i产生疑惑,仅仅了解到前者是先进行引用操作再自增,后者是先自增再进行操作。随着接触到更多细节之后才知道这两者影响之大。例如在打印一个数的时候,如果所需打印的是i++,则打印出的数字与初始化的数字一样,++i则会在初始化数字上加1。当然了除实现不同外,效率也是需要考量的:查找资料后得知在不进行引用的情况下,前缀自增和后缀自增是没有任何效率的区分。若只需要自增而不引用,可以优先用++i来减少操作,这是不同于后缀自增需要备份一个自增操作前的数来进行引用的。...

2022-02-24 17:14:08 73

转载 什么时候用p标签,什么时候用li标签

文章内容的呈现需要用到p标签和li标签。在网站设计领域,p标签是用的最广泛的,因为它代表的是段落框架,毕竟文章是由段落组成的,所以你查看网页源代码的时候,发现p标签是最多的。li标签则用的范围比较少,通常用在导航栏、列表栏、图片显示。p标签的内容可长可段,它的意义就在于成段,在成段的内容里,你可以用strong加粗后用作标题,也可以用作内容段。li标签的内容有限制,建议最多两行,它的意义在于可以配合程序实现数据列表的功能,比如文字、图案的列表化显示。由于p标签具有clear:both属性,所以列表化

2021-09-17 14:51:54 790

原创 关于vscode编写html代码的时候出现文字编写时自动换行的解决办法

刚开始学html的时候发现文字、符号都没法作为开头,一换行就会自动恢复回原来的段落。只能以标签作为开头,经网上调查才发现问题出在编辑器自带的自动保存上,"files.autoSave"选择为afterDelay的时候就会出现这个BUG,选择别的选项的时候就不会有这问题了。...

2021-09-13 16:15:06 1516

转载 分享一个知识点:一个word一般来说占4个byte或8个byte

以前总是没搞清楚半字,字到底有多少个字节,有说字是4字节的,又说字是8字节的,但没有个固定的说法下面这段话摘抄自Computer system: a programmer’s perspectiveBuses are typically designed to transfer fixed-sized chunks of bytes known as words. Thenumber of bytes in a word (the word size) is a fundamental system

2021-06-21 20:38:38 6555

原创 【分享】如何修改main方法中arg的参数&利用该参数接收用户从键盘输入的字符串

package test;import java.util.Scanner;public class main{ public static void main(String [] args){ //测试类 double aver =0,sum=0, item =0; boolean computable = true; for(String s:args){ try {

2021-06-05 15:18:20 337

原创 定义一个 Retangle类,定义方法输出Retangle的长宽和面积。编写应用程序使用Retangle。

定义一个 Retangle类,定义方法输出Retangle的长宽和面积。编写应用程序使用Retangle。【问题描述】定义一个 Retangle类,有长、宽等属性,定义构造方法用来初始化类的这些属性,定义方法输出Retangle的长宽和面积。编写应用程序使用Retangle。【输入形式】请输入长:请输入宽:【输出形式】长是:宽是:面积是:【输入样例】Please input length: 4.0Please input width: 3.0【输出样例】The lengh is

2021-05-11 14:23:33 813

原创 从键盘输入10个整数,存放在一个数组中,然后使数组中的所有整数整体向后移动m个位置,最后m个数变成最前面的m个数,并输出移动后的结果。m从键盘输入。

【问题描述】从键盘输入10个整数,存放在一个数组中,然后使数组中的所有整数整体向后移动m个位置,最后m个数变成最前面的m个数,并输出移动后的结果。m从键盘输入。【输入形式】输入10个整数,每个整数间用空格分隔,回车。然后输入整数m。【输出形式】首先输出数组中的10个元素,然后输出后移m位以后的数组所有元素。【输入输出样例】Please input 10 numbers:1 2 3 4 5 6 7 8 9 10Your numbers are:1 2 3 4 5 6 7 8 9 10Pl

2021-04-14 20:39:08 4051

typora11111111111111

typora11111111111111

2023-07-31

空空如也

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

TA关注的人

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