自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wuxioqian0634的博客

小谦的博客

  • 博客(15)
  • 收藏
  • 关注

转载 restful与rpc风格

什么是restful,简称rest?REST :Representational State Transfer,表现层状态转换;是以 资源 为中心,使用统一的接口URL,使用GET、POST、PUT、PATCH、DELETE等操作方法,来处理资源。restful风格的原则条件:C/S结构、无状态:Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。...

2020-01-16 22:12:07 533

转载 git 将本地项目关联到远程仓库

1.首先在项目目录下初始化本地仓库git init2.添加所有文件( . 表示所有)git add .3.提交所有文件到本地仓库git commit -m "备注信息"4.连接到远程仓库git remote add origin 你的远程仓库地址5.将项目推送到远程仓库git push -u origin master输入git pul...

2020-01-16 00:29:00 98

转载 如何在禁用cookie的情况下保持登录状态

保持登录状态” 其实就是服务端需要一些数据来识别发起当前请求的用户。比如在登录的时候,后端生成一个 session ID,然后设置到 cookie,后面的所有请求浏览器都会带上 cookie,然后服务端从 cookie 里获取 session ID,再查询到用户信息。所以,保持登录的关键不是 cookie,而是通过 cookie 保存和传输的 session ID,其本质是能获取用户信息的数据...

2020-01-16 00:26:35 1420

转载 JAVA中的CAS操作实现原理

以Unsafe类的compareAndSwapInt()方法为例来说,compareAndSwapInt就是借助C语言和汇编代码来实现的。

2020-01-16 00:25:23 151

转载 StringBuffer是可变的还是不可变的?

我们知道String类的修饰符是final,其char[] value也是由final修饰的,每次给String变量赋一个新值,都会创建一个新的String对象,很多有涉及到字符串本身的改变都是伴有(new String)的字样,所以我们说String类是不可变类。但StringBuffer类也是由final修饰的呀,为什么它就是可变类了呢?public final class StringB...

2020-01-16 00:23:12 1276

转载 HashMap

一、概要本文先会将hashmap的基本概念属性梳理一遍后,再从增删改查方法中每个步骤逐一解释说明。力求达到通熟易懂,逻辑清晰,便于加深印象。二、概念首先Hashmap的底层数据结构是由数组+链表组成的,是线程不安全,允许key和value为null。底层结构数组叫哈希桶,而桶内则是链表,链表中的节点Node存放着实际的元素。Hashmap中获取元素时的主要流程步骤为,首先对ke...

2020-01-16 00:17:37 152

转载 IO模型

BIO:同步阻塞IONIO:同步非阻塞IOAIO:异步非阻塞IO先弄清楚同步、异步,阻塞、非阻塞概念。io操作分为两部分,发起io请求,和io数据读写。阻塞、非阻塞主要是针对线程发起io请求后,是否立即返回来定义的,立即返回称为非阻塞io,否则称为阻塞io。同步、异步主要针对io数据读写来定义的,读写数据过程中不阻塞线程称为异步io,否则,称为同步io。BIO:线程发起io请求...

2020-01-16 00:07:52 152

转载 class.forname和classloader区别

Java中class是如何加载到JVM中的:1.class加载到JVM中有三个步骤 装载:(loading)找到class对应的字节码文件。 连接:(linking)将对应的字节码文件读入到JVM中。初始化:(initializing)对class做相应的初始化动作。2.Java中两种加载class到JVM中的方式 2.1:Class.forName(“cla...

2020-01-15 23:47:24 79

转载 Java动态代理的几种实现方式,分别说出相应的优缺点

jdk动态代理和cglib动态代理jdk动态代理是由java内部的反射机制来实现的,cglib动态代理底层则是借助asm来实现的。总的来说,反射机制在生成类的过程中比较高效,而asm在生成类之后的相关执行过程中比较高效(可以通过将asm生成的类进行缓存,这样解决asm生成类过程低效问题)。还有一点必须注意:jdk动态代理的应用前提,必须是目标类基于统一的接口。如果没有上述前提,jdk动态代...

2020-01-15 23:46:10 361

转载 jwt

1.跨域身份验证Internet服务无法与用户身份验证分开。一般过程如下。1.用户向服务器发送用户名和密码。2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。3.服务器向用户返回session_id,session信息都会写入到用户的Cookie。4.用户的每个后续请求都将通过在Cookie中取出session_id传给服务器。5.服务器收到sessi...

2020-01-15 23:40:22 66

转载 JVM内存结构--新生代及新生代里的两个Survivor区

一、为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出...

2020-01-15 23:09:04 611

原创 以JDBC为例谈双亲委派模型的破坏

java本身有一套资源管理服务JNDI,是放置在rt.jar中,由启动类加载器加载的。以对数据库管理JDBC为例,java给数据库操作提供了一个Driver接口:public interface Driver { Connection connect(String url, java.util.Properties info) throws SQLExcep...

2020-01-15 22:52:25 568

原创 ThreadLoacl

Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。1. 采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。2. ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值为对应线程的变量副本。3. 主要用于将私有线程...

2020-01-15 22:37:38 162

原创 Spring AOP概念Aspect、Advice、JoinPoint、JoinCut与Execution

1.什么是 AOP 面向切面编程2.Aspect(切面)aspect 由 pointcount 和 advice 组成,Spring AOP就是负责实施切面的框架, 它将切面所定义的横切逻辑织入到切面所指定的连接点中AOP的工作重心在于如何将增强织入目标对象的连接点上, 这里包含两个工作:如何通过 pointcut 和 advice 定位到特定的 joinp...

2020-01-15 10:53:38 930

原创 什么是线程安全

1.线程安全问题死锁和脏数据就是典型的线程安全问题。简单来说,线程安全就是:在多线程环境中,能永远保证程序的正确性只有存在共享数据时才需要考虑线程安全问题其中,方法区和堆就是主要的线程共享区域。那么就是说共享对象只可能是类的属性域或静态域2.什么才是线程安全线程安全的代码是多个线程同时执行也能工作的代码 如果一段代码可以保证多个线程访问的时候正确操作共享数据,那么...

2020-01-15 10:37:15 92

空空如也

空空如也

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

TA关注的人

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