![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 94
近光
这个作者很懒,什么都没留下…
展开
-
Session、Token验证的区别以及CSRF攻击
Session是什么 session意为“会话”。我们都知道HTTP是无状态的协议,但有时我们需要保存状态来进行后面的操作,比如某个电商网站的购物车功能(在不登录的情况下,也就是不使用数据库),如果不使用session,那么每次添加物品到购物篮后都不会保存,结果就是刷新一下购物篮就会变成空的。所以我们需要这个session来保存一定的状态。当用户打开某个网页的时候,就发生了一次会话,也就是...原创 2018-06-06 20:26:22 · 7992 阅读 · 0 评论 -
Java中的锁——Synchronized锁的使用
基本情况类别SynchronizedLock存在层次Jvm,Synchronized是Java的关键字类锁的获取当一个线程获取到锁的时候,其他线程只能等待可以有多种情况,不一定要一直等待下去锁的释放由于在Jvm层面,使用完毕之后会自动的释放锁使用完锁之后必须手动的释放锁,一般放在finally里面锁的类型非公平锁可以是公平的,默认非公平...原创 2019-08-11 15:23:08 · 329 阅读 · 0 评论 -
阿里内推——图的深度搜索
如图,某物流派送员p,需要给a、b、c、d4个快递点派送包裹,请问派送员需要选择什么的路线,才能完成最短路程的派送。假设如图派送员的起点坐标(0,0),派送路线只能沿着图中的方格边行驶,每个小格都是正方形,且边长为1,如p到d的距离就是4。随机输入n个派送点坐标,求输出最短派送路线值(从起点开始完成n个点派送并回到起始点的距离)。 输入 4 2,2 2,8 ...原创 2018-07-25 20:41:40 · 1145 阅读 · 3 评论 -
Spring中AOP的相关配置
aop的相关配置如何使用aspect<aop:config> <!--这里的ref指向一个含有增强方法的类--> <aop:aspect id = "log" ref = "logging"> <!--定义一个切入点pointcut--> <aop:pointcut id ="原创 2018-07-29 22:12:12 · 235 阅读 · 0 评论 -
JAVA基础学习【JVM篇】——垃圾回收机制
Java中一个重要的概念就是引入了自动内存管理机制,不像C++那样需要开发人员手动的为对象分配内存和释放内存。而开发人员经常会忘记释放内存而造成内存泄露,而Java程序员虽然不必管这些,但是Java依然有可能发生内存泄露,如果我们对内存管理机制不理解的话,很难找出错误的所在Java的自动内存管理做什么为对象分配内存回收已经不再存活的对象的内存下面我们来看下具体是怎么做...原创 2018-06-10 10:36:05 · 344 阅读 · 0 评论 -
JAVA基础学习【JVM篇】——类加载器
虚拟机设计团队把加载阶段中的“通过一个类的全额限定名来获取此类的二进制字节流”放到虚拟机外部去实现,以便让程序自己去决定如何获取所需要的类。实现这个动作的代码模块被称为“类加载器” 一般来说,Java 虚拟机使用 Java 类的方式如下: 1. JAVA源程序被编译器编译之后形成字二进制节码文件(class文件) 2. 类加载器负责读取该二进制字节码...原创 2018-06-09 15:50:52 · 299 阅读 · 0 评论 -
JAVA基础学习【JVM篇】——类加载机制
JAVA虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行校验,转换解析和初始化,最终形成能被JVM直接使用的JAVA类型,这个过程就叫类的加载。 [TOC]类的生命周期 包括以下7个阶段加载验证准备解析初始化使用卸载前五个过程被称为类的加载过程,其中解析和初始化的顺序可能反过来,这是为了支持JAVA的动态绑定。这5个过程会按照顺序开始,...原创 2018-06-09 10:07:05 · 466 阅读 · 0 评论 -
JAVA基础学习【JVM篇】——运行时数据区域
Java程序的运行过程首先,编译器会将写好的源代码编译成字节码文件(也就是class文件),每个程序都需要运行在JVM上,JVM的字节码解释器对字节码文件加载运行。那么整个加载运行的过程又是如何开展的呢?内存区域划分大多数JVM将内存区域划分为程序计数器(Program Counter Register)、堆(Heap)、栈(VM Stack)、方法区(Method Area)、本...原创 2018-06-08 17:50:37 · 256 阅读 · 0 评论 -
SSM框架+shiro+redis的基础框架,有助于新手学习
基本框架基础的SSM框架,集成了shiro作为登陆验证和权限管理和swagger作为开接口文档,让后端程序员专注于业务的开发,同时shiro中集成了redis来做会话管理和权限管理,性能更优,便于分布式的开发 项目地址:ssm,如果对你有帮助,请点击一个star1、前后端分离思想其实前后端分离并不只是开发模式,而是web应用的一种架构模式,前后端之前使用HTTP或者其他协议进行交...原创 2018-06-08 10:41:59 · 2648 阅读 · 5 评论 -
Java线程——中断线程和interrupt()
线程进入阻塞的情况1.调用 Thread.sleep() 方法进入休眠状态;2. 通过 wait() 使线程挂起,直到线程得到 notify() 或 notifyAll() 消息(或者 java.util.concurrent 类库中等价的 signal() 或 signalAll() 消息;3. 等待某个 I/O 的完成;4.试图在某个对象上调用其同步控制方法,但是对象锁不可用,因为另...原创 2019-08-11 16:23:37 · 306 阅读 · 0 评论