Wesley13 Wesley13
4年前
java并发处理 (同步与原子性)
3、线程同步与原子性线程安全:每一个线程只做自己的工作固然好,但是线程之间经常会相互影响(竞争或者合作),多个线程需要同时操作同一个资源(比如一个对象)是常有的事。这个时候,线程安全问题就出现了。举一个《thinkinginjava》第四版中的例子。有一个EvenGenerator类,它的next()方法用来生成偶数。如下:public
Stella981 Stella981
4年前
Spring Boot 整合 JWT
1、JWT是什么?JWT是一个开放标准,它定义了一种用于简洁,自包含的用于通信双方之间以JSON对象的形式安全传递信息的方法。JWT可以使用HMAC算法或者是RSA的公钥密钥对进行签名。简单来说,就是通过一定规范来生成token,然后可以通过解密算法逆向解密token,这样就可以获取用户信息。优点:1)生产的t
Stella981 Stella981
4年前
Spring Bean 生命周期回调
Spring生命周期回调说明如果只是简单的对象初始化,我们可以将其放到构造器中处理;如果是对注入的类或者帮助类做一些初始化处理,可以考虑使用初始化方法。Spring提供了很多的扩展点,其中就有生命周期回调,我们可以在bean初始化之前做一些处理,在bean销毁之前做一些处理。早期Spring生命周期扩展方式Initializ
Wesley13 Wesley13
4年前
CSS中的滤镜
设计网页时合理的为页面应用滤镜,可以起到非同凡响的效果。CSS滤镜分为基本滤镜和高级滤镜,基本滤镜又称为视觉滤镜,只要将其应用于对象上,便可以立即产生视觉特效,但其效果远不及高级滤镜。css的滤镜标示符是filter,在创建滤镜时首先要对filter进行定义,使用方法同其他css语法。一、Alpha滤镜:对图像,文字设置透明效果1、语法.
Wesley13 Wesley13
4年前
C++多态性总结
一,C多态性概述多态是指同样的消息被不同类型的对象接受时导致不同的行为。所谓消息是指对类的成员函数的调用,不同的行为是指不同的实现,也就调用不同的函数。换言之,多态指的就是用同样的接口访问功能不同的函数,从而实现“一个接口,多种方法”。二,多态性分类!在这里插入图片描述(https://osc
Wesley13 Wesley13
4年前
Java 设计模式
前言23种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。创建型模式创建型模式的作用就是创建对象,说到创建一个对象,最熟悉的就是new一个对象,然后set相关属性。但是,在很多场景下,我们需要给客户端提供更加友好的创建对象的方式,尤其是那种我们定义了类,但是需要提供给其他开发者用的时
Wesley13 Wesley13
4年前
Java构造器就是这么简单!
前言理解构造器之前,首先我们需要了解Java中为什么要引入构造器,以及构造器的作用。在很久之前,程序员们编写C程序总会忘记初始化变量(这真的是一件琐碎但必须的事),C引入了构造器(constructor)的概念,这是一个在创建对象时被自动调用的特殊方法。Java也采用了构造器。一、构造器的引入引入构造器帮助我们解决了哪
Stella981 Stella981
4年前
JVM系列(二) — Java垃圾收集介绍
这篇文章主要从以下几个方面介绍垃圾收集的相关知识  一、判断对象是否已死  二、主流垃圾收集算法  三、内存分配与回收策略  本章节主要从以下几个思考点着手介绍垃圾回收的相关知识:哪些内存需要回收?什么时候回收?如何回收?这也是经典的学习一个知识点的3h方法:what?when?how?上一个章节已经介绍jvm运行时数据区的内存分布,
Stella981 Stella981
4年前
JVM垃圾回收算法
一、如何判断对象时候需要回收1.引用计数法        给对象添加一个引用计数器,每当有一个地方引用它,计数器加1;引用失效时,计数器减1。计数器为0的对象就表示不可用。      优点:效率高,实现简单。      缺点:对象间如果存在循环引用的情况,就会导致计数器不可能为0,计数器无法通知GC进行回收。2.可达性分析算法
Stella981 Stella981
4年前
Map、Set、List集合差别及联系详解
前言:数组Array和集合的区别:1、数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)2、JAVA集合可以存储和操作数目不固定的一组数据。3、若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。 注:使用相应的toArray()和Arrays.asList()方法