java
java
@_未命名
从事java web 开发。
知道的越多,不知道的就越多。
展开
-
java 的代理模式
代理模式代理proxy是一种设计模式,提供对目标对象的另外的访问模式。好处是可以扩展目标对象的功能。在实际开发中,可以不修改别人已经写好的代码,通过代理的方式来扩展功能。生活中的例子:我们们要邀请明星,并不是直接联系明星,而是通过经纪人。关键点是代理对象对目标对象的扩展,并且会调用目标对象1.静态代理静态代理需要定义接口或者父类,被代理的对象和代理对象要实现相中的接口或者继承相同的父类/***接口*/public interface IUserDao{ public void wor原创 2021-10-14 15:26:23 · 117 阅读 · 0 评论 -
java 线程安全问题
JVM启动之后,操作系统会为JVM进程分配一定的内存空间,这部分内存空间就称为“主内存”。Java程序的所有工作都由线程来完成,而每个线程都会有一小块内存,称为“工作内存”, Java中的线程在执行的过程中,会先将数据从主内存中复制到线程的工作内存,然后再执行计算,执行计算之后,再把计算结果刷新到“主内存”中。假如有两个线程,主内存有变量A=0线程T1从主内存中获取变量A到工作内存后A++;线程T2从主内存中获取变量A到工作内存后A++;线程T1和T2 都进行++运算,两个线程的工作内存中的变量值原创 2021-09-16 16:57:33 · 141 阅读 · 0 评论 -
Spring 配置文件
Bean 标签的范围配置singleton:默认值,单例的prototype:多例的request:WEB项目中,Spring船舰一个Bean的对象,将对象存入到request域中session:WEB项目中,Spring船舰一个Bean的对象,将对象存入到session域中global session:WEB项目中,应用在Portlet环境,如果没有Portlet环境那么globalSession相当于session当scope的取值为singleton时:Bean的实例化个数:1实例化时原创 2021-06-20 17:45:43 · 170 阅读 · 0 评论 -
spring security分布式认证流程
网关负责转发请求到各个微服务,转发之前要校验客户端传的令牌是否合法,其次校验客户端是否有权限访问网关下的微服务。转发token到微服务,微服务验证是否有访问资源的权限原创 2021-05-20 23:03:00 · 144 阅读 · 0 评论 -
java中的装饰设计模式
装饰设计模式也成为包装模式,属于结构性设计模式。该模式也是继承关系的替代方法之一,对比继承的优点是装饰模式的低耦合性,被装饰类的变化与装饰类无关。装饰设计模式,就是动态的给对象添加一些额外的功能。比如一个毛坯房,可以装修成不同的风格以达到不同的功能,如中式、欧式等。步骤:获取被装饰类的引用在构造方法中传入被装饰类的对象对原有的功能进行升级public class Demo { public static void main(String[] args){ SuperStudent su原创 2021-02-19 17:04:11 · 185 阅读 · 0 评论 -
java中泛型的简单理解
面向对象的一个重要目标是对代码重用的支持。支持这个目标的一个重要的机制就是泛型机制。–《数据结构与算法分析Java语言描述》Java 5提供了对泛型方法和泛型类的支持。之前使用继承的基本原则来实现。使用Object超类表示泛型public class Memory{ private Object storedValue; public Object read(){ return storedValue; } public void write(Object o){ storedVa.原创 2021-01-28 23:00:18 · 128 阅读 · 0 评论 -
什么是OAuth2.0
OAuth是一个开放标准,允许用户授权第三方访问他们储存在另外的服务提供者上的信息,而不需要用户将用户名和密码提供给第三方应用或者分享他们数据的内容。例子:网站的微信授权登录用户授权之后得到授权码,拿到授权码之后到微信认证服务申请令牌,然后携带令牌从微信的用户信息服务中获取用户信息。服务提供商不会允许随便一个客户端就能介入到它的授权服务器,服务提供商会给准入方一个身份,用户接入时的凭据:client_id 客户端标识、client_secret 客户端密钥对接过微信服务接口或是小程序提供的服务接口原创 2021-01-25 00:05:27 · 236 阅读 · 1 评论 -
Java 递归的简单解释
当一个函数用它自己来定义的时候就称为是递归的。–《数据结构与算法分析java语言描述》例如:我们可以在非负整数集上定义一个函数f,满足f(0)=0且f(x)=2f(x-1)+x*x。可以得到f(1)=1,f(2)=6,f(3)=21。public int f(int x){ if(x == 0){ return 0; }else{ return 2 * f(x-1) + x * x; }}基本法则1.基准情况:必须要有某些基准的情形,不用递归就能求解。2.不断推进:对于那些要递归原创 2021-01-16 22:25:20 · 125 阅读 · 0 评论 -
Spring Security的结构
Spring Security解决的问题是安全访问控制。安全访问控制就是对所有进入系统的请求进行拦截,校验每个请求是否合法,是否访问到它所需要的资源。之前我们可以用Filter和AOP等实现功能。而Spring Security对web资源的保护也是靠Filter过滤器实现的当Spring Security初始化会创建SpringSecurityFilterChain的Servlet过滤器,实现了servlet的Filter因此外部的请求会经过此类采用Filter链,校验用户身份和校验用户权限。.原创 2021-01-14 15:10:43 · 186 阅读 · 1 评论 -
spring Security 创建工程
构建maven工程,在springMvc 、servlet 3.0 基础上引入spring Security 依赖<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>5.0.1.RELEASE</version> </de原创 2020-12-07 23:41:33 · 93 阅读 · 0 评论 -
servlet 3.0 新特性
注解的支持:servlet、Filter、Listener无需再web.xml进行配置,可以再Java类中通过对应的注解进行配置Servler 异步处理文件上传API简化: (Part part = request.getPart())1.@webServlet:修饰Servle类,用于部署该类//xml 配置文件<web-app> <servlet> <servlet-name>helloworld</servlet-name> &l.原创 2020-12-03 23:38:26 · 84 阅读 · 0 评论