
java
文章平均质量分 72
w7486
这个作者很懒,什么都没留下…
展开
-
Java四大引用(强、软、弱、虚)
目录强引用软引用弱引用虚引用强引用也是我们平时用得最多的,new一个对象就是强引用,例如 Object obj = new Object(); 当JVM的内存空间不足时,宁愿抛出OutOfMemoryError使得程序异常终止 也不愿意回收具有强引用的存活着 的对象!记住是存活着,不可能是你new一个对象就永远不会被GC回收。 如果将引用赋值为null时,你的对象就表明不是存活着,这样就会可以被 GC回收了当内存不足的时候,jvm开始垃圾回收,对于强引用的对象,就算.原创 2022-02-19 23:43:47 · 313 阅读 · 0 评论 -
shiro与Spring Boot整合(学习笔记)
什么是 Shiro官网:http://shiro.apache.org/是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。Shiro 就是用来解决安全管理的系统化框架。Shiro 核心组件1、UsernamePasswordToken,Shiro 用来封装用户登录信息,使用用户的登录信息来创建令牌 Token。2、SecurityManager,Sh原创 2021-07-05 08:53:59 · 138 阅读 · 0 评论 -
JWT(学习笔记)
1.什么是JWT全称:JSON WEB TOKEN2.JWT能做什么1.用于安全验证2.用于信息交换3.传统的session认证1.认证流程我们知道,http协议本身是一中无状态协议。而用户想要认证时 就会把用户信息存储在服务器的利用session上 这个session存放着用户信息以及sessionid,即使是这样我们也并不知道是哪个用户发起了请求。所以服务器就会将Jsessionid以cookie的方式存储在客户端(浏览器)。也就是说当用户第一次请求时会创建一个ses原创 2021-07-04 23:45:41 · 172 阅读 · 0 评论 -
微信支付(Native)
一.支付方式1.付款码支付 付款码支付是用户展示付款码,然后商家通过扫描用户的付款码来完成支付。2.Native支付Native支付是商户系统按微信支付协议生成支付二维码,用户再用微信"扫一扫"完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。 订单金额商家指定,用户扫描后不能更改支付金额。总结特点∶生成的二维码是微信的URL地址扫描二维码直接打开微信客户端完成支付3.JSAPI支付...原创 2021-09-09 23:50:11 · 4460 阅读 · 0 评论 -
位运算符(&,|,~,^,同或,>>,<<)
目录1.按位与(&)2.按位或(|)3.按位取反(~)4.异或(^)5.同或(~)6.左移(<<)7.右移(>>)什么是位运算符:位运算是直接对整型数据的二进制进行运算。1.按位与(&)将参加运算的两个数据,按二进制位进行"与"运算。两个都是一则为一举例: 3 & 53 => 0000 0000 0000 00115 => 0000 0000 0000 0101& 000...原创 2021-08-12 13:31:53 · 39609 阅读 · 26 评论 -
tcp/ip三次握手四次挥手
tcp/ip协议是传输层面向连接的安全协议。三次握手机制是为了建立一个可靠的安全连接,第一次握手是由客户端发起,客户端会向服务端发起一个报文,再报文里SYN=1;当服务端收到这个报文就知道了客户端想和我建立连接,就会给客户端发送一个确认消息包,在这个包里ACK=1,SYN=1,经过这两次握手服务端已经知道在自己既能给客户端发消息又能收到客户端的消息,但是他并不知道自己发的消息客户端能不能收到,所以显然两次握手是不够的;所以还要有第三次握手,第三次客户端会发送一个确认消息包ACK=1,通过这三次握手,客户原创 2021-07-18 21:47:49 · 193 阅读 · 4 评论 -
File类
1.创建文件//创建文件夹 File file1 = new File("d:\\test"); file1.mkdir(); //创建文本 File file2 = new File("d:\\test\\data.txt"); try { file2.createNewFile(); } catch (IOException e) { e.printSta原创 2021-07-11 13:02:07 · 148 阅读 · 0 评论 -
==与equals区别(还有对String的分析)
== 是运算符a ==b就是判断a与b的存储地址是否相同,若相同返回true 不同返回false执行: String a = "hello"; String b = "hello"; System.out.println(a == b);结果: true执行: String c1 = new String("hello"); String d1 = new String("hello"); ...原创 2021-07-06 22:31:59 · 127 阅读 · 0 评论 -
Java类中代码的执行顺序(学习笔记)
1.先执行动态代码块package com.ws;public class Test1 { public static void main(String[] args) { System.out.println("这是main方法"); } static { System.out.println("这是静态代码块"); }}2.静态成员变量public class Test1 { static {...原创 2021-07-06 19:40:45 · 486 阅读 · 0 评论