一个关注IT技术分享,关注互联网的网站,爱分享网络资源,分享学到的知识,分享生活的乐趣。
文章目录1,JSP概述2,JSP小案例2.1搭建环境2.2导入JSP依赖2.3创建jsp页面2.4编写代码2.5测试3,JSP原理4,JSP总结4.1JSP的缺点4.2技术的发展历程4.3JSP的必要性最后说一句1,JSP概述JSP(全称:JavaServerPages):Java服务端页面。是一种动态的网页技术,其中既可以定义HTML、JS、CSS等静态内容,还可以定义Java代码的动态内容,也就是JSP=HTML+Java。那么,JSP能做什么呢?如下图所示,当我们登陆成功后,需要在页面上展示用户名上图的用户名是动态展示,也就是谁登陆就展示谁的用户名。而JSP是如何解决这个问题的呢?提供了一个lo
前言Arthas是一款线上监控诊断产品,通过全局视角实时查看应用load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。Arthas能做什么?当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个jar包加载的?为什么会报各种类相关的Exception?我改的代码为什么没有执行到?难道是我没commit?分支搞错了?遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实
最近学习到了Java的多线程部分,了解到了进程和线程的相关概念,下面我们来介绍一下进程和线程吧。目录一、进程二、线程三、进程VS线程一、进程进程是操作系统资源分配的最小单元。一个进程拥有的资源有⾃⼰的堆、栈、虚存空间(页表)、文件描述符等信息。从编程的角度来理解进程,可以把它看作是⼀个类或一个PCB(ProcessControlBlock)进程控制块的结构体。进程是操作系统对一个正在运行的程序的一种抽象,可以把进程看作程序运行的一次运行过程。程序VS进程:· 程序是在一个静态磁盘上的一个可执行文件。· 进程是将可执行文件加载到系统中。加载就是将信息放在内存中,分配一些资源,并且执行程序中所有指令。进程的本质:PCB(ProcessContr
文章目录一、二叉搜索树1.1概念1.2操作1.3代码实现二、二叉搜索树的应用K模型和KV模型三、二叉搜索树的性能分析四、AVL树4.1AVL树的概念4.2AVL树的实现原理4.3旋转4.4AVL树最终代码一、二叉搜索树1.1概念二叉搜索树(BinarySearchTree,BST)是一种特殊的二叉树,它可以是空树,也可以是满足以下性质的一颗二叉树:若左子树不为空,左子树中所有节点的键值都小于根节点的值。若右子树不为空,右子树中所有节点的键值都大于根节点的值。左右子树也分别为二叉搜索树。因此,二叉搜索树的中序遍历结果是一个有序序列。这个特性使得二叉搜索树在搜索、插入和删除操作时具有高效性能。?二叉搜索树的结构示意图1.2操作⭕
文章目录多线程补充定时器并发和并行线程的生命周期多线程补充定时器定时器介绍:定时器是一种控制任务延时调用,或者周期调用的技术。作用:闹钟、定时邮件发送。定时器实现方式:方式一:Timer方式二:ScheduledExecutorServiceTimer定时器构造器和方法如下:构造器说明publicTimer()创建Timer定时器对象publicstaticvoidmain(String[]args){//创建一个定时器任务Timertimer=newTimer();}方法说明schedule(TimerTasktask,longdelay,longperiod)开启一个定时器,按照计划处理Ti
目录一、SpingMVC的常用组件 二、SpringMVC的工作流程一、SpingMVC的常用组件1)DispatcherServlet是一种前端控制器,由框架提供。作用:统一处理请求和响应。除此之外还是整个流程控制的中心,由DispatcherServlet来调用其他组件,处理用户的请求2)HandlerMapping处理器映射器,由框架提供。作用:根据请求的url、method等信息来查找具体的Handler(一般来讲是Controller)3)Handler(一般来讲是Controller)处理器,注意,这个需由工程师自己开发。作用:在DispatcherServlet的控制下,Handler对具体的用户请求进行处理4)H
早点睡兄弟,别一天到晚就熬夜。文章目录一、通过list迭代器来感受类和对象以及类封装的思想1.迭代器的特征和本质是什么?(两大特征:类的内嵌类型,行为像指针。本质:内置类型定义的变量或自定义类型实例化的对象)2.迭代器的价值是什么?(封装、类、对象的思想&&C++语法的不可替代性:引用、运算符重载等)3.我们为什么要将list迭代器进行类封装?(原生指针无法满足要求,只能通过类封装和运算符重载让对象能够像指针一样使用)二、list的模拟实现1.迭代器对象作为参数的insert和erase的实现2.list的拷贝构造、赋值重载、析构函数三、const迭代器的实现1.const迭代器的错误实现(const修饰了迭代器本身而不是迭代器指向的内容)2.重新构建一个_
1、介绍Windows的Qt开发,一般采用VisualStudio安装Qt插件的方法开发Qt程序,毕竟VS开发工具还是比QtCreator开发工具强大、好用的多。本教程采用VS2019安装配置Qt插件(qt-vsaddin-msvc2019-2.6.0.vsix),默认已经安装了VS2019(已安装“MSVCV141-VS2017C++x64/x86生成…”选项)和Qt5.14(已安装“msvc201732-bit”和“msvc201764-bit”选项)。如果未安装则需安装VS2019和Qt5.14,安装VS2019和Qt5.14需要注意以下:安装VS2019,则需选择“MSVCV141-VS2017C++x64/x86生成…”选项,以支持VS2017的编译
目录入坑rc车的我又来写文啦ヾ(≧▽≦*)o首先,咱们搞清楚STL库是啥东西One.快速排序(Sort):1.Sort的基本用法:2.Sort进阶用法(CMP):3.Sort对结构体(或者类)的排序:Two.MapMap简介:定义:举个栗子:刷题时间! 题目:离散化基础输入格式输出格式输入/输出例子1题解:Three.stack(栈)栈的介绍:栈的定义:栈的成员函数:Four.二分查找美妙的函数:1.lower_bound函数2.upper_bound函数3.binary_search:查找数组内某个元素是否出现。再来一题! 题目:数组线段和M输入格式输出格式输入/输出例子1题解:Six.list(链表)常用操作函数:l
Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1