![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java技术栈
文章平均质量分 54
程序猿咕咚
这个作者很懒,什么都没留下…
展开
-
【无标题】
什么是跨域?1.什么是同源策略及其限制内容?同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略限制内容有:Cookie、LocalStorage、IndexedDB 等存储性内容DOM 节点AJAX 请求发送后,结果被浏览器拦截了但是有三个标签是允许跨域加载资源: <img src=XXX> <l原创 2022-02-28 22:48:25 · 110 阅读 · 0 评论 -
九种跨域方式实现原理
什么是跨域?1.什么是同源策略及其限制内容?同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。![][1]同源策略限制内容有:Cookie、LocalStorage、IndexedDB 等存储性内容DOM 节点AJAX 请求发送后,结果被浏览器拦截了但是有三个标签是允许跨域加载资源: <img src=XXX>原创 2022-02-28 22:44:51 · 141 阅读 · 0 评论 -
九种跨域方式实现原理
什么是跨域?--------### 1.什么是同源策略及其限制内容?同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。![][1]同源策略限制内容有:Cookie、LocalStorage、IndexedDB 等存储性内容DOM 节点AJAX 请求发送后,结果被浏览器拦截了但是有三个标签是允许跨域加载资源:```java ..原创 2022-02-28 22:43:38 · 119 阅读 · 0 评论 -
关于JVM类加载
Java类加载机制Java 引用类型主要分为四种:类、接口、数组类和泛型参数。由于泛型参数会在编译过程中被擦除,因此 Java 虚拟机实际上只有前三种。在类、接口和数组类中,数组类是由 Java 虚拟机直接生成的,其他两种则有对应的字节流。jvm的类加载机制:jvm把描述类的数据从class文件中加载到内存,并对数据进行校验,转换解析和初始化,最终形成被jvm使用的Java类型。java类加载会初始化的情况有且仅有以下五种:(也称为主动引用)遇到new(用new实例对象),getStatic(读取一原创 2022-02-20 22:14:18 · 335 阅读 · 0 评论 -
关于spring boot中的事务失效实际案例
类图如下:抽象基类有一共拥有4个方法,其中sync方法为抽象方法,对应主要的业务逻辑;execute方法为模板方法,确定了相关方法的执行流程,如图:现在在sync方法上,我们需要进行事务控制,因此都需要在子类中需要进行声明式事务的配置,配置完成后,使用@Resource注入的方式获取到相关的service服务,启动执行后,发现事务根本没有生效。解决方案:必须使用代理对象调用配置了事务的方法。在启动器上加入注解:@EnableAspectJAutoProxy(exposeProxy = true)原创 2022-02-20 22:12:48 · 316 阅读 · 0 评论 -
记一次Rabbitmq安装记录
安装环境: Alibaba Cloud Linux安装erlang命令: wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm 3.rpm--importhttps://packages.erlang-solutions.com/rpm/erlang_solutions.asc我第三步报错...原创 2022-01-23 18:47:29 · 1341 阅读 · 0 评论 -
什么是语法糖?
### 语法糖 其实就是指 java 编译器把 *.java 源码编译为 \*.class 字节码的过程中,**自动生成**和**转换**的一些代码,主要是为了减轻程序员的负担,算是 java 编译器给我们的一个额外福利。####默认构造函数。 java编译器帮我们加上的无参构造器,调用父类 Object 的无参构造方法#### 自动拆装箱 基本类型和其包装类型的相互转换过程,称为拆装箱 在JDK 5以后,它们的转换可以在编译期自动完成 Integer x =...原创 2022-01-15 23:52:54 · 1440 阅读 · 0 评论 -
finally中不应该return,有吞掉异常的风险
1、public class Demo3 { public static void main(String[] args) { int i = Demo3.test(); //最终结果为20 System.out.println(i); } public static int test() { int i; try { i = 10; //这里应该会抛出异常 i = i...原创 2022-01-13 22:35:38 · 147 阅读 · 0 评论 -
netty运行流程
1 处,创建 NioEventLoopGroup,同 Server 2 处,选择客户 Socket 实现类,NioSocketChannel 表示基于 NIO 的客户端实现,其它实现还有 3 处,添加 SocketChannel 的处理器,ChannelInitializer 处理器(仅执行一次),它的作用是待客户端 SocketChannel 建立连接后,执行 initChannel 以便添加更多的处理器 4 处,指定要连接的服务器和端口 5 处,Nett..原创 2022-01-10 19:19:31 · 266 阅读 · 0 评论 -
同步阻塞、同步非阻塞和异步阻塞、异步非阻塞之间的区别
同步与异步1.同步和异步关注的是消息通信机制,所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用的结果。比如netty框架中ChannelFuture的sync()方法就是客户端同步等待客户端与服务器端建立连接之后的结果。2.异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态、通知来通知调用者,或通过原创 2022-01-09 21:28:04 · 156 阅读 · 0 评论 -
Docker和虚拟机对比
运行架构运行架构.jpg在上图中,左侧为 VM,右侧为 CONTAINER。1.VM 和 CONTAINER 的最底层皆为基础设施服务器。2.VM 第二层「倒数」为虚拟化平台,而 CONTAINER 则是主机系统。3.VM 第三层运行虚拟系统,在虚拟系统中安装对应服务,最后运行应用。CONTAINER 第三层则是自身容器,在容器内运行对应服务,及相关的应用。4.容器一般会封装类库及应用,无需像虚拟机那样分别搭建。两则对比对比表格:CONTAINER VM启动速度原创 2022-01-09 21:26:04 · 250 阅读 · 0 评论 -
阿里云服务器docker安装初体验
安装社区版Docker(docker-ce)1.运行以下命令,添加docker-ce的dnf源。dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.运行以下命令,安装Alibaba Cloud Linux 3专用的dnf源兼容插件。dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus原创 2022-01-09 21:21:12 · 181 阅读 · 0 评论 -
Jedis连接时遇到的问题
使用Jedis在客户端连接轻量服务器时要进行以下步骤:1.修改配置文件注释掉bind,protected-mode为no2.查看远程服务器的防火墙状态并开启systemctl status firewalld开启防火墙systemctl start firewalld(关闭防火墙 systemctl stop firewalld)3.开放6379端口b并重启//查看防火墙状态firewall-cmd --state//开放6379端口firewall-cmd --permanent原创 2022-01-09 21:20:09 · 1423 阅读 · 0 评论 -
哨兵模式遇到的问题
1.哨兵模式在故障转移发生后,新的master产生,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变。以前的master只能现在只能当slave。2.Sentinel作用:1)Master状态检测2)如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave。3)Master-Slave切换后,master_redis.conf、slave_redis.co原创 2022-01-09 21:18:36 · 789 阅读 · 0 评论 -
Redis运行redis-sentinel命令中遇到的问题
/usr/local/bin 包含make、make install后生成的重要指令的信息,如redis-check-aof、redis-check-rdb、redis-sentinel、redis-benchmark、redis-cli、redis-server,如果不小心删掉该bin文件夹,有些命令就会无法运行,亲测redis-sentinel运行时报错没有权限,这里面的redis-check-aof、redis-check-rdb、redis-sentinel并非可执行文件,是一个和redis-s..原创 2022-01-09 21:16:59 · 1275 阅读 · 0 评论