自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双非本科Java无实习进大厂的经验分享

双非本科 + Java + 无实习 + 24 届秋招 ,经验分享,给双非朋友们一点经验分享。

2024-01-06 19:29:14 1057 1

原创 SpringMVC的DispatcherServlet如何从HTTP Servlet中接收信息

本文概述:从简述 Tomcat 如何处理请求, 然后去探究 SpringMVC 如何去接收请求并通过 Dispatcher 进行派发。

2023-03-18 23:51:16 734 1

原创 Class文件的静态常量池到底存储哪些变量

(如果你好奇, 具体如何存储的, 看上一篇文章), 这里简单说一下, 当创建一个对象引用, 在代码运行的时候, 引用指向的就是对象实例. 但是在文件中无法指向, 在 Class 文件中,对象引用指向的就是一个字符串, 这个字符串就是对象实例的全限定名, 通过这个全限定名, 在真正运行的时候就可以去寻找目标类了,总而言之, 引用类型, 字面量, final 变量, 静态引用都是存储在这里的, 不过需要注意的是, 不要觉得静态常量池中存储的是真正的引用, 实际上这里的"引用", 只是一个序号。

2023-03-16 23:52:04 544

原创 Class文件如何存储基本数据,引用类型

本文概述:在上一个文章我们谈论了关于字节码的信息.这里我们来看看 Class 文件是什么。

2023-03-15 12:48:50 636

原创 字节码是JVM的核心

上文说到,Java 是解释器+编译器并存的架构, 下面来看看在这个基础上, 字节码是什么样的存在.提示:上一篇讲述的是 JVM 是编译器+即时编译架构的下一篇将要讲述 Class 文件本文很短, 最好的阅读顺序是这三篇一起看其实 Java 的解释器+编译器并存的架构, 其实还有些需要注意的地方!这里的编译器+解释器, 指的是 Java 解释器以及即时编译器. 这对应的是将字节码转换成底层代码的两种方式.

2023-03-14 14:26:55 206

原创 JVM采用解释器和编译器并存的架构

本文概述:编译型语言和解释型语言分别是什么, 形象理解其特点JVM 为什么需要解释器和编译器并存的架构。

2023-03-12 14:13:03 254

原创 关于wait,notify,notifyall,sleep方法的思考

这里有些前缀知识, 我会简要说明.如果你了解过 syncrhonized 关键字, 那么就了解, 他可以修饰普通方法, 静态方法, 代码块.synchronized 底层实现是由 Monitor 来实现的, 如果你不懂, 也只需要看我这里说的即可.!当一个线程进入 synchronized 之后, 底层的 Mointor 对象的 _owner 会记录拥有锁的线程, 其他线程查看的时候都不会进入同步代码块, 这就是锁的原来. 而其可重入性, 也是基于这个原因。

2023-03-12 13:42:27 158

原创 为什么重写 equals 方法 () 就要重写 hashCode ()

本文概要:讲述为什么需要重写 equals 方法, 又为什么重写了了 equals 就要重写 hashCode 方法.然后讲述这样做的好处。

2023-03-11 16:26:47 294

原创 String为什么是不可变的

起码, 我们了解到, 如果使用自定义对象作为 Key, 那么就要注意, 是否存储在外部能直接修改内部的值并且会导致 hashCode 改变的任何操作.比如说我们回顾一下 String 能不能在外部修改因为不可变性, 无法修改比如说,Integer 方法Integer 方法无法直接修改. 直接修改, 也是一个新的对象, 不会影响到存入到 HashMap 中的Key。

2023-03-10 20:56:25 643 2

原创 你了解线程的状态转换吗

本文概述:讲述线程的六种状态.你可能已经了解了六种状态, 但是你知道 sleep 被唤醒之后, wait ()被 notify 之后进入了什么状态吗?本文只是开胃小菜, 你看看下一篇文章对你有没有帮助.我们需要了解, 一个线程任意时刻, 只会处于一种状态.

2023-03-09 20:37:58 382

原创 如何正确停止线程

本文概要:介绍如何去正确停止一个线程为什么用 volatile 标记的停止方法可能是错误的?—生产者消费者。

2023-03-08 09:35:42 338

原创 从getBean()分析BeanFactory和ApplicationContext

注意了, loadBeanDefintions 方法并不会去实例化 Bean, 这里只是把我们定义的 Bean 的信息, 封装成 BeanDefiniton 而已, 并不会去实例化.注意, 这里是预加载, 预加载会加载所有的非懒加载的的单例的非抽象的 bean .而懒加载, 其实也是在 getBean ()的时候才会加载的.这是因为 ApplicationContext 的预加载机制, 会加载所有的单例的非抽象的以及非。看见懒加载, 那么懒加载的 bean 啥时候加载?还是 getBean ()方法。

2023-03-07 22:10:37 603

原创 针对于HashMap的(n-1) & hash的研究和拓展思考

本文概览:简单, 直白的看一看为什么 HashMap 中存在 (n-1) & hash 以及 n & hash.思考题: 在 HashMap 中 hash 和 HashCode 有什么关系, 他们是一个东西吗吗?HashCode 的两次扰动本文能解决你的哪些问题?

2023-03-06 19:41:39 650 2

原创 HashTable,ConcurrentHashMap,ArrayList,LinkedListHashtMap等值对存储null以及二义性的深入研究

本文从设计思路到源码进行讲解.下面是概述HashMap存在二义性 ----> ConcurrentMap,HashTable为什么不存在二义性 ---- > 二义性由 返回值 null ,不能代表元素的存在或者不存在引起 ----> 引申部分 : ArrayList,LinkedList 存在不存在二义性。

2023-03-05 21:10:19 451

原创 【Servlet】Servlet学习之基础篇(HTTP)

【Servlet】Servlet学习之基础篇(HTTP)

2022-09-04 23:04:23 595 1

原创 【Servlet】Servlet学习之基础篇

由浅入深的Servlet系列文章(一)Servlet基础

2022-09-04 20:09:36 308

原创 常见ArrayLIst面试题

将指定的元素添加到此列表的尾部。将指定的元素插⼊此列表中的指定位置按照指定collection的迭代器所返回的元素顺序,将该collection中的所有元素添加到此列表的尾部。从指定的位置开始,将指定collection中的所有元素插⼊到此列表中。移除此列表中的所有元素。返回此ArrayList实例的浅表副本。如果此列表中包含指定的元素,则返回true。如有必要,增加此ArrayList实例的容量,以确保它⾄少能够容纳最⼩容量参数所指定的元素数。返回此列表中指定位置上的元素。...

2022-07-22 22:22:04 1746 1

原创 从BIO到实现简单多人聊天室功能--IO模型

从BIO到实现简单多人聊天室功能

2022-07-21 21:52:17 463 10

原创 webAPI第一弹---JS

webAPI介绍第一弹

2022-07-13 09:58:41 309

原创 Vue-router常见错误

Vue错误

2022-07-01 14:24:46 2077

原创 ArrayList精讲(源码分析)---Java集合

ArrayList精讲+源码分析

2022-06-27 19:41:27 244

原创 【vue】通过cdn优化element-ui

通过cdn优化element--ui

2022-06-26 23:37:24 1762

原创 【Vue】通过ChainWebpack自定义打包入口

vue通过chainWebpack自定义打包入口

2022-06-26 21:52:00 445

原创 处理Vue的语法警告(三种方法)

项目:Vue项目1.关闭 eslint注释掉右侧的部分,并且注意,上语句后的逗号也要删除2.如果不想禁用eslint,方便规范代码,但是担心比较难debug下面是添加规范代码的文件根路径下新建文档.prettierrc文档,在文档内填写规则,更多规则可以网上查询{ "semi": false, // 使用分号, 默认true "singleQuote": true, // 使用单引号, 默认false(在jsx中配置无效, 默认都是双引号) "bracketSp

2022-05-27 15:09:05 1915 2

原创 String为什么无法在方法中修改原有string变量的值

题目public class Exam10{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Exam10 ex=new Exam10(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); System.out.print(ex.ch); }

2022-04-23 17:40:38 1316 3

原创 【Java数据结构】手写泛型数组

如何构建一个我们自己使用的泛型数组1.可以扩容2.接收“任何”类型(基本数据类型使用包装类型 )3.增删改查存储泛型数据private E[] data;private int size;构造函数 public Array() { this(10); } public Array(int capacity) { data = (E[]) new Object[capacity]; this.size = 0;

2022-04-17 23:28:43 267

原创 【Java数据结构】带有虚拟头节点的链表

虚拟头节点是什么?虚拟头节点就是,在原本第一个节点之前,增加一个节点。即在链表为空时,仅有一个节点。这样操作的好处时,不需要在添加和删除的时候判断是否待删除或者待添加的索引为0使用虚拟头节点有什么好处我们先来对比以下,使用和未使用对于添加元素方法未使用添加元素在理解上图后,要明白一个点,我们想在index插入节点,那么prev必须指向index的前一个节点!!,所以说,我们对于add方法内,要判断index是否为0但是加上了虚拟头节点呢???,加上虚拟头节点后,我们从虚拟头节点的位置开始移动,

2022-04-16 22:27:45 1035 1

原创 【JavaScript】前端模块化操作

前言:准备前端的项目的时候,往往就需要模块化操作了模块化操作是什么让一个js文件内的方法可以被其他js文件使用1.es5准备两个文件01.js 02.js01.jsconst m = require('./02.js')console.log(m.subtract(1,2))console.log(m.sum(10,3))const sum = function(a,b){ return parseInt(a) + parseInt(b)}const subtrac.

2022-04-15 23:49:49 481

原创 【设计模式】单例模式精讲(上)

⭐️引言⭐️我将单例模式分为两部分单例模式(上):为什么需要单例模式+案例讲解实现单例模式破坏单例模式的情况及其解决方法反射序列化单例模式(下)- 容器单例- ThreadLocal线程单例- 使用单例处理资源访问冲突- 使用单例表示全局唯一类⭐️为什么需要单例模式⭐️防止重复创建对象而损耗性能在此情况下使用单例模式,好处有这些:1.在内存中只有一个对象,节省内存空间。2避免频繁的建立销毁对象,能够提升性能。3.避免对共享资源的多重占用。4.能够全局访

2022-03-23 09:26:07 195

原创 【数据结构】循环队列

/** * 队列的改良,使得删除元素的时间复杂度为o1 * @param <E> */public class LoopQueue<E> implements Queue<E>{ private E[] data; private int front,tail; private int size; public LoopQueue(int capacity) { data = (E[]) new Object[

2022-03-13 22:05:36 859

原创 【数据结构】平衡二叉树

/** * 平衡二叉树 * 对于 BST 节点元素,一定要实现 Comparable 接口 * @param <E> */public class BST<E extends Comparable<E>> { /** * 二叉树的节点 */ private class Node{ public E e; public Node left ,right; public Node

2022-03-13 22:04:30 1078

原创 Git-实战详解

很多时候,学习 Git 可能往往是为了保存自己的代码开发进度,管理团队的代码。所以很多时候,一般的学生或者是普通的程序员,也只需要了解该如何用ta。重要的不是你会多少条指令,而是你知道在何种情况下,该用哪一条指令,只有真正自己能用到的指令,才算自己真正学会了下面初次见面 — 快告诉我你的名字吧当我们创建项目和 Git 初次见面时,它不知道我们叫什么,第一步就是,告诉它我们的名字和邮箱,先让他知道我是谁 git config -- global user.name '你的名字' git con.

2022-03-06 15:34:14 492 17

原创 【Java多线程】带你用不一样的思维看创建线程的两种方式

创建线程的两种方式通过实现 Runnable 接口public class CreateThread {// 继承 Thread 类来 static class MyThread extends Thread{ @Override public void run() { System.out.println("Hello MyThread"); } }// 实现 Runnable 接口:这个方式更灵活,因为

2022-03-04 18:53:49 2122 1

原创 【Android】关于MediaProject截图的正确姿势(最新)

在使用 MediaProject 的过程种,遇到了N种错误,自己一直也没有解决下面来分享一个我找到的资料,我对作者的代码进行了小部分的修改来完成我的功能。在这里非常感谢作者,我在各种平台都搜集了很久,没有找到一个可用的 MeidaPorject 截屏代码,而网上的教程各式各样,但是实操都会遇到各种各样的问题。由于作者好像在除了 github 平台发布了代码之外,在其他平台并没有找到。特此,使用了作者代码截屏的部分,并修改了部分代码,作者的github仓库sdk 28MainActivity

2022-03-04 17:40:10 1853

原创 【DEBU】java.lang.IllegalStateException: Not a JSON Object: “{\“income\“:\“[{\\\“id\\\“:1,\\\“phone\\\

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2022-02-13 15:41:22 1111

原创 【Java】异常处理、try...catch语句

文章目录1. 异常1.1 try...catch异常处理1.2 多catch并行处理1.3 throw和throws 关键字的使用1.4 finally代码块1.5 RuntimeException异常1.6 自定义异常1. 异常1.1 try…catch异常处理try catch的异常处理的格式写法 :try{ 被检测的代码 可能发生异常的代码}catch(异常类的类名 变量名){ 异常的处理方式 : 写什么都可以 定义变量,创建对象,调用方法,循环,判断.

2022-02-10 21:56:01 2638

原创 【设计原则】依赖倒置原则 (面向接口编程)

本文将以Java为基础,讲解开发中,面向接口编程的知识,只要以简单的例子为主,讲解如何进行面向接口编程,并会区分其于面向实现编程的区别。下面先讲一讲依赖倒置原则,再过渡到案例解释。本文目的在于用极其简单的图解帮助新手来简单的理解面向接口开发,并不会提出很高深的理论支持来描述。文章若有错误的内容,希望大佬指正依赖倒置原则什么是依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象针对接口编程,不要针对实现编程即:每个类尽量继承自接口或者抽象类.

2022-02-08 22:29:17 623 14

原创 【安卓】启动Service

启动Service:1.创建一个service类2.Intent intent=new Intent(this,MyService.class);startService(intent);停止:Intent intent2=new Intent(this,MyService.class);stopService(intent2);绑定:Intent intent3==new Intent(this,MyService.class);bindService(intent3,new Service

2022-02-04 15:15:50 1656

原创 【安卓】悬浮球源代码(长按判断、多次点击判断、自动贴边)

安卓最新,可用的悬浮球代码。可用android10自动贴边,拖动悬浮,长时间不点击自动变小换皮肤拖动到具体位置删除悬浮球

2022-02-02 20:10:36 4577 52

原创 【Java】匿名内部类及与接口和抽象类的关系

匿名内部类是什么定义在外部类的内部,比如方法中,并且没有类名(由系统直接分配,若用debug查看变量,显示的是外部类名.$数组)匿名内部类可以访问外部类的私有属性和私有方法,不能添加修饰符public class Anonymous { public static void main(String[] args) { Outer outer = new Outer(); outer.tiger.cry(); outer.dog(); }

2021-12-26 23:40:31 473 13

空空如也

空空如也

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

TA关注的人

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