- Interceptor拦截器+JWT令牌实现登陆验证
wy08success
Interceptorspringbootjava登陆验证
一、背景与过滤器的作用类似,不过拦截器是spring中的组件,只能拦截进入spring的请求;过滤器则可以拦截所有从前端页面发送来的请求。*拦截器和过滤器选一就可以实现登陆验证,过滤器的实现在以下这篇博客中,有需要可以自取:Filter过滤器+JWT令牌实现登陆验证-CSDN博客二、分析定义拦截器,实现HanderInterceptor接口,并重写其所有方法。注册拦截器三、实现1、目录结构:2、L
- 登录校验实现——Jwt、Filter/Interceptor
应起忆
javaspring
Jwt令牌生成引入依赖,JDK8之后的版本需要引入JAXBjavax.xml.bindjaxb-api2.3.1org.glassfish.jaxbjaxb-runtime2.3.1io.jsonwebtokenjjwt0.9.1写JwtUtilsimportio.jsonwebtoken.Claims;importio.jsonwebtoken.Jwts;importio.jsonwebtoke
- 登录校验,会话技术,Cookie,Session,JWT令牌,统一拦截技术,过滤器FIlter,拦截器Interceptor,全局异常处理器
暖阳爱学计算机
springbootspringbootwebjava
目录1登录校验2会话技术2.1会话技术介绍2.2Cookie2.2Session2.4令牌技术2.5JWT令牌2.5.1介绍2.5.2生成和校验2.5.3登录下发令牌3统一拦截技术3.1过滤器Filter3.1.1过滤器的使用步骤3.1.2代码实现3.1.3细节3.2拦截器Interceptor3.2.1拦截器的使用步骤3.2.2代码实现3.2.3细节4登录功能具体实现步骤5异常处理5.1异常的解
- Cookie & Session & JWT认证 & Filter & Interceptor
aDreamerOutOfTheSky
javaspringspringboot
文章目录前言一、Cookie和Session二、JWT1.三部分2.使用3.另外一种使用3.1引入依赖3.1定义工具类三、Filter过滤器3.1实现Filter接口,并且增加@WebFilter注解3.2启动类上增加注解3.3Filter过滤实现登陆校验3.4拦截器实现登陆校验总结前言本文介绍了Cookie,Session,JWT,过滤器,拦截器的相关知识一、Cookie和Session浏览器请
- Spring Boot中配置图片资源通常涉及到静态资源的管理
脚大江山稳
springboothive后端
在SpringBoot中配置图片资源通常涉及到静态资源的管理。SpringBoot默认支持静态资源的映射,你可以通过以下步骤来配置图片资源:配置需要拦截和放行的beanHttpInterceptorConfig配置拦截器HttpSampleInterceptor过滤器ReplaceStreamFilter封装Request数据进行多次读取RequestWrapper放置图片资源:将图片资源放在sr
- 简易版ts+axios封装
谷神神神
typescript
用到了VITE变量,可以参考VITE变量使用方式importaxios,{AxiosRequestConfig}from"axios";constinstance=axios.create({baseURL:import.meta.env.VITE_DEVSERVER,});//在header中添加本地存储的token//其他操作同理instance.interceptors.request.us
- Spring Interceptor
Draper
Spring中使用Interceptor拦截器与Servlet的listener比较相似,同样是监听请求,同样需要配置,一个是在web.xml中,Spring拦截器是在Spring配置文件中拦截未登录用户访问某些连接拦截日志信息拦截SQL注入执行顺序是preHandle->controller->postHandle->afterCompletionSpringInterceptor属于链式调用,
- spring-websocket基于stomp实现websocket
飘零未归人
前端javawebsocket网络协议网络
目录概述后端代码拦截器HandshakeInterceptor拦截器ChannelInterceptor拦截器消息转换器配置类消息处理广播模式用户模式自定义请求头用户信息ChannelInterceptor拦截器设置用户信息DefaultHandshakeHandler的继承类中设置用户对象前端代码概述WebSocket协议是一种相当低级的协议。它定义了如何将字节流转换为帧。帧可以包含文本或二进制
- springMVC拦截器 Day34 2018-12-24
Ernest_Chou
springMVC拦截器Interceptor拦截器可以用来拦截用户请求,进行相应处理,例如权限验证,判断用户是否已经登录。1.HandleInterceptor接口1、类要实现Spring的HandlerInterceptor接口2、类继承实现了HandlerInterceptor接口的类,例如已经提供的实现了HandlerInterceptor接口的抽象类HandlerInterceptorA
- 过滤器与拦截器的区别与应用
黄尚圈圈
javatomcatspringspringboot
在JavaWeb开发中,过滤器(Filter)和拦截器(Interceptor)是两种常见的用于处理请求和响应的组件,它们在功能上有一定的重叠,但在使用场景、实现方式和作用范围上存在显著的差异。本文将深入探讨过滤器与拦截器的区别,以及它们在实际项目中的应用。1.定义与概念过滤器(Filter)过滤器是Servlet规范中的一部分,它允许你对请求(Request)和响应(Response)进行预处理
- VUE Uncaught (in promise) Error: Network Error vue项目中net::ERR_CONNECTION_TIMED_OUT错误
一入程序无退路
vue.jsjavascript前端
前台修改axios\axios.interceptor.js,duration:300000000000,{Message({message:"请求超时,请检查本地或服务器网络情况!",type:"error",duration:300000,showClose:false,customClass:"el-message--error-custom",dangerouslyUseHTMLStrin
- okhttp 拦截器用过那些? 什么情况下用的?如何使用?
追梦的鱼儿
okhttp拦截器
目录OkHttp提供了两种类型的拦截器:应用拦截器(ApplicationInterceptor)作用使用1.添加公共请求头2.日志记录网络拦截器(NetworkInterceptor)作用使用1.处理缓存2.监控网络请求和响应OkHttp是一个强大的HTTP客户端,广泛用于Android开发中。拦截器(Interceptor)是OkHttp的一个核心功能,允许开发者在请求和响应的生命周期中插入自
- xxl-job升级到springboot3.0 导致页面打不开报错)问题
满满的伤疤
springboot定时任务
原因:springboot3.0因为移除了jsp导致xxl-job不能访问,解决方法如下1、修改PermissionInterceptor拦截器packagecom.xxl.job.admin.controller.interceptor;importcom.xxl.job.admin.controller.annotation.PermissionLimit;importcom.xxl.job.
- 大数据技术之Flume 企业开发案例——自定义 Interceptor(8)
大数据深度洞察
Flumeflume大数据
目录自定义Interceptor1)案例需求2)需求分析3)实现步骤创建一个Maven项目,并引入以下依赖。定义CustomInterceptor类并实现Interceptor接口。编辑flume配置文件分别在hadoop12,hadoop13,hadoop14上启动flume进程,注意先后顺序。在hadoop12使用netcat向localhost:44444发送字母和数字。观察hadoop13
- Spring MVC中HandlerInterceptor和Filter有什么区别?
用心去追梦
springmvcjava
在SpringMVC框架中,HandlerInterceptor(拦截器)和Filter都是用于拦截请求处理过程中的关键组件,但它们之间存在一些重要的区别。下面详细解释这两种机制的区别:Filter生命周期:Filter是由Servlet容器(如Tomcat)管理的,它在Web应用启动时被初始化,并在整个应用的生命周期内保持有效。作用范围:Filter可以拦截所有的HTTP请求,包括JSP、HTM
- 过滤器Filter和拦截器Interceptor
Hit Beats
我的笔记servlet
过滤器一、什么是过滤器过滤器(Filter)是JavaWeb的三大组件之一,它可以将对url资源的请求进行拦截,然后进行一些处理;使用了过滤器之后,要想访问web服务器上的资源,必须先经过滤器,过滤器处理完毕之后,才可以访问对应的资源。以这种方式,一般我们可以用来进行登录校验、敏感字符处理等操作。二、怎么使用过滤器第一步:定义一个过滤器的类,让他实现Filter接口,然后重写其中的所有方法销毁)/
- openfeign服务间调用,获取初始请求的真实IP
SheldonChang
javaopenfeign
步骤如下:在调用OpenFeign远程服务前,需要将HttpServletRequest对象注入到当前线程中,可以使用过滤器或拦截器来实现。以下是使用拦截器的示例代码:publicclassFeignInterceptorimplementsRequestInterceptor{@AutowiredprivateHttpServletRequestrequest;@Overridepublicvo
- Vue中怎么根据Token来进行跳转页面和axios请求拦截
上海老宅男
首先我们来说一下怎么拦截axios请求并添加head请求头首先我们找到main.js在main.js里面进行判断import{getToken}from'@/utils/auth'//封装的缓存文件axios.interceptors.request.use(config=>{lettoken=getToken();if(token){//判断是否存在token,如果存在的话,则每个httphea
- SpringMVC 的 拦截器
春哥的魔法书
SpringSpringBootSpringMVCInterceptor拦截器
SpringMVC提供了一套拦截器(Interceptor)机制,主要用于处理Web请求到达控制器之前或响应离开控制器之后执行一些操作。拦截器可以用于执行预处理(如验证用户身份)和后处理(如清理资源或修改响应)。拦截器可以用来执行一系列的任务,如身份验证、权限检查、请求/响应处理、日志记录等。1.Handler拦截器Handler拦截器是SpringMVC中最常见的拦截器类型。Handler拦截器
- servlet中的过滤器filter 和 SpringMVC中的拦截器interceptor 两者的异同
HPU-haolemei
JavaSpringMVCinterceptor拦截器SpringMVCservletinterceptorfilter
今天被这个问题困扰了将近一个小时:将在SpringMVC的核心配置文件中配置的“释放静态资源”(配置标签为:)的根本原因误以为是因为释放拦截器interceptor拦截的资源,经过不断地查资料和测试,也更深刻地理解两者的异同:两者之间的相似点:都可用于对处理器进行预处理和后处理;两者之间的不同点:1、使用范围:过滤器filter:是servlet中的三大组件之一,任何Javaweb工程都可以使用;
- servlet的过滤器filter和springmvc的拦截器Interceptor
后台技术汇
servlet
背景Servlet的过滤器(Filter)和SpringMVC的拦截器(Interceptor)都是用于在请求处理过程中对请求进行拦截和处理的组件。它们之间的主要区别在于它们的作用范围和使用方式。作用范围Filter:过滤器是基于Servlet规范的,它可以在整个Web应用程序中对所有请求进行拦截和处理。过滤器可以用于处理诸如身份验证、日志记录、数据压缩等通用任务。Interceptor:拦截器是
- SpringBoot项目中mybatis执行sql很慢的排查改造过程(Interceptor插件、fetchSize、隐式转换等)
星月昭铭
javamybatisSpringBootspringbootmybatissqljava
刚入职公司,就发现公司项目跑sql特别慢,差不多一万条数据插入到数据库要5秒以上(没有听错,就是这个速度),查询修改删除也是特别慢。直到22年年底实在是受不了了,我就去排查了一下。用的是Oracle数据库,mybatis、mybatisplus,其中mybatis是引入的平台的依赖。平台封装了一些工具和插件。做个对照试验首先为了做对照试验,自己新建了一个SpringBoot项目T,里面引入了官方的
- Spring Boot使用拦截器(Interceptor)
xiaobai_cpp
javaspringboot后端java
文章目录定义拦截器注册拦截器注意事项 在SpringBoot中,拦截器(Interceptor)是另一种用于在请求被处理之前和之后执行代码的机制。与ServletFilter相比,拦截器是SpringMVC框架的一部分,它提供了更细粒度的控制,特别是针对SpringMVC的Controller层。拦截器可以访问Spring的依赖注入(DI)功能,因此可以轻松地与Spring管理的bean进行交互
- Mybatis-plus实现分页查询
无名指的等待712
mybatis
importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;importcom.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerIntercept
- springboot+logback实现简单的日志追踪
sad555ssss
日志打印springbootlogbackservlet
1、首先需要生成sessionId放置到MDC变量中,代码如下importorg.slf4j.MDC;importorg.springframework.web.servlet.ModelAndView;importorg.springframework.web.servlet.handler.HandlerInterceptorAdapter;importjavax.servlet.http.H
- spring-aop-xml全自动
山间清泉1111
切面类packagecom.mu.aop_xml.jdk_proxy.service.impl;importorg.aopalliance.intercept.MethodInterceptor;importorg.aopalliance.intercept.MethodInvocation;/***半自动/全自动切面类*/publicclassMyAspect1implementsMethodI
- SpringBoot中使用拦截器
Annaday
SSMspringbootjava数据库
Interceptor拦截器概念Interceptor(拦截器)是一种面向对象编程(OOP)和软件开发中广泛使用的设计模式,特别是基于请求-响应的应用程序中,如Web应用、RestfulAPI等。主要用途:日志记录:在请求到达控制器之前或响应发送给客户端之后记录请求和响应的详细信息。权限检查:在请求被处理之前验证用户是否具有执行该操作的权限。事务管理:管理数据库事务的开始、提交或回滚,确保数据一致
- xposed方面的备忘录
牵手生活
Xposed摘要验证Xposed模块自身是否被启用Java反射机制、动态代理(过滤器Filter和拦截器Interceptor)xposedAPI文档xposedAPI文档:https://api.xposed.info/reference/packages.html鸿蒙harmonyos采用太极xposed插件AndroidStudio修改代码运行没变化没生效的问题->android11(Ins
- java后端修改日期格式
刹_那
java开发语言
有了他再也不用加@JsonFormat了第一步继承WebMvcConfigurationSupport类实现其中方法packagecom.sky.config;importcom.sky.interceptor.JwtTokenAdminInterceptor;importcom.sky.interceptor.JwtTokenUserInterceptor;importcom.sky.json.
- kafka Interceptors and Listeners
伊布拉西莫
kafka
InterceptorsProducerInterceptorhttps://www.cnblogs.com/huxi2b/p/7072447.htmlProducer拦截器(interceptor)是个相当新的功能,它和consumer端interceptor是在Kafka0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。对于producer而言,interceptor使得用户
- 关于旗正规则引擎规则中的上传和下载问题
何必如此
文件下载压缩jsp文件上传
文件的上传下载都是数据流的输入输出,大致流程都是一样的。
一、文件打包下载
1.文件写入压缩包
string mainPath="D:\upload\"; 下载路径
string tmpfileName=jar.zip; &n
- 【Spark九十九】Spark Streaming的batch interval时间内的数据流转源码分析
bit1129
Stream
以如下代码为例(SocketInputDStream):
Spark Streaming从Socket读取数据的代码是在SocketReceiver的receive方法中,撇开异常情况不谈(Receiver有重连机制,restart方法,默认情况下在Receiver挂了之后,间隔两秒钟重新建立Socket连接),读取到的数据通过调用store(textRead)方法进行存储。数据
- spark master web ui 端口8080被占用解决方法
daizj
8080端口占用sparkmaster web ui
spark master web ui 默认端口为8080,当系统有其它程序也在使用该接口时,启动master时也不会报错,spark自己会改用其它端口,自动端口号加1,但为了可以控制到指定的端口,我们可以自行设置,修改方法:
1、cd SPARK_HOME/sbin
2、vi start-master.sh
3、定位到下面部分
- oracle_执行计划_谓词信息和数据获取
周凡杨
oracle执行计划
oracle_执行计划_谓词信息和数据获取(上)
一:简要说明
在查看执行计划的信息中,经常会看到两个谓词filter和access,它们的区别是什么,理解了这两个词对我们解读Oracle的执行计划信息会有所帮助。
简单说,执行计划如果显示是access,就表示这个谓词条件的值将会影响数据的访问路径(表还是索引),而filter表示谓词条件的值并不会影响数据访问路径,只起到
- spring中datasource配置
g21121
dataSource
datasource配置有很多种,我介绍的一种是采用c3p0的,它的百科地址是:
http://baike.baidu.com/view/920062.htm
<!-- spring加载资源文件 -->
<bean name="propertiesConfig"
class="org.springframework.b
- web报表工具FineReport使用中遇到的常见报错及解决办法(三)
老A不折腾
finereportFAQ报表软件
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、repeated column width is largerthan paper width:
这个看这段话应该是很好理解的。比如做的模板页面宽度只能放
- mysql 用户管理
墙头上一根草
linuxmysqluser
1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,'jeecn’,password(‘jeecn’));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为:
- 关于使用Spring导致c3p0数据库死锁问题
aijuans
springSpring 入门Spring 实例Spring3Spring 教程
这个问题我实在是为整个 springsource 的员工蒙羞
如果大家使用 spring 控制事务,使用 Open Session In View 模式,
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.
- 百度词库联想
annan211
百度
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS</title&g
- int数据与byte之间的相互转换实现代码
百合不是茶
位移int转bytebyte转int基本数据类型的实现
在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来;
主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029
int转byte;
byte转int;
/**
* 字节转成int,int转成字节
* @author Administrator
*
- 简单模拟实现数据库连接池
bijian1013
javathreadjava多线程简单模拟实现数据库连接池
简单模拟实现数据库连接池
实例1:
package com.bijian.thread;
public class DB {
//private static final int MAX_COUNT = 10;
private static final DB instance = new DB();
private int count = 0;
private i
- 一种基于Weblogic容器的鉴权设计
bijian1013
javaweblogic
服务器对请求的鉴权可以在请求头中加Authorization之类的key,将用户名、密码保存到此key对应的value中,当然对于用户名、密码这种高机密的信息,应该对其进行加砂加密等,最简单的方法如下:
String vuser_id = "weblogic";
String vuse
- 【RPC框架Hessian二】Hessian 对象序列化和反序列化
bit1129
hessian
任何一个对象从一个JVM传输到另一个JVM,都要经过序列化为二进制数据(或者字符串等其他格式,比如JSON),然后在反序列化为Java对象,这最后都是通过二进制的数据在不同的JVM之间传输(一般是通过Socket和二进制的数据传输),本文定义一个比较符合工作中。
1. 定义三个POJO
Person类
package com.tom.hes
- 【Hadoop十四】Hadoop提供的脚本的功能
bit1129
hadoop
1. hadoop-daemon.sh
1.1 启动HDFS
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
通过这种逐步启动的方式,比start-all.sh方式少了一个SecondaryNameNode进程,这不影响Hadoop的使用,其实在 Hadoop2.0中,SecondaryNa
- 中国互联网走在“灰度”上
ronin47
管理 灰度
中国互联网走在“灰度”上(转)
文/孕峰
第一次听说灰度这个词,是任正非说新型管理者所需要的素质。第二次听说是来自马化腾。似乎其他人包括马云也用不同的语言说过类似的意思。
灰度这个词所包含的意义和视野是广远的。要理解这个词,可能同样要用“灰度”的心态。灰度的反面,是规规矩矩,清清楚楚,泾渭分明,严谨条理,是决不妥协,不转弯,认死理。黑白分明不是灰度,像彩虹那样
- java-51-输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
bylijinnan
java
public class PrintMatrixClockwisely {
/**
* Q51.输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
例如:如果输入如下矩阵:
1 2 3 4
5 6 7 8
9
- mongoDB 用户管理
开窍的石头
mongoDB用户管理
1:添加用户
第一次设置用户需要进入admin数据库下设置超级用户(use admin)
db.addUsr({user:'useName',pwd:'111111',roles:[readWrite,dbAdmin]});
第一个参数用户的名字
第二个参数
- [游戏与生活]玩暗黑破坏神3的一些问题
comsci
生活
暗黑破坏神3是有史以来最让人激动的游戏。。。。但是有几个问题需要我们注意
玩这个游戏的时间,每天不要超过一个小时,且每次玩游戏最好在白天
结束游戏之后,最好在太阳下面来晒一下身上的暗黑气息,让自己恢复人的生气
&nb
- java 二维数组如何存入数据库
cuiyadll
java
using System;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
namespace WindowsFormsApplication1
{
- 本地事务和全局事务Local Transaction and Global Transaction(JTA)
darrenzhu
javaspringlocalglobaltransaction
Configuring Spring and JTA without full Java EE
http://spring.io/blog/2011/08/15/configuring-spring-and-jta-without-full-java-ee/
Spring doc -Transaction Management
http://docs.spring.io/spri
- Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
dcj3sjt126com
linuxalias
用途说明
设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问 题,但对于带命令行参数的命令,链接就无能为力了。而指定别名则可以解决此类所有问题【1】。常用别名来简化ssh登录【见示例三】,使长命令变短,使常 用的长命令行变短,强制执行命令时询问等。
常用参数
格式:alias
格式:ali
- yii2 restful web服务[格式响应]
dcj3sjt126com
PHPyii2
响应格式
当处理一个 RESTful API 请求时, 一个应用程序通常需要如下步骤 来处理响应格式:
确定可能影响响应格式的各种因素, 例如媒介类型, 语言, 版本, 等等。 这个过程也被称为 content negotiation。
资源对象转换为数组, 如在 Resources 部分中所描述的。 通过 [[yii\rest\Serializer]]
- MongoDB索引调优(2)——[十]
eksliang
mongodbMongoDB索引优化
转载请出自出处:http://eksliang.iteye.com/blog/2178555 一、概述
上一篇文档中也说明了,MongoDB的索引几乎与关系型数据库的索引一模一样,优化关系型数据库的技巧通用适合MongoDB,所有这里只讲MongoDB需要注意的地方 二、索引内嵌文档
可以在嵌套文档的键上建立索引,方式与正常
- 当滑动到顶部和底部时,实现Item的分离效果的ListView
gundumw100
android
拉动ListView,Item之间的间距会变大,释放后恢复原样;
package cn.tangdada.tangbang.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import andr
- 程序员用HTML5制作的爱心树表白动画
ini
JavaScriptjqueryWebhtml5css
体验效果:http://keleyi.com/keleyi/phtml/html5/31.htmHTML代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" >
<ti
- 预装windows 8 系统GPT模式的ThinkPad T440改装64位 windows 7旗舰版
kakajw
ThinkPad预装改装windows 7windows 8
该教程具有普遍参考性,特别适用于联想的机器,其他品牌机器的处理过程也大同小异。
该教程是个人多次尝试和总结的结果,实用性强,推荐给需要的人!
缘由
小弟最近入手笔记本ThinkPad T440,但是特别不能习惯笔记本出厂预装的Windows 8系统,而且厂商自作聪明地预装了一堆没用的应用软件,消耗不少的系统资源(本本的内存为4G,系统启动完成时,物理内存占用比
- Nginx学习笔记
mcj8089
nginx
一、安装nginx 1、在nginx官方网站下载一个包,下载地址是:
http://nginx.org/download/nginx-1.4.2.tar.gz
2、WinSCP(ftp上传工
- mongodb 聚合查询每天论坛链接点击次数
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 18 */
{
"_id" : ObjectId("5596414cbe4d73a327e50274"),
"msgType" : "text",
"sendTime" : ISODate("2015-07-03T08:01:16.000Z"
- java术语(PO/POJO/VO/BO/DAO/DTO)
Luob.
DAOPOJODTOpoVO BO
PO(persistant object) 持久对象
在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.
VO(value object) 值对象
通
- 算法复杂度
Wuaner
Algorithm
Time Complexity & Big-O:
http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o
http://bigocheatsheet.com/
http://www.sitepoint.com/time-complexity-algorithms/