自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 资源 (2)
  • 收藏
  • 关注

原创 JVM笔记(四):并发篇

并发篇文章目录并发篇一、线程安全与锁优化1.Java线程安全`1` 不可变`2` 绝对线程安全`3` 相对线程安全`4` 线程兼容`5` 线程对立2.线程安全的实现方法`1` 互斥同步(一)synchronized(二)Lock`2` 非阻塞同步`3` 无方案同步3.锁优化`1` 自旋锁与自适应自旋`2` 锁消除`3` 锁粗化`4` 轻量级锁`5` 偏向锁一、线程安全与锁优化1.Java线程安全不把线程安全当作一个非真即假的选项,从线程安全的程度上由强到弱可以排序为: 不可变,绝对线程安全,相.

2021-10-10 16:13:30 179

原创 JVM笔记(三):垃圾回收篇

垃圾回收篇文章目录垃圾回收篇一、垃圾回收算法与引用1.判断对象已死(标记垃圾算法)`1` 引用计数算法`2` 可达性分析算法`3` 真正的死亡2.垃圾回收算法`1` 垃圾回收分类`2` 标记-清除算法`3` 复制算法`4` 标记-整理算法`5` 分代收集算法`6` 增量收集算法`7` 分区算法3.HotSpot垃圾回收算法细节`1` 根节点枚举`2` 安全点与安全区域`3` 记忆集与卡表`4` 写屏障`5` 并发可达性分析4.相关概念`1` System.gc()`2` 内存溢出`3` 内存泄漏`4`.

2021-10-08 20:28:33 236

原创 JVM笔记(二):字节码与类加载篇

字节码与类加载篇文章目录字节码与类加载篇一、编译器与执行引擎1.编译器2.Java中的语法糖`1` 泛型(一)自动拆装箱,增强for循环与可变长参数(二)条件编译(三)Lambda原理3.执行引擎`1` 执行引擎执行方式`2` 逃逸分析带来的优化(一)逃逸(二)栈上分配内存(三)锁消除(四)标量替换`3` 分层编译`4` 解释执行与编译执行`5` 解释器与编译器(一)解释器(二)即时编译器`6` 热点代码与热点探测`7` 基于栈的指令集与基于寄存器的指令集二、方法调用1.非虚方法与虚方法2.调用指令3.

2021-10-07 21:10:35 295

原创 JVM笔记(一):内存管理篇

内存管理篇文章目录内存管理篇一、HotSpot虚拟机对象探秘对象的创建1.类加载检查2.分配内存3.初始化零值4.设置对象头5.执行init方法对象的内存布局1.对象内存信息2.分析对象占用字节3.结构图对象的访问定位1.访问方式二、Java内存模型与线程Java内存模型1.交互操作以及注意事项2.8种内存交互操作3.使用规则与注意事项4.volatile特性==1== 可见性==2== 不保证原子性==3== 禁止指令重排序5.double,long的非原子性协定6.原子性,可见性与有序性7.先行发.

2021-10-05 21:52:28 215

原创 设计模式---工厂模式

工厂模式简单工厂模式案例:由厨师做菜为例子,厨师可以做肉和鱼,让顾客来进行点菜public interface Chef { public void cook();}public class Meet implements Chef{ @Override public void cook() { System.out.println("做锅肉~"); }}public class Fish implements Chef{ @

2021-05-07 08:23:19 90 1

原创 设计模式----单例模式

设计模式总结一、单例模式类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法),而不提供new。实现方式:饿汉式静态常量:class Singleton { //1. 构造器私有化, 外部能new private Singleton() { } //2.本类内部创建对象实例 private final static Singleton instance = new Singlet

2021-05-04 20:57:20 86

原创 计算机网络(自顶向下)第七章总结

计算机网络第七章:无线网络和移动网络7.1 概述无线网络要素:无线主机。如同在有线网络中一样,主机是运行应用程序的端系统设备。无线链路。主机通过无线通信链路 (wireless communication link) 连接到一个基站或者另一台无线主机。不同的无线链路技术具有不同的传输速率和能够传输不同的距离。基站。基站在有线网络中没有明确的对应设备。它负责向与之关联的无线主机发送数据和从主机那里接收数据。一台无线主机与某基站“相关联”,则是指①该主机位于该基站的无线通信覆盖范围内。②该主机

2021-05-02 09:52:32 1486 1

原创 计算机网络(自顶向下)第六章总结

计算机网络第六章:链路层和局域网链路层信道。第一种类型是广播信道,这种信道用于连接有线局域网、卫星网和混合光纤同轴电缆接入网中的多台主机。因为许多主机与相同的广播信道连接,需要所谓的媒体访问协议来协调帧传输。第二种类型的链路层信道是点对点通信链路,这在诸如长距离链路连接的两台路由器之间,或用户办公室计算机与它们所连接的邻近以太网交换机之间等场合经常能够发现。6.1 链层概述将运行链路层协议的任何设备均称为节点(node)。把沿着通信路径连接相邻节点的通信信道称为链路(link)。为了将一个数据报从

2021-04-26 21:10:57 1360

原创 计算机网络(自顶向下)第五章总结

计算机网络第五章: 网络层:控制平面控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理。OSPF是一种运行在单一 ISP的网络中的路由选择算法。BGP是一种在因特网中用于互联所有网络的路由选择算法,因此常被称为因特网的“黏合剂”。传统上,控制平面功能与数据平面的转发功能在一起实现,在路由器中作为统一的整体。软件定义网络(SDN)在数据平面和控制平面之间做了明确分割,在一台分离的“控制器”服务中实现了控制平面功

2021-04-26 21:10:28 1263

原创 计算机网络(自顶向下)第四章总结

计算机网络第四章:网络层: 数据平面在网络中的每一台主机和路由器中都有一个网络层部分。网络层能够被分解为两个相互作用的部分,即数据平面和控制平面。软件定义网络(Software- Defined Networking, SDN)通过将这些控制平面功能作为一种单独服务,明确地分离数据平面和控制平面,控制平面功能通常置于一台远程“控制器”中。4.1 网络层概述路由器的数据平面的主要作用是从其输入链路向其输出链路转发数据报。路由器的控制平面的主要作用是协调这些本地的每路由器转发动作,使得数据报

2021-04-20 21:13:16 789

原创 计算机网络(自顶向下)第三章总结

计算机网络第三章:运输层运输层与网络层关系:运输层将网络层的在两个端系统之间的交付服务扩展到运行在两个不同端系统上的应用层进程之间的交付服务。计算机网络两大基本性问题:面对计算机网络中最为基础性的问题之一,即两个实体怎样才能在一种会丢失或损坏数据的媒体上可靠地通信。网络中的第二个基础性的重要问题,即控制运输层实体的传输速率以避免网络中的拥塞,或从拥塞中恢复过来。3.1 概述和运输层服务运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信(logic communication) 功能。从应

2021-04-20 21:12:45 592 3

原创 计算机网络(自顶向下)第二章总结

计算机网络第二章:应用层2.1 应用层协议原理研发网络应用程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序。重要的是,你不需要写在网络核心设备如路由器或链路层交换机上运行的软件。网**络核心设备并不在应用层上起作用,而仅较低层起作用,特别是在网络层及下面层次起作用。**这种基本设计,即将应用软件限制在端系统(如图所示)的方法,促进了大量的网络应用程序的迅速研发和部署。2.1.1 网络应用程序体系结构应用程序的体系结构明显不同于网络的体系结构。从应用程序研发者的角度看,网络体系结构

2021-04-20 21:12:08 2630 2

原创 计算机网络(自顶向下)第一章总结

计算机网络第一章:计算机网络和因特网1.1 什么是因特网一般分为两种:我们能够描述因特网的具体构成,即构成因特网基本硬件与软件组成**(构成描述)**;我们能够根据为分布式应用提供服务的联网基础设施来描述因特网**(服务描述)**;1.1.1 构成描述因特网是一个世界范围的计算机网络,这意味着它互联了数以亿计的计算设备;这些设备包括但不限于传统PC、工作站以及所谓的服务器。现在有更多的设备加入到因特网中,比如便携式计算机、电视机、汽车、传感器等。用因特网术语来说,所有这些

2021-04-20 21:11:33 764

原创 贪心算法

贪心算法406.根据身高重建队列题目描述:假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。思路:可以先将

2021-04-05 21:53:05 81

原创 为什么重写equals一定重写hashcode

为什么重写equals一定重写hashcode?​ 因为java某些容器在进行判断对象是否相等之前一般都是先进行hashcode判断hash值是否相等,才会进行equals的判断,所以有“对象相等,hashcode一定相等;而hashcode相等,对象不一定相等。”font>,原因是哈希表是结合了直接寻址和链式寻址两种方式,如下图:以上图为例,就是将需要加入哈希表的数据首先计算哈希值,其实就是预先按行分组,hashcode就是每组的组号,hashcode相等说明是在同一组,所以可以看出hash

2021-03-28 10:40:08 58

原创 @EnableEurekaServer启动报错

报错如下:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2021-03-18 11:01:44.226 ERROR 10400 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedorg.springf

2021-03-18 11:05:55 344

原创 SpringMVC环境

pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org

2021-02-06 16:05:15 55

原创 SpringMVC第一个程序就一直404?

(先看文末节省时间)不知道你是否也和我一样,明明和视频上老师的步骤一模一样,代码也是一个字一个字的照着扣,但是却依然是错误的404,那么看到这篇,我可能会劝你先等等,别再纠结于是不是自己导包导错了,或者是哪里的细枝末节和视频不一样而导致的,因为我遇到时也确实是这么想的,也是这么干的。但是结果呢?结果是两天过去了,我依然是绝望的404。最后通过各种找人帮忙运行,叫学长放一份可以运行的demo来.终于确定了,并不是代码本身问题,也不是个人问题,而是Tomcat版本冲突,我的版本是10.X,他们都是8.X,

2021-02-05 12:23:11 179

原创 解决没有contextConfigLocation提示

解决方法:

2021-02-04 14:08:00 719 1

转载 Maven项目中配置文件导出问题

<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> ..

2021-01-30 21:11:26 134

转载 spring没有@Resource注解

<!--注解依赖 https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api --> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <ve...

2021-01-29 15:20:22 1344

原创 EL表达式直接输出${XX}

在.jsp文件中加上<%@page isELIgnored="false" %>

2021-01-27 18:36:41 366 1

原创 Maven配置Servlet

<dependencies> <!-- 没有这两个会报500错误 --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> </dependency>

2021-01-27 18:35:32 537 1

原创 泛型总结

泛型是什么?泛型,即“参数化类型”。将原来的具体的类型参数化,类似于方法中的变量参数(可以称之为类型形参),然后在调用时传入具体的类型(类型实参)。使用泛型的好处是什么?在泛型之前,集合中可以存储任意类型对象,在调用时需要进行类型转换,否则会出现ClassCastException。有了泛型后,能够确保你只能存入正确类型,否则就会在编译期报错,将错误从运行期提升到了编译期。List arrayList = new ArrayList();arrayList.add("aaaa");arrayLi

2021-01-23 16:18:04 83 1

原创 数字电路与逻辑电路芯片

74148:8线-3线编码器74147:10线-4线编码器74139:2线-4线译码器74138:3线-8线译码器

2020-12-27 16:45:23 1637

原创 HashMap个人总结

HashMap1.存储结构内部包含了⼀个 Entry 类型的数组 Entry[] table。transient Entry[] table;*(transient:表示不能被序列化)*Entry类型存储着键值对。它包含了四个字段, Entry 是⼀个链表。即数组中的每个位置被当成⼀个桶,⼀个桶存放⼀个Entry链表。HashMap 使⽤拉链法来解决冲突,同⼀个链表中存放哈希值和散列桶取模运算结果相同的 Entry。2.常规操作(1)final K getKey();(2)final V get

2020-12-26 13:30:17 161 2

原创 Gson在Servlet里创建报错

java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.r

2020-12-01 15:02:31 367 1

原创 输出关键路径

Graph.h#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#include <iostream>#include <cstdlib>using namespace std;//链表结构typedef struct ListNode { int index; int weight; struct ListNode *next;}ListNode;//顶点结构typedef struct V

2020-11-28 22:35:12 295

原创 图顶点件路径间最短路径(广度遍历)

修改队列文件Queue.h#ifndef QUEUE_H_INCLUDED#define QUEUE_H_INCLUDED#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;//改造队列typedef struct Node{ int data; //多加了一个前驱指针用于记录是谁的相邻顶点 struct Node *next , *

2020-11-23 13:32:11 108

原创 图顶点间的简单路径(深度遍历)

图结构文件Graph.h#ifndef GRAPH_H_INCLUDED#define GRAPH_H_INCLUDED#include <iostream>#include <cstdlib>using namespace std;//链表结构typedef struct ListNode { int index; struct ListNode *next;}ListNode;//顶点结构typedef struct Vertex{

2020-11-23 13:27:04 334

原创 欧拉回路判断和路径输出,复制可用

并查集操作文件UnionFindSet.h#ifndef UNIONFINDSET_H_INCLUDED#define UNIONFINDSET_H_INCLUDED//并查集//这存的是对顶点的直接领导int pre[100];//存的是各顶点的度int degree[100];//查找x的最高领导是谁并返回int find(int x){ int t = x; while(pre[t] != -1){ t = pre[t]; } re

2020-11-23 13:23:18 155

原创 Cookie报错:HTTP状态 405 - 方法不允许 类型 状态报告 消息 此URL不支持Http方法GET 描述 请求行中接收的方法由源服务器知道,但目标资源不支持

这是我的cookie完全照着打的代码还报错然后看着报错提示我想的是我没有指定访问方式可能就默认是GET方式,于是我就重写了doGet()方法让它以POST方式访问,如图就可以了。网上查了好久千篇一律都对我的问题没有用,幸亏还是自己运气好试出来了。。。...

2020-11-23 08:43:29 5612 2

原创 org.apache.jasper.JasperException: 无法为JSP编译类:The import ‘Class‘ cannot be resolved

我的解决方法是创建一个myPackage的包,把Person类放入然后<%@ page import=“myPackage.Person” %>就行了,好像JSP就是只能导在包中的类。。。

2020-11-22 16:23:20 12813 4

原创 Tomcat下类加载器

tomcat容器中运行的java程序,使用系统类加载器是不能获取到资源的,必须使用WebappClassLoader。使用getResourceAsStream获取当前类的类加载器,也就是WebappClassLoader

2020-11-13 18:30:01 88

原创 关于base标签的小错误

不知道为什么一个/会导致错误<link type="text/css" rel="../../stylesheet" href="static/css/style.css" >正确:<base href="http://localhost:8080/book/"><link type="text/css" rel="stylesheet" href="static/css/style.css" >错误:<base href="http://local

2020-11-03 21:20:13 301

原创 数据结构作业--计算器(用中缀表达式实现表达式树)

Tree.h#ifndef TREE_H_INCLUDED#define TREE_H_INCLUDED#include <iostream>#include "stdlib.h"#include "stack"#include <vector>using namespace std;//定义节点结构typedef struct Node{ char data; struct Node *lchild; struc

2020-11-01 17:05:45 388

原创 为什么创建树需要二级指针,而创建链表只需要一级指针

typedef struct Node{ char data; struct Node *lchild; struct Node *rchild;}Node;void CreateTree(Node **T){ char ch ; cin >> ch ; *T = new Node; if(ch == '0') { *T = NULL; return; }

2020-11-01 10:18:15 403 1

原创 通过Channel及Buffer实现多线程读取文件

import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import java.util.concurrent.Callable;public class MyTask implements Callable<ByteBuffer> { //position用于表示线程从哪开始读取文件 private long position; private FileChannel inchannel;

2020-10-17 21:33:06 243

原创 day11【网络编程】

day11【网络编程】主要内容软件架构CS/BS网络通信三要素TCP通信Socket套接字ServerSocket教学目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传输程序 能够理解TCP协议下文件上传案例 能够理解TCP协议下案例2第一章 网络编程入门1.1软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。[外链图片转存失败,源站可能有防盗链机

2020-10-06 16:20:33 105

原创 day10【缓冲流、转换流、序列化流、打印流】

day10【缓冲流、转换流、序列化流】主要内容缓冲流转换流序列化流打印流教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能够使用缓冲流的特殊功能 能够阐述编码表的意义 能够使用转换流读取指定编码的文本文件 能够使用转换流写入指定编码的文本文件 能够说出打印流的特点 能够使用序列化流写出对象到文件 能够使用反序列化流读取文件到程序中第一章 缓冲流昨天学习了基本的一些流,作为IO流的入门,今天我们要见识

2020-10-06 16:20:22 72

java实现银行家算法(GUI界面)A+报告

java实现银行家算法(GUI界面)A+报告

2021-05-07

GitHub 上标星 115k+ 的 Java 教程.pdf

GitHub 上标星 115k+ 的 Java 教程.pdf

2020-12-28

空空如也

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

TA关注的人

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